Unix & Linux

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

6
(bash)スクリプトA、スクリプトBを待機しますが、その子プロセスは待機しません
だから私はscriptAを持っています: ssh server1 -- scriptB & ssh server2 -- scriptB & ssh server3 -- scriptB & wait otherstuffhappens ScriptBは次のことを行います。 rsync -av /important/stuff/. remoteserver:/remote/dir/. rsync -av /not/so/important/stuff/. remoteserver:/remote/dir/. & exit 私が望む結果は、scriptAは、scriptBのすべてのインスタンスが完了するのを待ってから次に進むことですが、現在はそうですが、それほど重要ではないもののバックグラウンドrsyncも待機しています。これらは、待ちたくない大きなファイルです。 nohup、disown、&の違いを読み、さまざまな組み合わせを試しましたが、探している結果が得られません。 この時点で私はかなり困惑しています。何か助けていただければ幸いです!

2
同じファイルシステムの「mount --bind」ディレクトリからファイルへの「ハードリンク」を作成できないのはなぜですか?
元の問題 1つのファイルシステムにファイルがあります。 /data/src/file そして私はそれをハードリンクしたいと思います: /home/user/proj/src/file しかし/home、1つのディスク上にあり/data、別のディスク上にあるため、エラーが発生します。 $ cd /home/user/proj/src $ ln /data/src/file . ln: failed to create hard link './file' => '/data/src/file': Invalid cross-device link さて、デバイス間でハードリンクできないことを学びました。理にかなっています。 手元の問題 だから私は空想を得て、のファイルシステムsrc上にあるフォルダーをバインドマウントすると思いました/data: $ mkdir -p /data/other/src $ cd /home/user/proj $ sudo mount --bind /data/other/src src/ $ cd src $ # (now we're technically on …
9 mount  ln  bind-mount 

2
Linuxバージョン番号の規則
Linuxの最初のバージョンでは、正しいバージョン番号は0.01(タネンバウムのOSブックで見られる)ですか、それとも最初のバージョンはドットを含めて0.0.1と書く必要がありますか?


7
Linuxカーネル4.9.0、Debian 9で休止状態の再開が失敗する
最近、カーネルを3.16.4(Debian jessie)から4.9.0(Debian Stretch)にアップグレードしました。「ハイバネート」(ディスクにサスペンド)するまで、すべてが順調でした。 LXDEでHibernateオプションを使用すると、休止状態のように見えます。ディスクのスピンドルがカチカチとデータを書き込んでいるのが聞こえます。しかし、休止状態から再開するときに問題が発生します。カーネルはスワップからイメージを正常に復元しますが、フリーズして再起動し、すべての作業が失われます。インターネットのどこにも答えが見つかりませんでした。人々は/etc/initramfs-tools/conf.d/resumeを設定しない、またはカーネルパラメータを設定していない、または/ etc / fstabに間違ったエントリがあることに関するいくつかの間違いを解決しています。これらは正しいです。/etc/initramfs-tools/conf.d/resume内のUUIDを修正し、fstabを修正し、再開カーネルパラメータを設定しない。 スワップパーティションを拡張パーティションの外のプライマリに移動しました。UUIDが保存され、新しいスワップに適用されました。 システムは「イメージの復元100%」に達し、次に「コンソールの一時停止」に達した後、すべての作業が失われた状態で電源がオフになり、通常どおりに起動します。 クリーンインストールを試みましたが、運がありませんでした。 i386(32ビットx86)でのみ発生し、amd64(64ビットx86)は影響を受けません。 ディスクパーティションテーブルのレイアウト: NAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 ext4 HDD <ROOT-UUID> / └─sda2 swap HDD-SWAP <SW-UUID> [SWAP] sr0 アップグレード前は、sda2は論理的(内部拡張)でした。 Fstab: UUID=<ROOT-UUID> / ext4 errors=remount-ro 0 1 UUID=<SW-UUID> none swap sw 0 0 /etc/initramfs-tools/conf.d/resume RESUME=UUID=<SW-UUID> カーネルコマンドライン BOOT_IMAGE=/boot/vmlinuz-4.9.0-3-686-pae root=UUID=<ROOT-UUID> ro quiet …

