/etc/init.d/からmountnfsを正しく削除する方法

/etc/init.d/からmountnfsを正しく削除する方法

カーネル3.2.0-0.bpo.3-amd64で実行されているDebian squeezeインストールの起動プロセスをクリーンアップしながら、/etc/init.d/に複数のmountnfsスクリプトを見つけました。

# ls /etc/init.d/ | grep mountnfs
mountnfs-bootclean.sh
mountnfs.sh
umountnfs.sh

削除に失敗しました。次のコマンドを使用してください。

# update-rc.d -f mountnfs remove
update-rc.d: using dependency based boot sequencing

のための」NFSマウント"、umountnfs、mountnfs-bootclean、nfs、nfs-commonも試しました。

アップデート#1 また、試しましたが成功しませんでした:umountnfs.sh、mountnfs.sh。

その結果、mountnfs-bootclean、mountnfs、unmountnfs.sh はまだ /etc/init.d/ とその実行レベルフォルダにあります。

単にこれらのファイルを削除するのはrm正しいアプローチではないようです。私はこのinit.dファイルがインストールされているパッケージに属していると思います。ただし、インストールされているNFSパッケージが見つかりません。

# dpkg --get-selections | grep nfs
libnfsidmap2                    install

init.dからすべてのmountNFSスクリプトを正しく削除する方法は?

答え1

ファイルが属するパッケージを確認するには、以下を使用しますdpkg -S

$ dpkg -S /etc/init.d/mountnfs.sh
initscripts: /etc/init.d/mountnfs.sh

mountnfs.shに属する基本的なinitscripts というパッケージです。

スクリプトを直接作成しない限り、/etc/init.d/からスクリプトを削除しないでください。これがupdate-rc.dユーティリティが存在する理由です。/etc/rc*.d/より簡単な方法でディレクトリ。

update-rc.dでは、名前でスクリプトを呼び出す必要があり、依存関係のために次の順序で無効にすると機能します。

update-rc.d mountnfs-bootclean.sh remove ### mountnfs-bootclean.sh first
update-rc.d mountnfs.sh remove
update-rc.d umountnfs.sh remove

しかし、先月試してみましたが、システムが破損していました(私の記憶ではXを起動できませんでした)。問題は、mountnfs-bootclean.sh名前では暗示されていませんが、必要なシステムクリーンアップを実行することですmountnfs.sh。したがって、無効にすることもできません。

これがDebian初期化スクリプトのバグだと思うかもしれません。ネットワークファイルシステムなしで初期化スクリプトを使用する必要があります。私はこれが迷惑であることを知っています。

削除に固執して変更を元に戻す必要がある場合は、最初に有効にする必要があるため、mountnfs-bootclean.sh逆の順序で再度有効にする必要がありますmountnfs.sh

update-rc.d umountnfs.sh defaults
update-rc.d mountnfs.sh defaults
update-rc.d mountnfs-bootclean.sh defaults ### mountnfs-bootclean.sh last

関連情報