Unix & Linux

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

5
ほとんどすべてのプログラムが私のロケールについて文句を言うのはなぜですか?
私はArch Linuxを使用していますが、wikiの指示に従ってロケールを設定しました。 実行するほぼすべてのプログラムは、ロケールについてさえ文句を言いますlocale。次のようになります。 % locale locale: Cannot set LC_ALL to default locale: No such file or directory LANG= LC_CTYPE=en_US.UTF-8 LC_NUMERIC=en-US LC_TIME=en-US LC_COLLATE="POSIX" LC_MONETARY=en-US LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT=en-US LC_IDENTIFICATION="POSIX" LC_ALL= または: % perl perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), …

4
最後のコマンドをファイルに保存するにはどうすればよいですか?
bashシェルを使用して分析を実行しているとき、よく使用するコマンドを同じディレクトリ内のファイル(「LOGBOOK」と呼ばれる)に保存して、何を確認できるようにします。私はそれらの結果を取得しました。これまでのところ、これは、端末からコマンドをコピーして貼り付けるか、コマンドを "up"に押してコマンドをに変更するecho"my command" >> LOGBOOKか、他の同様のふざけを意味します。 history先日、ツールがあることに気付きましたが、以前に実行したコマンドを取得するためにそれを使用する方法が見つからないため、次のようなことができますgetlast >> LOGBOOK。 これを行うための素敵な簡単な方法はありますか。あるいは、他の人は、結果を得るためにコマンドを保存することにどのように対処しますか?

6
Webブラウザの入力フィールドのVimインターフェイス?
Vimテキストエディターの同じキーボードインターフェイスで入力ボックスのテキスト入力を行うブラウザープラグインを探しています。一般的なナビゲーションをより効果的にするVimiumを採用しましたが、入力フィールドを選択している間(この投稿を作成しているときなど)にVimインターフェイスがあればいいのにと思うことがよくあります。私はvimテキストエディタでファイルを編集するのと同じ方法でテキストをナビゲートできるようになりたいのですが、そのようなプラグインが存在するかどうか興味がありますか?
29 vim  browser  chrome 


4
コマンドラインをロックする方法はありますか?
例えば、Xセッションでは、私が使用することができますCtrl- Alt- Lそれはロックを解除するためにパスワードの入力を要求し、鉱山のコンピュータをいじってから誰かを妨げるので、画面をロックします。 私がttyのの1にオープン端末セッションを持っている場合でも、(私がアクセスできるCtrl- - Alt、F1など) -それはロックされていない、と誰かがまだいくつかの害を行うには、それを使用することができます。そのコマンドラインを「ロック」する方法はありますか?


3
アプリケーション用にポートを予約するにはどうすればよいですか?
カスタムアプリケーション用にポートのリストを予約するにはどうすればよいですか? 具体的には、私が作成している製品には多くのプロセスとそれらの間の相互通信があります。 私が抱えている問題は、OSが時々ポートを盗むことです。それはまれですが、それは起こります。 これは、別のアプリケーションがポートを指定せずに「:: bind」を使用したことが原因である可能性があります。 または、バインドされていないソケットで ":: connect"を呼び出すと、自分のアプリケーションがポートを盗むことがあります。manページからわかるように: ソケットがまだローカルアドレスにバインドされていない場合、connect()は、ソケットのアドレスファミリがAF_UNIXでない限り、未使用のローカルアドレスであるアドレスにバインドします。 だから私の質問は、OSがそれらを使用しないように必要なポートを予約できますか?これは/ etc / servicesで実現できますか?または別の方法がありますか?
29 tcp  udp  socket 

2
受信側の例外を除いて、送信側に存在しない受信側のファイルを削除するようにrsyncに要求する
私はこれらのスレッドを読みました: rsync --delete --files-from = list / dest /は不要なファイルを削除しません rsyncを使用してdestディレクトリから無関係なファイルを削除しますか? しかし、私が知る限り(おそらく私は何かを見逃しています)、彼らは次の質問をカバーしていません: rsync例外を除いて、送信側に存在しない受信側のファイルをコピーして削除するにはどうすればよいですか?(たとえば.hg、送信側にリポジトリがない場合でも、受信側の水銀リポジトリを削除しないでください)。 一つの可能​​性は? 以下の@Richard Hollowayの回答から引用。次の行があるとします。 rsync -av --exclude=dont_delete_me --delete /sending/path /receiving/path 私の知る限り、この行はrsync、で一致しdont_delete_meたものを除き、送信パス上に存在しない受信パス上のすべてを削除します。私の質問は次のとおりです。rsyncは、送信側で何も一致しなくても、受信側で一致するファイルを保持しますか?dont_delete_me dont_delete_me
29 rsync 

