Unix & Linux

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

3
UNIXプログラムを特定のネットワークインターフェイスにバインドする
質問: ネットワークアクセスが特定のネットワークインターフェイスを介してバインドされていることを確認しながら、プログラムを起動するにはどうすればよいですか? ケース: 同じIP(192.168.1.1)で2つの異なるマシンにアクセスしたいが、2つの異なるネットワークインターフェイス(eth1およびeth2)を介してアクセスしたい。 例: net-bind -D eth1 -exec {Program 192.168.1.1} net-bind -D eth2 -exec {Program 192.168.1.1} 上記は、primusrunとoptirunを介して行われたハードウェアバインディングに触発された、私が望むものの近似です。 課題:関連するスレッドで示唆されているように、使用されるインターフェースはプログラムによってではなく、カーネルによって選択されます(したがって、上記の例の事前バインディング構文です)。 私はいくつかの関連する解決策を見つけましたが、それは不十分です。これらは、ユーザー固有のネットワークブラックリスト登録によるネットワークインターフェイスのバインドに基づいています。つまり、単一の特定のネットワークインターフェイスにのみアクセスできるユーザーとしてプロセスを実行します。

3
配列をコマンドの引数に変換しますか?
コマンドの「オプション」の配列があります。 my_array=(option1 option2 option3) 配列の値をオプションとして使用して、bashスクリプトでこのコマンドを呼び出します。したがって、次のようにcommand $(some magic here with my_array) "$1"なります。 command -option1 -option2 -option3 "$1" どうすればいいですか?出来ますか?
40 bash  parameter  array 

7
タブ補完エラー:bash:ヒアドキュメント用の一時ファイルを作成できません:デバイスにスペースが残っていません
タブバーを使用すると、次のエラーが表示されます。 bash:ヒアドキュメント用の一時ファイルを作成できません:デバイスにスペースが残っていません」 何か案は? 私はいくつかの調査を行ってきましたが、多くの人が/ tmpファイルについて話します。実行するdf -hと次のようになります: Filesystem Size Used Avail Use% Mounted on /dev/sda2 9.1G 8.7G 0 100% / udev 10M 0 10M 0% /dev tmpfs 618M 8.8M 609M 2% /run tmpfs 1.6G 0 1.6G 0% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 1.6G 0 1.6G 0% /sys/fs/cgroup /dev/sda1 …
40 debian  shell  ssh  tmp 


4
マウント:間違ったfsタイプ、悪いオプション、悪いスーパーブロック
/dev/sdbUbuntu Server 16に新しいハードドライブ()を追加し、実行parted /dev/sdb mklabel gptしましたsudo parted /dev/sdb mkpart primary ext4 0G 1074GB。すべてうまくいった。次に、ドライブをマウントしようとしました mkdir /mnt/storage2 mount /dev/sdb1 /mnt/storage2 結果として mount: wrong fs type, bad option, bad superblock on /dev/sdb1, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | …
40 ubuntu  mount  fdisk 

5
各grepの結果の2行目から4行目を表示するにはどうすればよいですか?
配信に失敗した電子メールに関する電子メールサーバーレポートを格納するメールボックスファイルを解析しています。悪い電子メールアドレスを抽出して、システムからそれらを削除したいです。ログファイルは次のようになります。 ...some content... The mail system <slavicatomic118@hotmail.com>: host mx1.hotmail.com[65.54.188.94] said: 550 Requested action not taken: mailbox unavailable (in reply to RCPT TO command) ...some content... The mail system <oki88@optimumpro.net>: host viking.optimumpro.net[79.101.51.82] said: 550 Unknown user (in reply to RCPT TO command) ...some content... The mail system <sigirna_luka@yahoo.com>: host mta5.am0.yahoodns.net[74.6.140.64] said: …
39 grep 


3
pingへの応答を担当するLinuxプロセスは何ですか?
Linuxベースのプロセスコントローラーがあり、それをpingできないポイントまでロックすることがあります(つまり、pingを実行でき、ネットワーク設定を変更しないとpingできなくなります)。 pingに実際に応答するのはどのプロセス/システムの責任ですか?このプロセスはクラッシュしているようです。

1
UbuntuとDebianは、sudo特権を持つユーザーの$ HOMEをどのように管理しますか?
私はmyhome.sh1行のみを含むbashスクリプトを持っています: echo $HOME スクリプトの所有者はユーザーです: $ ls -l myhome.sh -rw-rw-r-- 1 user user <date> <time> myhome.sh でUbuntuの16.04と17.10私が取得します: $ echo $HOME /home/user $ sudo echo $HOME /home/user $ bash myhome.sh /home/user $ sudo bash myhome.sh /home/user ではDebianのバスター/テスト Iを得ます: $ echo $HOME /home/user $ sudo echo $HOME /home/user $ bash myhome.sh /home/user # …
39 bash  debian  ubuntu  sudo  home 

1
SSH公開(および秘密)キーの一部が重複しているのはなぜですか?
具体的には、ssh Ed25519公開キーの最初の25文字が常に同じなのはなぜですか? たとえば、で5つのキーを作成する場合ssh-keygen -o -a 100 -t ed25519、最初の25文字は常にAAAAC3NzaC1lZDI1NTE5AAAAIです。 これはある種の前文またはヘッダーであると思いますが、実際の答えを知りたいと思います。
39 ssh  sshd  ssh-keygen 


5
Debian JessieでXサーバーの自動起動を無効にする方法は?
lightdmがインストールされたDebian 8(Jessie)を実行しているリモートマシンがあります。非GUIモードで起動したいのですが、-Xパラメーターを使用してSSHで実行できるようにするために、X関連のものをすべて削除したくありません。Xサーバーの自動起動を削除せずに無効にする方法は? 私が試したsystemctl stop lightdm、それはlightdmを停止しますが、再起動後に再び実行されます。私も試しましたsystemctl disable lightdmが、基本的には何もしません。/etc/rc*.dディレクトリ内のlightdmのスクリプトの名前を変更しますが、再起動後に起動します。何が間違っていますか?そして、私はただupdate-rc.d lightdm stop、できません。なぜなら、それは非推奨で動作しないからです。

