くだらねえ質問はここに書き込め! 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/ >>309 $ awk '{print "foo"}' だと入力が指定されていませんから、標準入力(キーボードから打ち込む)待ち状態になります 動作していないのではなく待ち状態 何か文字を打ち込んでエンターキーを押せばfooが表示出力されます その出力をechoやcatへ渡すのは???です >>309 > awk '{print "foo"}' | cat でも動作しませんでした 動いているけど標準入力で待ちになってるから、わかりづらいだけだと思う ABCとか適当に何かうって、CTRL-Dすればfooが最後に出力される 上の方の指摘通りBEGINつければawk '{print "foo"}' | catですぐにfooが返ってくる awk '{print "foo"}' | echo もechoで標準入力待ち状態になってる。 しかしcatと違ってechoが新たに標準入力作ちゃってる( 上書き?)から、 適当に入力してもfooは返ってこない awk 'BEGIN {print "foo"}' | echo も空白になる。 この例でecho でfooを表示させるには awk 'BEGIN {print "foo"}' | echo $(cat) awk 'BEGIN {print "foo"}' | xargs -I@ echo @ fooを明示的に引数として渡さないと表示されない むかしパイプからechoで値とれなくて躓いたから、この質問のレス主の気持ち分かる 皆様、レス頂きましてありがとうございました。 シェルで、$((1.4*3))のように、小数のある計算ができなかったことから、 awkに挑戦しました。 皆様のレスを読ませていただき、少しだけわかってきました。ありがとうございます。 今は、awkで計算した結果を、result=`awk 'BEGIN{print 1.4*3}'` みたいに、シェル変数に格納しようと考えています。 >>311 awk 'BEGIN {}' のように、BEGINという構文があることから、 一度しっかりawkというものを勉強したいと思いました。 BEGINを使うと、echoが不要になることは新しい発見になりました。 >>313 >>315 そうです。echo | awk '{print "foo"}' の書き方が、 これまでのechoの使い方からは理解不能だったのです。 >>314 ノー!! >>318 理解しました! awk '{print "foo"}' は入力を待っている状態なんですね。試したら、確かに! だから、echo | awk '{print "foo"}' で空の入力(>>316 さんのおっしゃる内容)を送る必要があるわけか。なるほど。 >>311 さんのように、awk 'BEGIN {print}' とすると、その待ち入力が不要になるという理解ができそうです。 >>319 まとめてくださってありがとうございます。共感されて、嬉しいです。 でも、とても複雑です。Linuxの入力、出力の基本が曖昧だからなのかもしれません。 それに、awk '{print "foo"}' | echo がなぜダメなのかを教えて下さってありがとうございます。 まず、awkは入力待ちで出力しない、一方でechoは上流からの入力待ちになっている。 このとき、何かキー入力しても | echoの影響で、awkの方にはもはや入力されないということなんですね。 キーボード入力がどこかに向いてしまったということかもしれないですね。 awk 'BEGIN {print "foo"}' | echo $(cat) は、なぜ、 awk 'BEGIN {print "foo"}' | cat ではダメなんだろうという疑問が残ります。 catは標準入力を画面に出力するから、どうしてechoを挟む必要があるんだろうなあ。 基本を勉強します。 >>321 >awk 'BEGIN {print "foo"}' | echo $(cat) は、なぜ 言葉足らずで混乱させちゃったかもしれません。 パイプを通した時echoが明示的に引数必要なときがあるのを強調したかっただけで、 正規表現とかのフィルター挟む必要ないなら awk 'BEGIN {print "foo"}' | echo $(cat) と awk 'BEGIN {print "foo"}' | cat は結果は同じです よろしくです >>322 ご丁寧にありがとうございました。 echoに上流からのデータを渡したいときに、 教えて頂いた方法を使ってみたいと思います。 勉強になりました! AMDのRyzen3 2200G買っちゃいました。まちがって型落ちの方買っちゃいました。でも安かったのでセーフ。ボクもアンド使いマンに転校。 せっかくだからカーネルをコンパイルしよおと思いました。5.4.0-rc6 どおせならCPUを合わせようと、プロセッサーファミリイのオプション見たら以下から選べとありました。 ・Opteron/Athlon64/Hammer/K8 ・Intel P4 / older Netburst based Xeon ・Core 2/newer Xeon ・Intel Atom ・Generic-x86-64 アンドなので、一番上のやつを選んだんですが、RyzenはK8とかじゃなくてZenアーキテクチァーなので、性能を出し切れてるかわかんないです。 Core2のを選んだほうが逆に良かったでしょおか。わかんないです。 どっちがいいと思いますか? ちなみにコンパイル中にまだgcc落ちてないです。エラー心配です。3000番台買えばよかった。 3000番も2000番もたいして変わらないよ AMDはM/BとRAM選びが肝 2200GはSEGV出ないはずだが シェルスクリプトの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 漏れは、この本を読んでる ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる