APT Advanced Packaging Toolは、Linuxベースのシステムにあるもう1つのパッケージマネージャーです。当初はdpkgのフロントエンドとして設計されました .debと連携する パッケージ、aptは、Mac OS、OpenSolarisなどでの可視性を示すことに成功しました。
APT について学び、習得したい およびDPKG Debianパッケージ管理を管理するコマンドを使用してから、30以上をカバーする詳細な記事を使用してください。 両方のツールの例。
25 Debian/Ubuntuパッケージ管理に役立つAPTコマンド15Debian/Ubuntuでのパッケージ管理に役立つDpkgコマンドこの記事では、Debian Linuxおよびその派生物(UbuntuやLinux Mintなど)でパッケージを無効化/ロックしてインストール、アップグレード、および削除するためのさまざまな手法について説明します。
1。保留/保留解除オプションで「apt-mark」を使用してパッケージを無効化/ロックする
コマンドapt-mark ソフトウェアパッケージを自動的にインストールされるものとしてマークまたはマーク解除し、オプションホールドで使用されます または保留 。
- 保留 –このオプションは、パッケージを保留としてマークするために使用されます。これにより、パッケージのインストール、アップグレード、または削除がブロックされます。
- 保留しない –このオプションは、以前に設定されたパッケージの保留を削除し、パッケージのインストール、アップグレード、および削除を可能にするために使用されます。
たとえば、パッケージを作成する場合は、apache2
と言います。 インストール、アップグレード、またはアンインストールに使用できない場合は、root権限を持つターミナルで次のコマンドを使用できます。
# apt-mark hold apache2
このパッケージを更新できるようにするには、「保留」を置き換えるだけです。 ‘と‘ unhold ‘。
# apt-mark unhold apache2
APT設定ファイルを使用したパッケージ更新のブロック
特定のパッケージの更新をブロックする別の方法は、そのエントリを/etc/apt/preferences
に追加することです。 または/etc/apt/preferences.d/official-package-repositories.pref
ファイル。このファイルは、ユーザーが指定した優先度に従って、特定のパッケージの更新を更新またはブロックする責任があります。
パッケージをブロックするには、名前、追加機能、およびパッケージの優先順位を入力するだけです。ここで、優先度< 1
パッケージをブロックします。
パッケージをブロックするには、ファイル/etc/apt/preferences
にその詳細を入力するだけです。 このように:
Package: <package-name> (Here, '*' means all packages) Pin: release * Pin-Priority: <less than 0>
たとえば、パッケージapache2の更新をブロックするには、次のようにエントリを追加します。
Package: apache2 Pin: release o=Ubuntu Pin-Priority: 1
ピン優先度を適用しているパッケージをさらに識別するために、releaseキーワードで他のオプションを使用できます。それらのキーワードは次のとおりです。
- a ->アーカイブ
- c ->コンポーネント
- o ->起源
- l ->ラベル
- n ->アーキテクチャ
のように:
Pin: release o=Debian,a=Experimental
記載されているパッケージをDebianパッケージの実験アーカイブからプルすることを意味します。
APT自動削除ファイルを使用してパッケージアップデートをブラックリストに登録する
インストールからパッケージをブラックリストに登録する別の方法は、/etc/apt/apt.conf.d/
に含まれているファイルの1つでそのエントリを更新することです。 01autoremoveであるディレクトリ 。
サンプルファイルを以下に示します:
APT { NeverAutoRemove { "^firmware-linux.*"; "^linux-firmware$"; }; VersionedKernelPackages { # linux kernels "linux-image"; "linux-headers"; "linux-image-extra"; "linux-signed-image"; # kfreebsd kernels "kfreebsd-image"; "kfreebsd-headers"; # hurd kernels "gnumach-image"; # (out-of-tree) modules ".*-modules"; ".*-kernel"; "linux-backports-modules-.*"; # tools "linux-tools"; }; Never-MarkAuto-Sections { "metapackages"; "restricted/metapackages"; "universe/metapackages"; "multiverse/metapackages"; "oldlibs"; "restricted/oldlibs"; "universe/oldlibs"; "multiverse/oldlibs"; }; };
これで、パッケージをブラックリストに登録するには、Never-MarkAuto-Sections
にその名前を入力するだけです。 。 Never-MarkAuto-Section
の最後にパッケージの名前を入力するだけです ファイルを保存して閉じます。これにより、そのパッケージのさらなる更新を検索するためのaptがブロックされます。
たとえば、パッケージが更新されないようにブラックリストに登録するには、次のようにエントリを追加します。
Never-MarkAuto-Sections { "metapackages"; "restricted/metapackages"; "universe/metapackages"; "multiverse/metapackages"; "oldlibs"; "restricted/oldlibs"; "universe/oldlibs"; "multiverse/oldlibs"; "apache2*"; }; };
更新用のカスタムパッケージの選択
これに対する別の代替手段は、更新するものを選択することです。 apt ツールを使用すると、更新するものを自由に選択できますが、そのためには、アップグレードに使用できるすべてのパッケージについての知識が必要です。
そのような場合は、次の一連のコマンドが役立つことがわかります。
a。 保留中の更新があるパッケージを一覧表示します。
# apt-get -u -V upgrade
b。 選択したパッケージのみをインストールします。
# apt-get --only-upgrade install <package-name>
結論
この記事では、APTの方法を使用してパッケージの更新を無効化/ブロックまたはブラックリストに登録するいくつかの方法について説明しました。他の好ましい方法を知っている場合は、コメントでお知らせください。パッケージの更新を無効化/ロックするためのyumコマンドを探している場合は、以下の記事をお読みください。
CentOS/RHELでYumを使用してパッケージ更新を無効化/ロックする