Unix & Linux

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


2
添付せずにtmuxセッションで何が起こっているかを見ることができますか?
多くの場合tmux、しばらく実行されるタスクを開始するために使用します。定期的に戻って使用して確認しtmux -a、まだ完了していない場合は切断し、後でもう一度確認します。 完全にアタッチせずにセッションで何が起こっているかの簡単なスナップショットを表示する方法はありますか?tail出力の最後のビットを取得するために理論的にセッションで行うようなものを探しています(ただし、出力のコピーで別のファイルを作成することを避けることができれば、より良いです) 接続してすぐに切り離すこともできます。私は、おそらくそのようなコマンドをリモートで実行することができ、キーストロークを保存しようとしています すなわちssh root@server tmux --tail?
15 tmux 

3
異なるディストリビューション(ただし同じカーネルバージョン)で同じハードウェアサポートを使用する
私の知る限り、デバイスドライバーはLinuxカーネルにあります。たとえば、GNU / LinuxディストリビューションAがGNU / LinuxディストリビューションBと同じカーネルバージョンを持っているとしましょう。それは、それらが同じハードウェアサポートを持っているということですか?

2
ArchLinuxおよびCUPSサービスの印刷の問題
ArchLinuxで数日(gnome 3.14にアップグレードしたので疑わしい)もう印刷できません。gnomeコントロールセンターの印刷パネルを開くと、次のようなメッセージが表示されます(イタリア語から翻訳されています):「印刷用のシステムサービスは利用できないようです」 だから私は端末から試しました: $ sudo systemctl start cups Failed to start cups.service: Unit cups.service failed to load: No such file or directory. また、カップを再インストールしようとしましたが、運はありませんでした。また、さまざまな解決策を探してみましたが、どれもうまくいきませんでした。

5
列のタイムスタンプを日付に変換するにはどうすればよいですか?
これを含むファイルがあります: 1415602803,LOGIN SUCCESS,AUTH,user2,192.168.203.63,10.146.124.73,59996,22 1415602807,LOGIN SUCCESS,AUTH,user1,172.24.31.10,172.32.1.1,48191,22 1415602811,LOGIN FAILED,AUTH,root,172.24.166.153,10.146.124.73,52506,22 1415602815,LOGIN FAILED,AUTH,user3,192.168.123.55,10.146.32.99,55750,22 タイムスタンプをこの形式の日付に変換したい: 2014-11-10 02:00:03,LOGIN SUCCESS,AUTH,user2,192.168.203.63,10.146.124.73,59996,22 2014-11-10 02:00:07,LOGIN SUCCESS,AUTH,user1,172.24.31.10,172.32.1.1,48191,22 2014-11-10 02:00:11,LOGIN FAILED,AUTH,root,172.24.166.153,10.146.124.73,52506,22 2014-11-10 02:00:15,LOGIN FAILED,AUTH,user3,192.168.123.55,10.146.32.99,55750,22 どうやってやるの? 私はこれが機能することを知っています:(この質問perl -pe 's/(\d+)/localtime($1)/e'から)しかし、出力形式はです。Mon Nov 10 02:00:03 2014 このコマンドでタイムスタンプを目的の出力に変換できることはわかっていますdate -d@1415602803 +"%F %H:%M:%S"が、すべての引用符などのために、それをawk使用して動作させることはできませんでしたsystem("cmd")。

4
あるサーバーから別のサーバーに数百万のファイルを転送する
2台のサーバーがあります。そのうちの1つには1500万のテキストファイル(約40 GB)があります。それらを別のサーバーに転送しようとしています。それらを圧縮してアーカイブを転送することを検討しましたが、これは良い考えではないことに気付きました。 そこで、次のコマンドを使用しました。 scp -r usrname@ip-address:/var/www/html/txt /var/www/html/txt しかし、私はこのコマンドが約50,000個のファイルを転送するだけで、その後接続が失われることに気付きました。 ファイルのコレクション全体を転送できるより良いソリューションはありますか?rsync接続が失われたときに転送されなかったファイルを転送するようなものを使用することを意味します。別の接続割り込みが発生した場合、ファイルを転送するためにコマンドを再度入力し、すでに正常に転送されたファイルを無視します。 scp常に最初のファイルから始まるため、これは不可能です。