1
envの出力で確認できる変数を出力できないのはなぜですか?
別のシェルインスタンスの環境変数を設定することに興味があります。だから私はいくつかの研究を行うことにしました。これについてのいくつかの質問を読んだ後、私はそれをテストすることにしました。 2つのシェルAとB(PID 420)を生成し、どちらもを実行していzshます。シェルAIから以下を実行しました。 sudo gdb -p 420 (gdb) call setenv("FOO", "bar", 1) (gdb) detach シェルBから実行するenvと、変数FOOが実際にbarの値で設定されていることがわかります。これにより、シェルBの環境でFOOが正常に初期化されたと思います。ただし、FOOを印刷しようとすると、設定されていないことを示す空の行が表示されます。私には、ここには矛盾があるように感じます。 これは私自身のArch GNU / LinuxシステムとUbuntu VMの両方でテストされました。またbash、変数がenvに表示されない場所でもテストしました。これは私には失望しますが、シェルがスポーン時にその環境のコピーをキャッシュし、それだけを使用する場合は理にかなっています(リンクされた質問の1つで提案されていました)。これはまだzsh変数を見ることができる理由には答えません。 echo $FOO空の出力はなぜですか? 編集 コメントへの入力後、もう少しテストを行うことにしました。結果は以下の表で確認できます。最初の列は、FOO変数が注入されたシェルです。最初の行には、その下に出力を表示できるコマンドが含まれています。変数FOOは次を使用して注入されました:sudo gdb -p 420 -batch -ex 'call setenv("FOO", "bar", 1)'。zsh:に固有のコマンドzsh -c '...'もbashを使用してテストされました。結果は同じであり、簡潔にするためにそれらの出力は省略されました。 Arch GNU / Linux、zsh 5.3.1、bash 4.4.12(1) | | env | grep FOO | echo $FOO …

2
rmdirとrm -rの違い
私は通常、rmを使用してディレクトリを削除します。 rm -r myDir しかし、私はrmdirという別のコマンドも知っています。 rmdir myDir これら2つのコマンドの違いは何ですか?また、それぞれをいつ使用する必要がありますか?
9 directory  rm  command 

1
エコーコマンドによるキャリッジリターン
\r以下のようにオプション(復帰)付きのエコーコマンドを練習していました。 echo -e "This is \r my college" 出力: my college \r次のように前に単語をもう1つ追加すると echo -e "This is the \r my college" 次に、次のような出力が得られます。 my college the もう一つの例 echo -e "This is \r valid data" valid data echo -e "This is not a \r valid data" valid data a それで、ここで改行の実際の目的は何ですか?
9 shell  echo  newlines 

2
GNUソートを使用して単一のキーでソートする/他のキーの不要なソートを防止する
すでに順序付けられたデータを含むファイルがあり、他のキーのデータの順序を壊すことなく、1つのキーの値に従ってファイルを再順序付けしたいです。 指定していないキーの値に基づいてGNUソートが行のソートを実行しないようにするにはどうすればよいですか?またはソート時にキーの範囲を無視するようにGNUソートに指定するにはどうすればよいですか? ファイルdata.txt: 1 Don't 2 C 1 Sort 2 B 1 Me 2 A 予想される出力: 1 Don't 1 Sort 1 Me 2 C 2 B 2 A コマンド: sort -k 1,1 <data.txt 結果:要求しなかった不要な並べ替え: 1 Don't 1 Me 1 Sort 2 A 2 B 2 C
9 sort 

1
問題のビデオテストを終了する方法は?
videotestとvbetestプログラムを使用してgrubメニューでさまざまなビデオ解像度を確認していますが、grubこのプログラムを使用した後、コマンドラインに戻ることができません。システムが応答しない-ぶら下がっているように。Virtualboxの「マシンのパワーオフ」のみが役立ちます。 質問:このモードをどのように終了しますか?このプログラムを間違った方法で使用している可能性がありますか? 私の行動: 起動中にgrubメニューに入り、コマンドモードに移行します。 走る videotest 800x600 新しい解像度の例を見てください 次に、いずれかのキーを押すと、システムが応答を停止し、grubメニューに戻ることができなくなります。この画面を取得します。

