GNU/Linux >> Linux の 問題 >  >> Ubuntu

バックグラウンドプロセスとサービスを開始せずにパッケージをインストールしますか?

一部のアプリケーションをインストールすると、インストール時に自動的に実行されるアプリケーションからプロセスまたはサービスが開始される場合があります。起動せずにインストールするにはどうすればよいですか?

ベストアンサー

少しハックですが、これを行うには非常に信頼性の高い方法があります。これは、自動インストールスクリプトでしばらく使用しています。

まず、/root/fakeなどのディレクトリを作成します 、/bin/trueへのシンボリックリンクが含まれています 呼ばれる:

initctl
invoke-rc.d
restart
start
stop
start-stop-daemon
service
deb-systemd-helper

また、何もせずに成功を返すbashスクリプトにすることもできます。

次に、そのディレクトリを$PATHの前に含めます パッケージをインストールする場合:

PATH=/root/fake:$PATH apt-get install whatever

これは、initramfsの作成などがまだ行われている間、デーモンが起動/再起動するのを防ぐだけです。

説明

パッケージのインストールおよび削除時に実行されるスクリプトは、invoke-rc.dを実行します。 またはサービスを開始および停止するための上記のコマンドの他のもの。ただし、絶対パスで呼び出すことはありません(少なくとも、絶対パスで呼び出すものはありません)。

したがって、$PATHの先頭に偽の「nooperation」コマンドを挿入します 、実際のコマンドが呼び出されることはありません。

サービスの開始/停止に使用されるコマンドのみが偽造されているため、他のすべて、特にinitramfs-imagesの更新/作成などの重要なタスクは引き続き機能します。


Ubuntu
  1. LinuxMint20でSnapを有効にしてSnapパッケージをインストールする方法

  2. UbuntuとDebianにNode.jsをインストールする

  3. root にならずに RPM をインストールするにはどうすればよいですか?

  1. Ubuntu11.10およびUbuntu11.04にRPMパッケージをインストールします

  2. Ubuntu13.04にNagiosをインストールする方法

  3. ターミナルを使用せずにPycharmをインストールして使用するにはどうすればよいですか?

  1. LinuxでNanoテキストエディタコマンドをインストールして使用する方法

  2. コマンドを使用してLinux画面をインストールして使用する方法

  3. バックグラウンドおよびフォアグラウンドでのLinuxコマンドの実行