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

Debfoster –DebianとUbuntuで必須パッケージのみを保持する

今日は、Debianとその派生物(UbuntuやLinux MintなどのUbuntuバリアントなど)のあまり知られていないが有用なユーティリティについて学習します。 「Debfoster」に挨拶します -必須パッケージのみを保持し、不要になった他のパッケージを削除するコマンドラインユーティリティ。したがって、常にクリーンで最小限のシステムを維持できます。 debfosterアプリケーションは、aptおよびdpkgパッケージマネージャー用のラッパープログラムです。依存関係としてインストールされるのではなく、明示的に要求されたインストール済みパッケージのリストを保持します。

初めて実行すると、インストールされているパッケージのリストが作成され、 keepersという名前のファイルに保存されます。 / var / lib / debfoster /にあります ディレクトリ。 Debfosterはこのリストを使用して、他のパッケージがそれらに依存しているという理由だけでインストールされたパッケージを検出します。これらの依存関係の1つが変更されると、debfosterはそれに気づき、古いパッケージを削除するかどうかを尋ねます。このようにして、選択した必須パッケージを使用してクリーンなシステムを維持するのに役立ちます。

Debfosterを使用してDebianとUbuntuに必須パッケージのみを保持する

Debfosterはデフォルトのリポジトリで利用できます。したがって、インストールは大したことではありません。次のコマンドを実行して、DebianベースのシステムにDebfosterをインストールします。

$ sudo apt install debfoster

インストールしたら、次のコマンドを実行して、インストールされているパッケージのリストを作成する必要があります。

$ sudo debfoster -q

上記のコマンドは、現在インストールされているパッケージをキーパーに追加します / var / lib / debfoster /のファイル ディレクトリ。このファイルを編集して、システムにインストールしたくないパッケージを削除できます。

これが私のキーパーファイルの内容です。

$ cat /var/lib/debfoster/keepers

Linuxカーネル、grub、Ubuntu-base、Ubuntu-desktopなど、システム関連の重要なパッケージをこのファイルから削除しないでください。また、手動で編集した重要な構成ファイルをバックアップしてください。

ここで、debfosterユーティリティに、keepersファイルにリストされていないパッケージを削除するように強制します。これを行うには、次を実行します:

$ sudo debfoster -f

Debfosterは、キーパーファイルで利用できないすべてのパッケージとその依存関係を削除します。

また、欠落していると思われる欠落しているパッケージもインストールされるため、システムはdebfosterデータベースに準拠する必要があります。

また、パッケージを追加/削除するたびに次のコマンドを実行して、削除する必要のある孤立したパッケージや不要な依存関係がないかどうかを確認できます。

$ sudo debfoster

パッケージをインストール/削除した場合は、次のような出力が表示されます。出力にあるように、Screenパッケージは私のキーパーリストにリストされていません。なぜなら、キーパーリストを作成してからインストールしたからです。それで、debfosterは私がこれを保持したいかどうか私に尋ねます。どうすればよいかわからない場合は、 Hと入力してください ヘルプセクションを表示します。

Keep screen? [Ynpsiuqx?], [H]elp: H

 Yes Keep screen. [default]
 No Delete screen.
 Prune Delete screen and the packages it is keeping installed.
 Skip Skip this question.
 Help Print this message.
 Info or ? Show information about screen.
 Undo Undo last response.
 Quit Exit without removing packages.
 Exit Remove unwanted packages and exit.

Keep screen? [Ynpsiuqx?], [H]elp:

Debfosterは、可能なすべてのオプションを表示します。 Yと入力します パッケージを削除したくない場合。これでscreenパッケージがkeepersファイルに追加され、「apt-get remove screen」コマンドを使用して手動で削除しない限り、Debfosterは今後のトランザクションでそれを削除しません。 Nと入力します スクリーンパッケージを削除します。 Pと入力します 画面とインストールされているパッケージを削除します。 情報と入力します または パッケージの詳細を表示します。 Q パッケージを削除せずに終了します。そして、 Eと入力します パッケージを削除して終了します。

キーパーリストでのパッケージの表示

debfosterデータベース内のパッケージのリストを表示するには、次のコマンドを実行します。

$ debfoster -a

これが私のUbuntu16.04LTSデスクトップのパッケージのリストです。

