Apt 도구를 사용하여 패키지 업데이트를 비활성화 / 잠금 또는 블랙리스트하는 방법
APT는 Advanced Packaging Tool이 Linux 기반 시스템에서 발견되는 또 다른 패키지 관리자임을 의미합니다. 처음에는 dpkg가 .deb 패키지와 함께 작동하는 프런트 엔드로 설계되었으며, apt는 Mac OS, Open Solaris 등에서 그의 가시성을 성공적으로 보여주었습니다.

데비안 패키지 관리를 관리하기위한 APT 및 DPKG 명령에 대해 배우고 숙달 한 다음 두 도구에 대한 30 개 이상의 예제를 다룰 심층 기사를 사용하십시오.
이 기사에서는 Debian Linux 및 Ubuntu 및 Linux Mint와 같은 파생 제품에서 설치, 업그레이드 및 제거에서 패키지를 비활성화/잠금하는 다양한 기술을 살펴 봅니다.
1. 보류 / 보류 해제 옵션이있는 'apt-mark'를 사용하여 패키지 비활성화 / 잠금
apt-mark 명령은 소프트웨어 패키지가 자동으로 설치되는 것으로 표시하거나 표시를 해제하며 옵션 보류 또는 보류 해제와 함께 사용됩니다.
- hold – this option used to mark a package as held back, which will block the package from being installed, upgraded or removed.
- unhold – this option used to remove a previously set hold on a package and allow to install, upgrade and remove package.
예를 들어, apache2
패키지를 설치, 업그레이드 또는 제거에 사용할 수 없게하려면 루트 권한으로 터미널에서 다음 명령을 사용할 수 있습니다.
# apt-mark hold apache2
이 패키지를 업데이트 할 수 있도록하려면‘hold‘를‘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

핀 우선 순위를 적용하는 패키지를 추가로 식별하기 위해 릴리스 키워드와 함께 다른 옵션을 사용할 수 있습니다. 해당 키워드는 다음과 같습니다.
- a -> Archive
- c -> Component
- o -> Origin
- l -> Label
- n -> Architecture
처럼:
Pin: release o=Debian,a=Experimental
데비안 패키지 실험 아카이브에서 명시된 패키지를 가져 오는 것을 의미합니다.
APT 자동 제거 파일을 사용하여 패키지 업데이트 블랙리스트
설치에서 패키지를 블랙리스트에 추가하는 또 다른 방법은 01autoremove 인 /etc/apt/apt.conf.d/
디렉토리에 포함 된 파일 중 하나의 항목을 업데이트하는 것입니다.
샘플 파일은 다음과 같습니다.
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 도구를 사용하면 업데이트 할 항목을 자유롭게 선택할 수 있지만이를 위해서는 업그레이드에 사용할 수있는 모든 패키지에 대한 지식이 있어야합니다.
이러한 경우 다음 명령 세트가 도움이 될 수 있습니다.
ㅏ. "보류중인 업데이트가있는 패키지를 나열하려면
# apt-get -u -V upgrade
비. "선택적 패키지 만 설치합니다.
# apt-get --only-upgrade install <package-name>

결론
이 기사에서는 APT 방식을 사용하여 패키지 업데이트를 비활성화/차단하거나 블랙리스트에 올리는 몇 가지 방법을 설명했습니다. 다른 선호하는 방법을 알고 있다면 의견을 통해 알려주거나 패키지 업데이트를 비활성화/잠금하는 yum 명령을 찾고 있다면 아래 기사를 읽으십시오.