ここで読むのをやめることができます。実際、Ubuntuをnoobに教える場合を除き、実行してください。上記の質問は、答えられるほど明確でなければなりません。残りは、Ubuntuでの自分の道を見つけるための、より構造化された方法を求めることです。多かれ少なかれ、他の「UNIXライクな」システムを使用できます。
私は初心者なので、無意味に行動するなら、あなたの毎日のWTFを考慮してください。
起動するたびに、/sbin/init
はavahi-daemon
というプロセスを起動しているようです
# initctl list | grep avahi
avahi-daemon start/running, process 1280
ユーザーavahi
として
# id avahi
uid=107(avahi) gid=118(avahi) groups=118(avahi)
ps -efww ef
は2つのプロセスがアクティブであることを示し、両方ともavahi-daemon
と呼ばれ、最初のavahi-daemon
のPPID
は1
であり、2番目のプロセスは最初。 PPID
= 1
は、これが自動開始されたと思わせるものです。
オプションで:
私はそれについて考えて、システムの起動時に実行されるものを適切にチェックする方法を本当に知りません。
これは起動時に実行されるサービスのリストを取得する方法ですか?initctl list | sort
とにかく、このコマンドを使用してこの「サービス」を一時的に停止できるようです。
service avahi-daemon stop
または実際にこのコマンド
/etc/init.d/avahi-daemon stop
直接、これはこの/usr/sbin/service
が使用しているようです:
env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE"
スクリプトを起動すると、「Upstart」サービスを制御していること、およびより単純な呼び出しstop avahi-daemon
を使用する必要があることを思い出させます。 Upstartについて学ぶ必要があると思いますが、今のところ、私が学ぶ必要があるのはこれだけです:
buntuでサービスを無効にする方法
ここに私が試したものがあります(これはそれを行う適切な方法でしょうか、そうではありませんか?):
update-rc.d avahi-daemon disable
しかし、それは文句を言います:
System start/stop links for /etc/init.d/avahi-daemon do not exist
だから私はバイナリへの道を探しに行きました:
# Let me know if there is a better way to get the path above
readlink "/proc/$(echo `ps --no-headers -o pid -C avahi-daemon | head -n 1`)/exe"
これは:
/usr/sbin/avahi-daemon
etc
の「実行可能ファイル」と見なされるものはすべて:
find /etc -type f -name '*avahi*' -perm -u+x
/etc/rcN.d
にスタートアップスクリプトが見つかると考えています。代わりに他のものを見つけました:
/etc/dhcp/dhclient-exit-hooks.d/zzz_avahi-autoipd
/etc/dhcp/dhclient-enter-hooks.d/avahi-autoipd
/etc/resolvconf/update-libc.d/avahi-daemon
/etc/network/if-up.d/avahi-autoipd
/etc/network/if-up.d/avahi-daemon
/etc/network/if-down.d/avahi-autoipd
/etc/avahi/avahi-autoipd.action
このavahi-daemon
の事柄は、ネットワーク状態の変更で起動されているように見えますか?システムで自動的に開始されたバイナリを追い詰めるより良い方法はありますか?
通常、この段階でさまざまなrc{3,5}.d
のシンボリックリンクを削除していましたが、今はあまりわかりません。この獣の正確な始まりは何ですか? apt-get remove
またはapt-get purge
なしで無効にする方法
私が見る限り、開いているリソースは多すぎません:
lsof -p $(echo `ps --no-headers -o pid -C avahi-daemon | head -n 1`)
htop
を一目見ただけで、あまりにも多くのCPUサイクルを使用しません。
CPU使用率が1分間ファンキーになっているかどうかを確認するためにこのワンライナーを書きましたが、決して機能しませんが、それを確認するより良い方法があるかどうかを教えてください:
for i in {1..59}; do ps -p $(echo `ps --no-headers -o pid -C avahi-daemon | head -n 1`) --no-headers -o pcpu; sleep 1; done
スタートアップスタートアップスクリプトは/etc/init
にあり、avahi-daemon.conf
があります。 initctl list
にリストされているものはすべて、/etc/init
内のスクリプトと一致し、それらは実行可能ではないため、find
はそれらを逃しました。
Upstartが制御するサービスを無効にするには、 サービスの無効化に関するクックブックの起動 :#
をstart on
行に追加するか、オーバーライドファイル(例:Sudo sh -c "echo manual > /etc/init/avahi-daemon.override"
)を使用します。
Sudo systemctl disable avahi-daemon
ubuntu Gnome 15.10で私のために働いた
avahi-daemon
(およびavahi-daemon.socket
)を停止しても、Firefoxは常にそれを再起動することがわかりました。ただし、これは機能し、この迷惑なデーモンを永久に無効にします。
apt-get remove avahi-daemon
PCのブート時に起動を停止する必要はないかもしれませんが、殺すときにrespawn
のように防ぐことができます。
したがって、/etc/init/avahi-daemon.conf
のrespawn
をコメントアウトするだけです
そのプロセスの強制終了は常に失敗するため、airmon-ng check
を渡すことができませんでした。リスポーンをコメントアウトすると、殺されて二度と狩りに戻りません。
サービスアバヒデーモンストップ
これを使って。驚異的です。
次に、airmon-ng check wlo1を使用して、重複するサービスを確認します。 Uは何も見つかりません。
これを使用しただけで、Ubuntu 16.04で正常に動作します
service avahi-daemon stop
OPはこの行を使用しますが、単純なコマンド(自分のような)を検索しているユーザーを要約するために使用します。
パージするだけです。または、rc3.d、rc4.d、およびrc5.dで無効にします。su/ rootとして
apt-get purge avahi-daemon
はい
それはあなたのシステムから離れるべきです。 /etc/rc3.dなどを確認してください。起動時に削除されます。
無効にするためにsystemdを使用しないでください。最適な方法は、実行レイヤーでrunscriptをSではなくKに削除または変更することです。
使い方はどうですか
sysv-rc-conf
これらのために?とても便利です!
(つまり、まずapt-getでインストールしてからSudoとして実行します)