1
Linuxで「getent」などのホスト名を解決するMac OSコマンド
通常のプログラムがホスト名を解決するのと同じ方法で、ホスト名をIPアドレスに解決するコマンドが欲しいのですが。つまり、通常のDNSだけでなく、mDNS(.local)およびも考慮に入れる必要があり/etc/hostsます。だからルールアウトhost、digおよびnslookup、これらのツールのすべての3つだけで、通常のDNSを使用して解決されませんので、.localアドレスを。 Linuxでは、getentコマンドはまさに私が望むものを実行します。ただし、getentOS Xには存在しません。 Mac OS Xに相当するものはありgetentますか?を使用して数行で記述できることは承知しており、getaddrinfo必要に応じてそれを実行しますが、それを実行できる標準のコマンドがすでにあるかどうか疑問に思っていました。 ありがとう!
9 osx  hostname  mdns 

2
OpenBSD:新しいループバックインターフェイスの定義
OpenBSD 6.1に、IPアドレス127.0.0.2のループバックインターフェイスがもう1つ必要です。 次のコマンドで手動で作成できます。 ifconfig lo1 127.0.0.2 そして、起動時にそれを使用するために、そのコマンドをに挿入しました/etc/rc.local。 私はそれを行うためのより標準的な方法を研究しましたが、成功しませんでした。 で、それを持って/etc/rc.localも、私は唯一の後半、ブートプロセス中にそのインターフェイスを持っていることを意味し。 クリーンな「OpenBSD」の方法でそれをどのように構成できますか?

1
RAIDiator OSでのext3ファイルシステムのrootユーザーとして、ディレクトリ内の1つのファイルのみのアクセス権が拒否されました
私は、Debianに基づいていると思う「ストレージ」という名前のReadyNASボックスを持っています。rootとしてsshでログインできます。Webサーバーを再構成しようとしていますが、理解できないファイルアクセス許可の問題が発生しています。/etc/frontview/apache/apache.pemrootとしても何もできません!同じディレクトリ内の他のファイルと比較して、特別な権限がないようで、それらを操作できます。 storage:~# whoami root storage:~# cd /etc/frontview/apache/ storage:/etc/frontview/apache# ls -lah apache.pem* -rw------- 1 admin admin 4.0k Jul 10 2013 apache.pem -rw------- 1 admin admin 4.0k Jun 9 05:57 apache.pem.2017-02-04 -rw------- 1 admin admin 1.5k Jun 9 05:57 apache.pem.orig storage:/etc/frontview/apache# touch apache.pem touch: creating `apache.pem': Permission denied storage:/etc/frontview/apache# touch apache.pem.2017-02-04 storage:/etc/frontview/apache# …

4
Fedora 25とポート111でリッスンしているものをすべて無効にする
私はFedora 25 x86_64スタンドアロンワークステーションを持っています。何かがポート111でリッスンしています(nmapスキャンで識別されます): $ sudo lsof -i :111 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME systemd 1 root 36u IPv4 15170 0t0 TCP *:sunrpc (LISTEN) systemd 1 root 37u IPv4 15171 0t0 UDP *:sunrpc systemd 1 root 38u IPv6 15172 0t0 TCP *:sunrpc (LISTEN) systemd 1 root 39u …

2
コマンドを入力でフィードするには、合計でいくつの方法がありますか?
Linuxで最初に気付いたのは、コマンドにデータを供給するさまざまな方法でした。いくつかは知っていますが、全体の数はわかりません。 私がこれまでに知っている方法: 配管: echo -e "zorro\nwurst\nlahmacun\nsozialhilfe" | sort End of File信号を使用したキーボードから: sort >gurken >zucker >braunkohle ファイルから: sort foo こちらの文字列(実際にはこちらのドキュメントと呼ばれます): sort << HERE >wasserkopf >elternzeit >schuldeingeständnis >währungsreform >alabasterhaut HERE これはすべてですか、それとも実行する方法が他にもありますか?なぜ、まったく異なる方法があるのですか?いくつかの方法は冗長ですか?

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