1
Linuxのプロセスごとのスワッピングを設定するにはどうすればよいですか?
/proc/sys/vm/swappinessいいですが、私はのようなプロセスごとのノブが欲しいです/proc/$PID/oom_adj。そのため、特定のプロセスが他のプロセスよりもページをスワップアウトする可能性が低くなります。とは異なりmemlock()、これはプログラムがスワップアウトされるのを防ぎません。そしてのようniceに、ユーザーはデフォルトでプログラムの可能性を低くすることはできませんが、スワップされる可能性が高くなります。これを呼ばなければならなかったと思う/proc/$PID/swappiness_adj。
29 linux  process  swap 

10
sshサーバーにログインするためのシェルスクリプト
スクリプトに記載されているパスワードを使用してsshサーバーに自動ログインできるシェルスクリプトを作成してみました。私は次のコードを書きました: set timeout 30 /usr/bin/ssh -p 8484 root@172.31.72.103 expect { "root@172.31.72.103's password" { send "password\r" } } このコードは適切に実行されていませんが、それでもパスワードを要求しています。誰かがこれを解決するのを助けてくれますか
29 ssh  password  expect 

9
firefoxにstdinを読み込ませる方法
echo '<h1>hello, world</h1>' | firefox cat index.html | firefox これらのコマンドは機能しません。 firefoxが標準入力を読み取れる場合、パイプ経由でhtmlをfirefoxに送信できます。 firefoxにstdinを読み込ませることは可能ですか?
29 firefox 

3
継続文字の後にコメントがあるbash複数行コマンド
検討する echo \ # this is a comment foo これは与える: $ sh foo.sh # this is a comment foo.sh: line 2: foo: command not found Webでいくつか検索した後、姉妹サイトのStack OverflowでDigitalRossのソリューションを見つけました。だからできること echo `: this is a comment` \ foo または代わりに echo $(: this is a comment) \ foo ただし、DigitalRossは、これらのソリューションが機能する理由を説明しませんでした。説明をお願いします。彼はコメントで答えた: 以前は、gotoこのように指定されたラベルに分岐するシェルコマンドがあり:ました。gotoなくなっていますが、まだ使用できる : whatever構文を... :今すぐ解析されたコメントの一種です。 しかし、移植性の議論を含め、詳細とコンテキストが欲しいです。 …
29 bash  shell 

2
シグナルがキャッチされたときのシステムコールの中断
read()とのwrite()呼び出しのマニュアルページを読むと、これらの呼び出しは、ブロックする必要があるかどうかに関係なく、シグナルによって中断されるようです。 特に、仮定 プロセスが何らかのシグナルのハンドラーを確立します。 デバイスが設定されてO_NONBLOCK いない状態で開かれている(つまり、ブロッキングモードで動作している) その後、プロセスread()はデバイスから読み取るシステムコールを行い、その結果、カーネル空間でカーネル制御パスを実行します。 read()プロセスがカーネル空間で実行している間、ハンドラーが以前にインストールされたシグナルがそのプロセスに配信され、そのシグナルハンドラーが呼び出されます。 SUSv3の「System Interfaces volume(XSH)」のマニュアルページと適切なセクションを読むと、次のことがわかります。 私。a read()がデータを読み込む前に信号によって中断された場合(つまり、データが利用できなかったためブロックしなければならなかった場合)、errno[EINTR]に設定された-1を返します。 ii。a read()がデータを正常に読み取った後(つまり、要求の処理をすぐに開始できた)にシグナルによって中断された場合、読み取られたバイト数を返します。 質問A): どちらの場合(ブロック/ブロックなし)でも、信号の配信と処理は完全に透過的ではないと仮定するのは正しいread()ですか? ケースi。ブロッキングread()は通常、プロセスをTASK_INTERRUPTIBLE状態にするため、シグナルが配信されるとカーネルがプロセスをTASK_RUNNING状態にするため、理解できるようです。 しかし、read()ブロックする必要がなく(ケースii。)、カーネル空間でリクエストを処理している場合、シグナルの到着とその処理は、ハードウェアの到着と適切な処理と同様に透過的であると考えていました。割り込みになります。特に、シグナルの配信時に、プロセスは一時的にユーザーモードになり、そのシグナルハンドラーを実行して、最終的に戻り、中断されたread()(カーネルスペースで)処理を終了しread()て、完了までの経過後、プロセスはread()(ユーザー空間での)呼び出しの直後のポイントに戻り、結果として利用可能なすべてのバイトが読み込まれます。 しかし、ii。はread()、データがすぐに利用可能であるため、が中断されていることを暗示しているように見えますが、(すべてではなく)一部のデータのみを返します。 これにより、2番目の(そして最後の)質問に導かれます。 質問B): A)での私の仮定が正しい場合、read()要求を満たすために利用可能なデータがあるためブロックする必要はないのに、なぜ中断されるのですか?言い換えると、なぜread()シグナルハンドラーを実行した後に再開されず、最終的にすべての利用可能なデータ(結局利用可能だった)が返されることになりますか?



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