Unix & Linux

Linux、FreeBSDおよび他のUn * xのようなオペレーティングシステムのユーザーのためのQ&A

1
プログラム開始時のエントロピー消費を防止できますか?
貴重な暗号キーを作成するための安全な環境として、Knoppix(または他のLive CD / DVD)を使用しています。残念ながら、そのような環境ではエントロピーは限られたリソースです。プログラムの開始ごとにかなりのエントロピーが消費されることに気付きました。これは、アドレスのランダム化が必要なスタック保護機能が原因であると思われます。 素晴らしい機能ですが、完全に役に立たず、さらに悪いことに、私のシナリオでは破壊的です。この機能を無効にする可能性はありますか?元のKnoppix(または何でも)イメージを引き続き使用でき、実行時に構成が必要なものを好むでしょう。 これはglibcが原因だと読みました。strace -p $PID -f -e trace=openプログラムを起動したときに、bashに対して/ dev / randomへのアクセスが表示されないことに驚いています。しかし、私はexecve()とリンカーの相互作用に慣れていません。
13 linux  kernel  security 

2
単語の境界について混乱している
私はこれをよく研究していますが、まだはっきりしていません。単語の境界とはどういう意味ですか?それは何をするためのものか? それで、例えば、誰かが私にこのコマンドを説明してもらえますか? egrep '\b[A-Z]+\b' filename.sh

3
Arch Linux:chrootするとpacmanが動作しません
コンピューターにUbuntuがインストールされています。Arch linuxをインストールすることにしましたが、Grubのインストールに関する部分は既にインストールされているためスキップしました。ArchがGrubのメニューリストに表示されないのを見て、Archにインストールすることにしました。UbuntuにArchのパーティションをマウントし、chrootしました。私はコマンドを発行し、次のものpacman -S grub-biosを得ました: error: could not open file: /etc/mtab: No such file or directory error: could not determine filesystem mount points error: failed to commit transaction (unexpected error) Errors occurred, no packages were upgraded. /etc/mtabはへのシンボリックリンク/proc/self/mountsですが、/procフォルダには何もありません。 私は何を間違えていますか? 補足として、GrubのリストにArchを表示するには正しい方向に進んでいますか?編集:私は以前にsudo mount /dev/sdaX(XをArchのパーティション番号に置き換えて)UbuntuからGrubのリストにArchを表示することができましたsudo update-grub。

1
現在のbashコマンドラインの引数全体を削除する
使用^W(UNIXワードラブアウト)私は簡単に私のbashシェルで、現在のコマンドからのシングル「言葉」を削除することができます。 ただし、スペースを含む引用符付き引数(またはバックスラッシュでエスケープされたスペースを含む引用符なし引数)を処理する場合、引数全体ではなく1つの単語のみを削除するため、うまく機能しません。 だから、私は引数全体を削除する方法を探しています。 例(カーソルは常に最後にあります): $ foo --bar "foo bar" meow [black magic] $ foo --bar "foo bar" [black magic] $ foo --bar [black magic] $ foo
13 bash  readline  inputrc 

7
CPU使用率を毎回同じにする。
次のコマンドを実行してCPU使用率を取得すると、nice + user cpu usageが表示されます。 top -b -n1 | grep "Cpu(s)" | awk '{print $2 + $4}' 出力: 14.5 ここで問題になっているのは、出力がtopコマンドに依存しているため、topコマンドとして即座に変更されないことです。だから私はすぐに正しいCPUを取得していません。同じ出力を提供し、変化しません。 出力でリアルタイムCPUを取得したい。コマンドを改善するのを手伝ってください。
13 command-line  cpu 

2
SSH接続を閉じた後にrsyncジョブを完了する
を使用して、あるコンピューターから別のコンピューターに大量のファイルを転送していますrsync。ソースコンピューターにSSHし、次のようなコマンドを実行することでこれを実行しています。 sudo rsync ssh --rsync-path="sudo rsync" source_dir user@host.com:dest_dir。 nohupこのコマンドの前に追加しても、SSHした端末ウィンドウを閉じるたびに接続が閉じます。 SSH接続を閉じてもファイル転送が継続するようにするにはどうすればよいですか?
13 rsync  nohup 