1
rpcbindは正確に何をしますか?
ドキュメントによると: rpcbind [3]ユーティリティは、RPCサービスをリッスンするポートにマップします。RPCプロセスは、起動時にrpcbindに通知し、リッスンしているポートと、処理する予定のRPCプログラム番号を登録します。次に、クライアントシステムは、特定のRPCプログラム番号でサーバー上のrpcbindに接続します。rpcbindサービスは、クライアントを適切なポート番号にリダイレクトして、要求されたサービスと通信できるようにします これをテストするために、NFSサーバーとクライアントをセットアップし、それらの間のトラフィックを監視しました。私が見たところ、クライアントはサーバー上のNFSサービスがポート2049でリッスンしていることをすでに知っていました。 それで、rcpbindはいつ登場しますか?私が行うとrpcinfo、サーバー上で、私は以下のようになります。 100003 2 udp 0.0.0.0.8.1 nfs superuser 100003 3 udp 0.0.0.0.8.1 nfs superuser 100003 2 udp6 ::.8.1 nfs superuser 100003 3 udp6 ::.8.1 nfs superuser 100003 2 tcp 0.0.0.0.8.1 nfs superuser 100003 3 tcp 0.0.0.0.8.1 nfs superuser 100003 2 tcp6 ::.8.1 nfs superuser 100003 3 tcp6 …
39 remote 

3
4.3カーネルで「リソースが一時的に利用不可」でスレッドの作成が失敗する
いくつかのコンテナでArch Linux(カーネル4.3.3-2)でdockerサーバーを実行しています。前回の再起動以来、ドッカーサーバーとコンテナ内のランダムプログラムの両方がクラッシュし、スレッドを作成できない、または(あまり頻繁ではありませんが)フォークするというメッセージが表示されます。特定のエラーメッセージはプログラムによって異なりますが、それらのほとんどは特定のエラーに言及しているようですResource temporarily unavailable。エラーメッセージの例については、この投稿の最後をご覧ください。 今、このエラーメッセージを受け取った人がたくさんいますし、彼らへの応答もたくさんあります。本当にイライラするのは、誰もが問題を解決する方法を推測しているように見えることですが、問題の多くの考えられる原因のどれが存在するかを特定する方法を誰も指摘していないようです。 エラーの考えられる5つの原因と、それらがシステムに存在しないことを確認する方法を収集しました。 /proc/sys/kernel/threads-max(source)で設定されるスレッドの数にはシステム全体の制限があります。私の場合、これはに設定されてい60613ます。 すべてのスレッドはスタック内のスペースを使用します。スタックサイズの制限はulimit -s(source)を使用して構成されます。私のシェルの制限があることに使用される8192が、私は置くことによって、それが増加している* soft stack 32768に/etc/security/limits.confので、ulimit -s今戻ります32768。私も入れてドッキングウィンドウのプロセスのためにそれを増加しているLimitSTACK=33554432に/etc/systemd/system/docker.service(ソース、と私は限界が覗くことで適用されていることを確認/proc/<pid of docker>/limitsし、実行することにより、ulimit -sドッキングウィンドウコンテナ内。 すべてのスレッドはいくらかのメモリを消費します。仮想メモリの制限は、を使用して構成されますulimit -v。私のシステムではに設定されてunlimitedおり、3 GBのメモリの80%が無料です。 を使用するプロセスの数には制限がありますulimit -u。この場合、スレッドはプロセスとしてカウントされます(source)。私のシステムでは、制限はに設定されて30306おり、Dockerデーモンおよび内部のdockerコンテナの場合、制限は1048576です。現在実行中のスレッドの数は、実行ls -1d /proc/*/task/* | wc -lまたは実行ps -elfT | wc -l(source)によって確認できます。私のシステムでは、それらはとの間に700あり800ます。 開いているファイルの数には制限があります。一部のソースによると、これはスレッドを作成するときにも関係します。制限はを使用して設定されますulimit -n。私のシステムと内部ドッカーでは、制限がに設定されてい1048576ます。開いているファイルの数はlsof | wc -l(source)を使用して調べることができます30000。私のシステムでは約です。 最後のリブート前にカーネル4.2.5-1を実行していたように見えますが、現在は4.3.3-2を実行しています。4.2.5-1にダウングレードすると、すべての問題が修正されます。この問題に言及している他の投稿はthisとthisです。Arch Linuxのバグレポートを開きました。 これを引き起こしている可能性のあるカーネルの変更点は何ですか? エラーメッセージの例を次に示します。 Crash dump was written to: erl_crash.dump Failed to create aux thread …
39 linux  docker  limit  fork  thread 

4
nvmコマンドはbashスクリプトでは使用できません
nvm最終的にノードがインストールされるスクリプトを作成しようとしています。cURLで インストールnvmしました。.profileor .bashrcファイルの変更を確認し(両方とも)nvm、bashプロンプトでを入力すると、使用可能なオプションなどが表示されます。 したがって、nvmは機能します。手動でノードをインストールできますが、nvmコマンドをシェルスクリプトに入れるとすぐに: nano test.sh #!/bin/bash nvm そしてそれを実行します: chmod 755 test.sh ./test.sh 私は得る: ./test.sh: line 2: nvm: command not found それが見つからない場合nvm、私も考える必要はありません nvm ls-remote または nvm install ... Ubuntu 14.04をインストールしました。Bashは私のシェルです。

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