1
スクリプトからバックグラウンドプロセスを開始し、スクリプトの終了時に管理します
スクリプトからデーモンに似たプロセスを実行および構成したいと思います。 私のシェルはCygwinでエミュレートされたzshであり、デーモンは基本的なFTPサーバーであるSFKです。 ここで重要なのは、スクリプトstartserv.shを次のように作成できることです。 #!/bin/sh read -s -p "Enter Password: " pw user=testuser share=/fshare cmd="sfk ftpserv -user=$user -pw=$pw -usedir $share=$share" $cmd & スクリプトを実行した後startserv.sh、プロンプトを表示せずに停止(終了?)します: CTRL+ Cスクリプトとバックグラウンドジョブプロセスの両方を終了します。 叩くEnterスクリプトは、プロセスがバックグラウンドに残って終わります。 とにかく私はのみを経由して、それを見ることができpsないjobs私は、プロセスを閉じたいとき、そう、私は残忍送信する必要がありkill -9、私は賛成で避けたいのですが何かある信号、 CTRL+をC。 別の方法 は、スクリプト全体をバックグラウンドで実行することです。「Would be」ですがread、スクリプトがとして実行される場合、コマンドはユーザー入力を取得できませんstartserv.sh &。 真のデーモンではなく、一時サーバーが必要なことに注意してください。つまり、スクリプトが終了した後、サーバープロセスをバックグラウンドで実行して、(仮想マシンゲストで)簡単なインタラクティブシェルタスクを実行する必要がありますが、シェルを生き残るためのプロセスが必要です。したがって、nohup適切ではないようです。

5
`hostname`は私が設定したホスト名をどこに保存しますか?
これは非常に不可解です。hostnameコマンドがどこからホスト名を保存し、読み取るかを知っていますか? / etc / hostnameであると思いましたが、使用しているこのLinuxシステムにはそのようなファイルはありません。私はstraceを使用してそれがどこにあるかを見つけようとしましたが、読み取り呼び出しはこの情報を返しませんでした: $ strace hostname 2>&1 | grep read read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340^\0\0\0\0\0\0"..., 832) = 832 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\30\2\0\0\0\0\0"..., 832) = 832 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\16\0\0\0\0\0\0"..., 832) = 832 read(3, "nodev\tsysfs\nnodev\trootfs\nnodev\tr"..., 1024) = 248 read(3, "", 1024) = 0 次に、この情報を返したシステムコールがunameであることに気付きました。 uname({sys="Linux", node="server-name", ...}) = 0 / etc /の再帰的なgrepは何も返しません: grep "server-name" -r /etc …
15 linux  hostname 

3
UTF-8で `cut -c`(` --characters`)を使用できませんか?
このコマンドにcutは、オプションの-cあるバイトではなく、文字を処理するオプションがあります-b。しかし、en_US.UTF-8ロケールでは機能しないようです: 2番目のバイトは、2番目のASCII文字(UTF-8とまったく同じようにエンコードされます)を提供します。 $ printf 'ABC' | cut -b 2 B ただし、UTF-8ロケールでは3つのギリシャ語の非ASCII文字のうち2番目の文字は表示されません。 $ printf 'αβγ' | cut -b 2 � 大丈夫-2番目のバイトです。 したがって、代わりに2番目の文字を見てみましょう。 $ printf 'αβγ' | cut -c 2 � それは壊れているように見えます。 いくつかの実験で、範囲3-4が2番目の文字を示していることがわかりました。 $ printf 'αβγ' | cut -c 3-4 β しかし、これはバイト3〜4と同じです。 $ printf 'αβγ' | cut -b 3-4 β したがって、これはUTF-8の-c場合を超えません-b。 ロケールのセットアップはUTF-8には適切ではないと思いますが、比較すると、wc期待どおりに機能します。 …