4
$ {!FOO}およびzsh
${!FOO}で二重置換を実行しますbash。つまり、FOOの(文字列)値を取得し、変数名として使用します。 zshこの機能をサポートしていません。 この作業をbashandで同じにする方法はありzshますか? バックグラウンド: 次のような環境変数のリストがあります PATH MAIL EDITOR そして、最初に変数名を出力し、その後それらの値を出力したい。 これは動作しますbashが、動作しませんzsh: for VAR in LIST do echo $VAR echo ${!VAR} done それは何とか「古い方法」で可能になるはずですがeval、私はそれを動作させることができません: for VAR in LIST do echo $VAR echo `eval \$$VAR` done 必要な${${VAR}}場合でも${${${VAR}}}必要な場合でも、単純に任意の深い置換を実行できない理由を理解することは決してないので、そのための説明もいいでしょう。

1
子プロセスのリストをエレガントに取得する
親が$ pidであるすべてのプロセスのリストを取得したいと思います。これは私が思いついた最も簡単な方法です: pstree -p $pid | tr "\n" " " |sed "s/[^0-9]/ /g" |sed "s/\s\s*/ /g" 子プロセスのリストを取得するコマンド、またはより簡単な方法はありますか? ありがとう!
13 process  ps 

1
Boostがインストールされている場所をgccはどのように知るのですか
sudo apt-get installUbuntu を使用してboostをインストールしました。後でI、boostを使用するために、boostライブラリへのパスとともにフラグをgccに指定する必要はありませんでした。また、私は何もしませんpkg-config --cflags --libsでした。ここの謎は何ですか?gccはどのようにブーストがどこにあり、どのように自動的にリンクするのかを知ることができますか?
13 gcc  libraries  boost 

1
Linuxでの一般的なロギング/ログローテーションについて学習していますか?
Apache Webサーバーのログの横に、私はどのオペレーティングシステムでも(プロフェッショナルな)ログの種類とは一切接触したことがないと仮定します。そのため、ロギングはいくつかの基本を理解していますが、すべてがまったく新しいトピックです。現時点では、このトピックを完全に学習するための投資は非常に大きいように見えますが、最も抽象的な概念をもっと知る価値があるかどうかはまだわかりません。 その状況で誰かがロギングについて学習するために、どのリソース(チュートリアル、マニュアルページ、書籍)を消費すべきでしょうか? 通常のLinuxユーザーは、毎日/毎月どのログを読むべきですか?人間が読みやすいように書かれているのか、それとも一般に他のツールで評価されて使用されているのかという仮定は正しいのでしょうか? 通常の* nixユーザーおよびソフトウェア開発者は、これらのログについて何を知っている必要がありますか? 大量のイベントを処理するプロフェッショナルなWebサーバーを管理する予定がない場合、ログローテーションについて何を知っておく必要がありますか?

2
非共有でchrootをシミュレートする
最小限のソースからのLinuxディストリビューション用のブートストラップを作成しようとしています。 chrootのような環境でビルドしたいと思います。これにより、パッケージングが簡素化されます。私はこの時点でセキュリティを気にしません。ブートストラップは、非標準のサードパーティコマンドを必要としません。rootである必要もないのなら素晴らしいことです。 これが、fakechroot(1)fakeroot(1)chroot(1)がまさに私が探しているものではない理由です。 unshare(1)と/ bin / shを使用して/を偽造することは可能ですか?


1
「efi-shell」用のブート可能なフラッシュを作成する方法
現在のIntelサーバーチップセットには、組み込みの「efi-shell」が含まれています。これは基本的に、いくつかの気の利いたUEFIブートオプションを操作するのに適したコマンドセットを持つ簡略化された「NIX」です。 また、Intelのファームウェアアップグレードツールの一部を実行するには「efi-shell」が必要な場合もあります。 悲しいことに、このボードはUEFIブートをサポートしていても、サーバーチップセットはありません。 efi-shellはhttp://www.sourceforge.net/projects/efi-shellからダウンロードできます。ただし、ブート可能なISOやその他の形式のブート可能なイメージは見つかりません。 ブート可能なフラッシュを作成しようとしましたが、unetbootin成功しませんでした。 RAIDカードでIntelファームウェアアップグレードを実行できるように、ブート可能なefi-shellのコピーを作成する方法についての考えはありますか?
13 shell  boot  uefi 



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.