くだらねえ質問はここに書き込め! Part 238
■ このスレッドは過去ログ倉庫に格納されています
まずは2ch-Linux-Beginnersを読みましょう。
いろいろとまとめられているので(・∀・)イイ!!
http://www12.atwiki.jp/linux2ch/
読んでも解決しなかったら、質問を書きこむ前にここを読もう。
http://www12.atwiki.jp/linux2ch/?About
質問に対して答えてもらったら、お礼よりも、結果報告。
過去ログ検索
Google検索
https://www.google.com/search?hl=ja&as_q=検索語句&as_sitesearch=2ch.net%2Ftest%2Fread.cgi%2Flinux%2Fhttps://www.google.com/search?hl=ja&as_q=検索語句&as_sitesearch=5ch.net%2Ftest%2Fread.cgi%2Flinux%2F
※前スレ
くだらねえ質問はここに書き込め! Part 237
http://mao.5ch.net/test/read.cgi/linux/1563027196/ シェルスクリプトのforループなどで、
ループindexが0のときだけ1を得て、
それ以外の場合は、全て2を得る方法ってあるでしょうか。
for((i=1 ; i<100;i++)) ; do ここでループインデックスに応じて上記のように、1か2を得たい。 ; done
最初、シンプルにi/i +1 で、目的は達成できると思いきや、
0除算エラーに見舞われて、手をこまねいています。
別途、関数を作って引数を判断して目的の値を得るしかないでしょうか。 tigervncでログインするとrootユーザーだとサウンド設定の音源ボードが存在するのに
一般ユーザーだとダミーの出力になってしまいます。
一般ユーザーでも音源使えるようにする方法どこかに書いてありませんか? >>326
こういうこと?
expr 2 - \( i = 0 \) え?あ?何やってるんだろう? 放置してたが、さらに斜め上のw
どうして、ゼロ除算するような発想が生まれて、さらにこういうレスがつくんだろw
> ループindexが0のときだけ1を得て、
> for((i=1 ; i<100;i++)) ;
それループインデックスの最初は1だからw
ゼロ除算するってことだから i は 0から始まるのが正しいんだろうとして
> ループindexが0のときだけ1を得て、
> それ以外の場合は、全て2
と自分が書いてるとおり書けばいいんだよ
for((i=0 ; i<100;i++)) ; do echo $((i == 0 ? 1 : 2)); done
計算せずになんでも文字列処理してしまうやつがいるが、
時には計算しないほうがいい ちなみに>>328はexprをループの数だけ呼び出すから遅くなる。 >>327
Linuxで音鳴らすとか興味ないからやったこと無いけど
(デスクトップインストールすると勝手に鳴るが)
ユーザー権限の話なら、いつものグループに追加するとかじゃね? >>329
計算でやろうとするのは止めて、
素直に文字列処理することにしました。
$((i == 0 ? 1 : 2))
は、ワンライナーで書けて、気に入っています。
どうも、ありがとうございました。
>>328
expr という評価の方法もあるのですね。
初めて知りました。
ありがとうございます。 >>332
> $((i == 0 ? 1 : 2))
これは文字列処理じゃないぞw
三項演算子という、足し算掛け算などの演算子の一種だ >>245
亀レスで申し訳無いです。
実際にやってみました、他ドメインに配送するサーバのipアドレスのみspfに記載しました。
特に問題は起きていないのでこれでokです、ありがとうございました。 >>331
ビンゴでした。
ユーザーをaudioグループに追加したら鳴るようになりました。
ありがとう。 >>333
>計算せずになんでも文字列処理してしまうやつがいるが、時には計算しないほうがいい
文字列処理、
計算、
三項演算子、
計算というのは、i/i+1みたいなやり方で、
ここでは、三項演算子という方法で目的の数を得ているわけですね。
文字列処理は、カット、ペーストかな。 まじでくだらない質問で恐縮です
gnome-shellにおいてClient-side decorationsに対応していないアプリを起動した時、ウインドウデコレーションは何を使ってるんでしょうか? すまんが、CSVファイルをくっつけたいんだけどさあ
最終行に改行をくっつけて統合とか、簡単にやる技あったら教えてくれんかな? catでくっつけると、最終行に改行をいれる方法がわからんべ・・・どうすればよかんべえな? $ cat csv1 <(echo) csv2 > csvnew >>338
for f in *.csv; do printf '%s\n' "$(cat "$f")"; done
"$(cat FILE)" で各ファイル末尾の1個以上の連続改行を捨てて
printf で改めて改行を付ける メモリーの中見るのにいいソフトないですか?
メモリーが完全にクリアされたか
メモリーがどのソフトが使ってどんなデータが入ってるか
見れるソフトないですか?
てか、セキリティ上メモリーを検査するソフトってあるの?
まあ、超有名でユーザー多いソフトでお願いたします。 >>347
いや、やりたいのはソフトが使ってるメモリーの内容を確認しようとしてるのだが、出来ますか?
ついでに、このソフトが「メモリーの内容をこのソフト以外使ってない」とか
メモリーが外部に漏れてないとか確認できる方法ってありますか?
あと、このソフト閉じたらメモリーがちゃんとクリアされてるか確認したいですね
とくに、ソフトはどれと決まってません。
まあ、めもちょうけいのソフトとかで実験出来れば。 >>348
そんなツールは知らんが事態はあなたの思っているよりも複雑だよ。
まずプログラムの使っているメモリというものは、
カーネルの都合で物理メモリ上(memory compaction)やswap領域上(paging)を動き回る。
これを防ぐには/proc/sys/vm/compact_unevictable_allowedを0に設定したカーネル上で、
かつ、プログラム側が高セキュリティを要求するメモリ領域に対して
明示的にmlockシステムコールを呼ぶ必要がある。
> ソフト閉じたらメモリーがちゃんとクリアされてるか
通常は物理メモリの内容は放置で、他の用途に物理メモリが
割り当てられる段階になって初めてクリアされる。
カーネルでメモリが解放された瞬間にクリアする必要があるなら
CONFIG_PAGE_POISONINGを有効にしてコンパイルしたカーネルが必要。
つまりカーネルとアプリケーション両方が対応している必要がある。 >>348
一言で言うなら、どれもできません。
OSを改造するぐらいの力があれば
できるかもしれません。 >>345
横スレですが、いわれてみればこれってcatと同じなんだ
すごい勉強になった >>346
coreダンプ?
詳しい事は知らない。 >>348
セキュリティ意識低いなぁw
意味がないことをやって、やった気になりたいだけでしょ?
意味がないから、セキュリティ意識低いよ。 >>349-353
そんな難しいのですか?
Windowsでいうと「ねこまんま」っていうソフト使ってゲーム中のメモリー見るみたいに
簡単に出来ないのですか?
Linuxで↑のようなことやることは出来ますか?
>>349-350
プログラム指定してメモリーの中見るのはデキるのですか?
gdbってのでやるのですか?
>>352
Coreダンプではないと思います。
OSのバグ取りとかでもないです。
>>353
意味あるでしょ?
普通にパスワードとかメモリーに入っててそれを他のソフトで読み取られたら嫌じゃん。 嫌じゃんと言われてもね。
他のプロセスのメモリは読み取れるように作られてるし
仮に読み取れなかったとしたら、実行ファイルにパッチ当てるだけだし >>354
> プログラム指定してメモリーの中見るのはデキるのですか?
> gdbってのでやるのですか?
物理メモリが絡むセキュリティはおいておいて、
プロセスのメモリの中身を見たいだけならgdbでできる。
--pidでattachして
examineコマンドとか:x/64b 0x論理アドレス
findコマンドとか:find 開始アドレス,終了アドレス,"探索文字列"
あるいは/proc/(pid)/memをファイルを直接読み書きするのでも見られる。
/proc/(pid)/mapsファイルをみて適切なアドレスにlseek64する必要があるからバイナリエディタじゃ開けないけど。
重ねて言うがこれでプロセスに現在割り当てられている範囲に残っていないことが確認できたとしても
物理メモリやswap領域のどこかに残ってないことの保証にはならないからね >>356
忘れてた。UbuntuだとYamaパッチが入っていて
デフォルトだと子プロセスしかgdbでattachできなくなってるから
/proc/sys/kernel/yama/ptrace_scope を0にしておく必要がある。 >>354
/dev/mem をhexdump で見れますよ
見たところでわからないと思うけど >>355-358
なんかすごい難しそうだなあ
物理メモリとプロセスのメモリって違うのかあ
結局は、メモリーの中見てどのプロセスがどの情報を保有してるか
知り尽くすのは不可能に近いってことですよね?
答えてくださってる方は相当知識ありそうなのに、
それでも難しいと言ってるのだから・・・
結局は、これで物理メモリーもプロセスのメモリーもまっさらに出来るのですか?
$ echo 3 > sudo /proc/sys/vm/drop_caches ラズパイにラズパイ用にのcentos7のイメージ入れて、起動して、現在、sshにてyum updateを実行しようとしているのですが
mirrar listが何やら無効な様子・・・。情弱の私はググっても未だmirrar listの設定方法がよくわからないので
今有効なcentos7のmirrar listの設定を、テキストで書き込んでくれるとすごくうれしいのですが・・・ ちなみに、このように表示されています
https://ftp.riken.jp/Linux/centos/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
Trying other mirror.
To address this issue please refer to the below knowledge base article
https://access.redhat.com/articles/1320623
If above article doesn't help to resolve this issue please create a bug on https://bugs.centos.org/
One of the configured repositories failed (CentOS-7 - Addons),
and yum doesn't have enough cached data to continue. At this point the only
safe thing yum can do is fail. There are a few ways to work "fix" this:
(略)
failure: repodata/repomd.xml from addons: [Errno 256] No more mirrors to try.
https://ftp.riken.jp/Linux/centos/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found >>359
え
メモリまっさらにしたんなら
再ログインすればイイだけじゃん
超簡単 プロセスのメモリを見るには他の人も書いてるけどgdbでアタッチして、xコマンドでアドレスを指定すれば見られる。
問題は意味のある変数がどのアドレスに格納されているか。
毎回同じように実行されるようなプログラムだったら該当箇所にブレイクポイントを仕掛けて
変数のアドレスを覚えておけばいい。
どこだかわからないのであれば、/proc/<pid>をさぐって、ヒープやスタックが格納
されている領域を見つけてしらみつぶしに探すしかないと思う。
echo 3 > sudo /proc/sys/vm/drop_caches
これはメモリキャッシュを捨てるってだけの話で、メモリをクリアーするわけではない。
そもそも、使ってないメモリ領域を消すのにもCPUやメモリが働かないといけないので無駄で
メモリクリアーされることを期待しちゃだめ。
しっかり消したいなら、そういうプログラムを書くか電源を落とすか。 >>354
>Windowsでいうと「ねこまんま」っていうソフト使ってゲーム中のメモリー見る
winで出来るならLinuxでも出来るんだろうが、要高技術力でかなりの高脳でないと駄目だろう
このスレ連中では無理だろう >>352
再ログインじゃダメだよ。再起動も怪しい。
電源を一旦切るしか無い。 だから結局
> メモリーの中を見るって、まさか全容量見ていくの?
これなんだよ >>364-367
>>364
これは無理ですわ
予想を超えるハイパー難易度だわ
echo 3 > sudo /proc/sys/vm/drop_caches
でも消えないとは知らなかった。
なんかメモリー消すプログラムってLinuxでないんですかねえ?
消すとOSが使ってるメモリーの部分まで消えてぐちゃぐちゃになりそうなんで
普通にソフトとしてないんですかねえ?
>>365
Winのねこまんまは例えですよ
素人なんでよくわからないのですが、
ねこまんま = gdbとバイナリーエディターみたいなもんなんじゃないのかなあ
ねこまんま
https://www.vector.co.jp/soft/win95/hardware/se254476.html
ねこまんまによるゲーム改造
http://cheater.seesaa.net/article/233298107.html
>>366-367
再起動でも消えてないかもなのかw
怖すぎでしょ
まあ、やはり俺レベルじゃメモリーの中全部見れないし無理ですよね プロセス終了したらその部分のメモリはkernelに返って回収されるし、リングプロテクションで守られるし、メモリを消す意味がわからない。 単に「意味のない話でネタ投下だろ」
くだらないw・・・・って、今気がついた、スレ名が「くだらない質問」だった。
メモリーを消すなどというくだらない、つまらない、意味のない質問は、スレ的には正しいw apt search hogeをした時
一番最初のフィールドの「i」と「p」と「v」と
二番目のフィールドにたまに出てくる「A」は
なんの意味ですか? >>368
> なんかメモリー消すプログラムってLinuxでないんですかねえ?
Cでsysinfo();のfreeram分のメモリをmallocしてゼロ埋めするのを書いたらどうだろう >>372
man aptitude の COMMAND-LINE ACTIONS の search の項目を参照 次の結果の最後の行にある、215kB/sを、MB単位で、0.215MB/sのように出力するオプションってあるでしょうか。
# dd if=/dev/sda bs=10000 count=1 > /dev/shm/test
1+0 records in
1+0 records out
10000 bytes (10 kB, 9.8 KiB) copied, 0.0465801 s, 215 kB/s
もしなければ、結果を文字列処理して、MB/sの場合と、kB/sの場合とで、
それぞれバイト単位になるように計算しなければならないので面倒くさいなあと。 >>376
素直に自分でやるのはめんどくさいから
僕の代わりにオプションを調べて、
もし、あるならオプションを教えて、
ないなら、これやるのを作ってくださいとと書けばいいのに >>377
man ddには見つけられませんでした。
裏技ってあるのかなあと。 >>378
bsに倍数接尾子を付ければいいのでは
1000ならbs=10kB、1024ならbs=10Kで >>375
372です。疑問が解決しました
ありがとうございました >>379
ありがとうございます。
でも、ダメでした。
# dd if=/dev/sda bs=1k count=1 > tes
1+0 records in
1+0 records out
1024 bytes (1.0 kB, 1.0 KiB) copied, 0.000223181 s, 4.6 MB/s
kで指定したのに、Mで結果が帰ってきている。
結局、k Mそれぞれの場合を判別して、
いったんバイトに変換してから、M表記に変換するようなファンクションで対応することにしました。 GNU ld 2.31.1 は libhoge.so.1 があっても -lhoge が見つかりませんと言いやがる
無理やりシンボリックリンク libhoge.so を作ると見つけられる ddってかなり浮いてるけど=を使うコマンドって他にもあるのか
コマンドの構文くらい統一すりゃいいのに find「なんか言ったか?」
ps「なんか言ったか?」 Win10とデュアルブートしているレガシーBIOSのディスクをUEFIに変換するなら、
どんな方法が一番簡単でしょうか?
いったんLinuxを削除してMBR2GPTで変換してからLinuxを再インストールでしょうか? Arduino 互換 ESP32 Doit dev boardをLinux mintで使おうと思っているのですが
ttyACMが3日色々頑張っても出てきません
Arduino UNO互換機はttyUSB0が出てくるのですがESP32はUARTドライバ入れて出てきません
UARTのドライバインストール失敗しているのでしょうか >>389
いえ、GPTに変換する作業の方の話です。 Linux使ってるからにはシェルスクリプトやiptablesぐらい
使えるようになりたいんだけど、LPIのホームページからDL出来る
「Linuxの教科書」やっとけばおk? 昔パラパラと見た程度だけど、シェルスクリプトは書けるようにならないし、
iptablesは時代遅れ シェルスクリプトはBash使えてたら半日で書けるようになる。効果的な勉強法がみについてないだけ >>391ですがもしかしてケーブル相性とかあるんかな?
帰ったら試してみよ >>401
Linux板には>>391のようなレベルの高いことをやっている奴は非常に少ないから
アドバイスが出来ないんだよ。
ドライバの開発もできるLinux達人が3日も取り組んでダメことにアドバイスできる
超すごい奴はいない。Linux板はソフトのユーザー、スクリプト必死がほとんどで、
Linux開発をガンガンしている野郎が来る所ではないからな。 >>402
レベルが低いからここに聞きに来てるんじゃw
煽れば答えが貰えると思ってる典型的な馬鹿だな 犬厨って 林 檎 と 白 い お 父 さ ん 犬 が大好きなア フォ ン厨の事ですよ。
でもアッポレOSはWindowsと違って恐怖のiesysとA gentBaseに感染しないから、
身に覚えのない誤 認 逮 捕をされないんだお(笑) >>398
シェルスクリプト勉強する参考書でいいのない? >>402
linux 触ったばかりで何もわからないです
5年以上前の割と性能良いノートに入れたら結構すいすい動くので気にいってきました
デスクトップのWindowsはでかいしうるさいのでlinuxでがんばりたいところです macみたいなエフェクトのWMってありますかね?
iGPU性能も持て余してるし、遊びで見た目の楽しいデスクトップ環境あれば試したいなと思っています。
今はどの鳥でもKDE plasmaをデフォルトでしか使っていません。 >>405
マジレスするとiptablesの後継はnftablesな >>391
ケーブル変えたら平然と繋がった・・・
あの苦労は一体 マウス動かねー・・・ と思ったらUSB2.0の方なら動いた
こういう細かいところでちょくちょくつまづく >>408
bash のオンラインマニュアルをじっくり読む >>408
UNIX シェルスクリプト・コマンドブック 第3版、山下哲典、2015
漏れは、この本を読んでる Linux系のツールで
ドライブまるごとバックアップできるもので
Clonezilla以外にあれば教えて下さいませ Linuxの住民において、ドライブまるごとバックアップは
ddコマンドでCLIでやるもんです。 リストア先が、別機種別サイズのドライブだと
ddバックアップって通用するんでしょうか >>423
大きくなる分には問題ない
が、バックアップするたびにオフラインにしないといけないのは面倒だな
LVMのスナップショットと組み合わせればcleanでなくともだいぶマシか? リストア先が元より大きければ何も気にしなくてOK
リストアしたあとにパーテーションのサイズを大きくする
同じサイズの場合は元々適当にパーテーション作ってると危ない
限界まで使うんじゃなくて少し残してパーテーション切ると他メーカーの同サイズとかでも安全にddでコピーできる
小さい場合は論外 ■ このスレッドは過去ログ倉庫に格納されています