The following packages are on the keeper list:
 account-plugin-aim brasero debfoster deja-dup-backend-gvfs dialog firefox-locale-en gdebi gir1.2-webkit-3.0 git hyphen-en-us indicator-multiload
 language-pack-gnome-en libarchive-extract-perl libcpan-meta-perl libmodule-build-perl libmodule-pluggable-perl libpackage-constants-perl libpod-latex-perl
 libreoffice-help-en-us libreoffice-style-human libterm-ui-perl libtext-soundex-perl libvisual-0.4-plugins linux-generic linux-headers-4.4.0-15-generic
 linux-image-extra-4.4.0-15-generic myspell-en-au myspell-en-gb myspell-en-za mythes-en-us oneconf openoffice.org-hyphenation openssh-server python-pip python3-smbc
 rhythmbox-plugin-cdrecorder rhythmbox-plugin-magnatune samba-common screen shutter ssh-askpass-gnome telepathy-idle thunderbird-locale-en-us ubuntu-desktop
 ubuntu-minimal ubuntu-sso-client-qt ubuntu-standard ubuntu-wallpapers-wily wbritish xserver-xorg-video-cirrus xserver-xorg-video-mach64 xserver-xorg-video-mga
 xserver-xorg-video-neomagic xserver-xorg-video-openchrome xserver-xorg-video-r128 xserver-xorg-video-savage xserver-xorg-video-siliconmotion
 xserver-xorg-video-sisusb xserver-xorg-video-tdfx xserver-xorg-video-trident

別のキーパーファイルを使用する

デフォルトでは、debfosterはインストールされたパッケージを / var / lib / debfoster / keepersに保持します ファイル。ただし、 -k を使用して、別のdebfosterデータベース(もちろん、keepersファイル)を指定できます。 以下のようなフラグ。

$ debfoster -k <path-to-keeper-file>

孤立したパッケージの表示

孤立したパッケージをチェックするために、必ずしも「sudodebfoster」コマンドを実行する必要はありません。 -sを使用するだけです 孤立したパッケージがあるかどうかを確認するには、以下のようなフラグを立ててください。

$ debfoster -s
The following packages have been orphaned:
 tmux

上記の出力でわかるように、孤立したパッケージが1つあります。パッケージが必要で、debfosterに削除させたくない場合は、次のコマンドを実行して、keepersファイルに追加するだけです。

$ sudo debfoster

tmuxを保持するかどうかを尋ねられます。 tmuxをkeepersファイルに保持する場合は、単に Yと入力します 。

Keep tmux? [Ynpsiuqx?], [H]elp:Y

または、keepersファイルを手動で編集して、リストにtmuxを追加することもできます。

$ sudo vi /var/lib/debfoster/keepers

tmuxを追加します。

[...]
tmux

:wqと入力します 保存するには、ファイルを終了します。これで、「debfoster -s」コマンドを実行しても、孤立したパッケージは表示されなくなります。

ここで孤立したパッケージとは、debfosterデータベースに記載されていないパッケージを意味することに注意してください。パッケージが完全に必要ないという意味ではありません。たとえば、screenおよびtmuxユーティリティは非常に便利です。したがって、それらをdebfosterデータベースに追加できます。

パッケージの追加/削除

debfosterはapt-getおよびdpkgパッケージマネージャーのラッパーであるため、これを使用してパッケージを追加または削除することもできます。

パッケージをインストールするには、次のコマンドを実行します:

$ sudo debfoster screen

これで、debfosterがapt-getを実行し、指定されたパッケージをインストールします。

パッケージを削除するには、以下のように名前の直後にマイナス(-)を付けるだけです。

$ sudo debfoster screen-
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following packages will be REMOVED:
 screen*
0 upgraded, 0 newly installed, 1 to remove and 608 not upgraded.
After this operation, 972 kB disk space will be freed.
Do you want to continue? [Y/n]

依存関係の検索

パッケージが依存するすべてのパッケージを一覧表示するには、 -dを使用します フラグ。

$ debfoster -d screen

また、特定のパッケージに依存するdebfosterデータベース内のすべてのパッケージを一覧表示するには、 -eを使用します。 以下のようなフラグ。

$ debfoster -e screen

詳細については、manページを参照してください。

$ man debfoster

ご覧のとおり、Debfosterは、インストールしたものを追跡し、不要な他のすべてのパッケージを削除するのに役立ちます。繰り返しになりますが、警告します。このアプリケーションは慎重に使用する必要があります。 Ubuntuベース、grub、現在のカーネルなどの重要なシステム関連パッケージを削除しないでください。削除すると、システムが使用できなくなる可能性があります。

推奨される読み物:

  • Debianベースのシステムで不要な設定ファイルを削除する
  • Linuxで未使用のパッケージを見つけて削除する方法

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

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

  3. Ubuntu、Debian、LinuxMintにPython3.7をインストールする方法

  1. 必須パッケージのみを保持しますか?

  2. MacにUbuntuをインストールしてOsxを維持する方法は?

  3. Ubuntu16.04およびDebian9で壊れたパッケージを修正する方法

  1. UbuntuとDebianのKodiにNetflixをインストールする方法

  2. Debian 9 / Ubuntu 16.04/17.10にWiresharkをインストールして使用する方法

  3. Debian/UbuntuにWebminをインストールして設定する方法