리눅스/Debian or Ubuntu

우분투(Ubuntu) 패키지 관리 - apt-mark 명령 사용법

씨실과 날실 2020. 5. 18. 09:00


apt-mark 설명

apt-mark는 패키지를 자동으로(종속성 관련 문제로 apt 패키지 관리자가 자동으로)  또는 수동으로(시스템 관리자가 의도적으로 직접) 설치한 것으로 표시하거나, apt-get, dselect-upgrade 또는 aptitude 등의 패키지 관리 프로그램에 의해 hold, install, deinstall 그리고 purge 명령 등의 명령이 수행된 것으로 표시하는 패키지입니다.


자동 및 수동으로 설치된 패키지

일반적으로 어떤 패키지를 설치할 때 해당 패키지의 종속성을 충족시키기 위해 다른 패키지가 자동으로 설치됩니다.

이때 사용자가 명시적으로 설치를 요청한 것은 사용자가 직접 수동으로 설치한 것으로 표시되고 명시적으로 설치한 패키지를 사용하기 위해서 종속성 패키지가 같이 설치된 경우 자동으로 설치된 것으로 표시됩니다.

만약 자동으로 설치된 종속성 패키지가 수동으로 설치한 연계 패키지의 삭제 등으로 더 이상 수동으로 설치된 패키지와 관련하여 종속성 관계를 않으면 더 이상 필요하지 않은 것으로 간주됩니다.

그리고 apt, apt-get 또는 aptitude과 같은 패키지 관리자들은 자동제거 명령을 통해 위에서 불필요한 패키지로 간주된 자동 설치 패키지들을 제거할 수 있게 됩니다.


apt-mark 명령 구문의 예(synopsis)

SYNOPSIS
       apt-mark {-f=filename | {auto | manual} pkg...  |
                {showauto | showmanual} [pkg...] } | {-v | --version} |
                {-h | --help}

       apt-mark {hold | unhold | install | remove | purge} pkg...  |
                {showhold | showinstall | showremove | showpurge} [pkg...]


apt-mark 명령

auto

auto는 패키지가 자동으로 설치되는 것으로 표시합니다. 따라서 실제로 사용자가 명시적으로 설치한 수동 설치 패키지라 할지라도 더 이상 수동으로 설치된 패키지가 이 패키지에 종속되지 않으면 자동제거 명령으로 패키지가 제거됩니다.

study@study-VirtualBox:~$ sudo apt-mark auto mc
mc 패키지는 자동설치로 지정합니다.
study@study-VirtualBox:~$ 

manual

manual은 패키지를 수동으로 설치한 것으로 표시합니다. 따라서 해당 패키지가 실제로는 자동으로 설치된 패키지라 할지라도 자동제거 명령으로 패키지가 제거되지 않습니다.

study@study-VirtualBox:~$ sudo apt-mark manual mc
mc 패키지는 수동설치로 지정합니다.
study@study-VirtualBox:~$ 

minimize-manual

minimize-manual은 메타 패키지의 의존성을 자동으로 설치된 것으로 표시합니다.

이 명령은 예를 들어 설치 후에 수동으로 설치된 패키지 수를 최소화하는데 씁니다. 또는  환경 구성 메타 패키지로 지속적으로 관리되는 시스템에서 사용합니다.

study@study-VirtualBox:~$ sudo apt-mark minimize-manual
The following packages will be marked as automatically installed:
  udev e2fsprogs wamerican eject console-setup keyboard-configuration locales
  hunspell-en-us hunspell-ko pciutils poppler-data fonts-noto-cjk usbutils
  wbritish
계속 하시겠습니까? [y/N] y
study@study-VirtualBox:~$ 

study@study-VirtualBox:~$ sudo apt-mark minimize-manual
No changes necessary
study@study-VirtualBox:~$ 

showauto

showauto는 각 패키지와 함께 자동으로 설치된 패키지 목록을 새 줄에 출력합니다.

인수로 지정한 패키지가 없으면 자동으로 설치된 모든 패키지가 나열됩니다. 인수로 특정 패키지를 지정하면 해당 패키지가 자동 설치 패키지인지 확인할 수 있으며 자동 설치 패키지면 표시가 됩니다.

study@study-VirtualBox:~$ apt-mark showauto
accountsservice
acl
acpi-support
acpid
adduser
... 중략 ...
zenity
zenity-common
zerofree
zip
zlib1g
study@study-VirtualBox:~$ 


showmanual

showmanual은 showauto와 동일한 방식으로 사용할 수 있으며, 대신 수동으로 설치된 패키지 목록을 출력합니다.

study@study-VirtualBox:~$ apt-mark showmanual
base-passwd
console-setup
dash
diffutils
dpkg-dev
... 중략 ...
ubuntu-wallpapers
udev
usbutils
wamerican
wbritish
study@study-VirtualBox:~$ 


apt-mark 옵션 (Options)


-f=파일 이름, --file=파일 이름

환경 구성 항목 Dir::State에서 정의한 기본 위치 extended_status 대신 매개변수 파일에서 주어진 파일에서 패키지 관련 데이터를 읽고 쓰는 옵션입니다.


패키지 변경 방지

hold

hold는 패키지를 고정(= 보류)된 것으로 표시합니다.

이 작업을 하면 패키지가 자동으로 설치, 업그레이드 또는 제거되지 않습니다.


unhold

unhold는 모든 작업을 다시 허용하기 위해 이전에 패키지에 설정한 고정(= 보류) 설정을 취소하는 데 사용됩니다.


showhold

showhold는 다른 show 명령과 동일한 방식으로 작동하여  고정(= 보류) 중인 패키지 목록을 출력합니다.


install, remove, purge를 위한 일정 패키지

apt-get dselect-upgrade와 같은 일부 프론트 엔드 패키지를 사용하여 패키지의 설치 상태 설정에 이전에 예약된 변경 사항을 적용할 수 있습니다.

이러한 변경은 install, remove (또는 deinstall)와 purge 명령으로 예약할 수 있습니다.

특정 상태 패키지는 각각 showinstall, showremove 및 showpurge로 표시할 수 있습니다.

dpkg 선택에 대한 자세한 내용은 dpkg (1)에서 찾을 수 있습니다.


옵션

-h, --help

간단한 사용법 요약을 보여줍니다.


-v, --version

프로그램 버전을 보여줍니다.


-c, --config-file

구성 파일; 사용할 구성 파일을 지정하는 옵션입니다.

프로그램은 기본 구성 파일을 읽은 다음 이 구성 파일을 읽습니다. 기본 구성 파일을 읽기 전에 구성 설정을 설정해야하는 경우 APT_CONFIG 환경 변수를 사용하여 파일을 지정하십시오.

apt 환경 설정(구성) 정보는 apt.conf (5)를 참조하십시오.


-o, --option

구성 옵션을 설정합니다.

이것은 임의의 구성 옵션을 설정합니다. 구문은 -o Foo::Bar=bar입니다. -o 및 --option을 여러 번 사용하여 다른 옵션을 설정할 수 있습니다.