5
迷惑なメッセージ「認証が間違っているためX11接続が拒否されました」はまったく問題ありません
私は迷惑な問題を抱えています。 SSH経由で特定のホストにログインすると、メッセージ X11 connection rejected because of wrong authentication. 1分間に約3回、一見ランダムに発生します。どこから来たのか分かりません。 実際、X11転送にはわずかな問題さえありません。これは魅力のように機能します。しかし、このメッセージは表示され続け、私を夢中にさせます。 誰もそれを取り除く方法を知っていますか? 私はどこから来ても問題に直面しています、それは私のGnome-Desktopから、そしてPuTTY、MobaXterm、Cygwinなどを使用するWindowsシステムからも起こります。 さらにいじってみると、原因が監視エージェント(check_mk)であることがわかりました。これは実行中のタスクの実行時パラメーターをチェックし、毎回、このエージェントが監視システムからトリガーされたとき、正確にPostgreSQLステータスがチェックされたときにメッセージが表示されました。このプロセスはX11接続を開こうとしているようですが、失敗しています。次に、転送されたX11セッションを使用しようとしたときに、メッセージが端末セッションに吐き出されます。 このメッセージをまったく無効にする方法はありますか?
15 linux  ssh  x11 

1
FreeBSD 10ブータブルUSBを作成するには?
現在、Linux Mint 17を使用していますが、FreeBSDとLinux Mint 17をデュアルブートしたいと考えています。 FreeBSD 10用の起動可能なUSBを作成するにはどうすればよいですか?Unetbootin、Image writer、powerISOを試しましたが、動作しません。
15 boot  freebsd  live-usb 

1
これはパッチを作成する良い方法ですか?
gcc公式リリースと比較する特定のブランチからパッチを作成したいと思います。そのため、安定版リリースからtarballを展開すると、パッチを適用し、その特定のブランチにあったものと同等のものを取得できます。 パッチを作成する必要があるのはこれが初めてなので、これを行うのは初めてであり、ソフトウェアの非常に重要な部分について話しているので、私の主な関心事はオプションと解析を正しくすることです diff -crB GccStable GccGit > /tmp/fromStabletoBranch.patch これで十分ですか?それを行う最良の方法ですか?
15 diff  patch 

5
シェル変数からスペースを削除するにはどうすればよいですか?
コマンドラインで次のことを行いました。 $ text="name with space" $ echo $text name with space 私はtr -d ' 'スペースを削除するために使用しようとしていますが、結果は次のとおりです: namewithspace 私は次のようないくつかのことを試しました: text=echo $text | tr -d ' ' これまでのところ運が悪いので、うまくいけば素晴らしい人々が助けることができます!
15 shell  command-line  tr 

1
kworkerスレッド名をどのように解釈しますか?
デュアルソケットXeon X5650ヘキサコアボード上で実行されているLinux 3.11.0-13-genericでは、htop異なるkworkerスレッドが表示されます。名前順に並べ替えます(ここで示した結果を少し調整して、コア2のスレッドをコア10のスレッドの前に配置しました)。結果​​は次のとおりです。 kworker/0:0H kworker/0:1 kworker/0:2 kworker/1:0 kworker/1:0H kworker/1:1 kworker/2:0 kworker/2:0H kworker/2:1 ..... kworker/11:0 kworker/11:0H kworker/11:1 kworker/u48:0 kworker/u49:4 kworker/u49:5 kworker/u50:1 kworker/u50:2 ....... 名前が数字で始まるスレッドは、同じ数字でコアに固定されます。だから最初の数字はスレッドを実行しているコアであり、これらのスレッドの記号:(0または0Hor 1)は何ですか? また、uXX:Yシンボルの意味は何ですか? 私はkworkerスレッドが何をするかについて漠然とした知識しか持っていません。I/ Oを実行するシステムコールによって引き起こされる非同期イベントを処理します。どこかに文書化されていますか?

8
sed-ファイル内の文字列(カンマ)の最後の出現を削除しますか?
非常に大きなcsvファイルがあります。最後の,sed(または同様の)をどのように削除しますか? ... [11911,0,"BUILDER","2014-10-15","BUILDER",0,0], [11912,0,"BUILDER","2014-10-15","BUILDER",0,0], [11913,0,"BUILDER","2014-10-15","BUILDER",0,0], ] 望ましい出力 ... [11911,0,"BUILDER","2014-10-15","BUILDER",0,0], [11912,0,"BUILDER","2014-10-15","BUILDER",0,0], [11913,0,"BUILDER","2014-10-15","BUILDER",0,0] ] 次のsedコマンドは、行ごとに最後のオカレンスを削除しますが、ファイルごとに必要です。 sed -e 's/,$//' foo.csv これも機能しません sed '$s/,//' foo.csv
15 sed 

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