Linux Mint에는 선택 가능한 업데이트 계층을 갖춘 멋진 GUI 기반 업데이트 관리자가 있습니다. 기본값은 레벨 1~3입니다(5개 레벨 가능). 그러나 저는 물리적 컴퓨터에 액세스하는 대신 Linux Mint 데스크탑 시스템의 많은 관리 작업에 SSH를 사용하는 경우가 많습니다. 명령줄에서 동일한 기능을 어떻게 얻을 수 있습니까?
나는 이미 apt-get update
및 apt-get upgrade
명령을 알고 있지만 내가 아는 한 이 명령은 여전히 작동합니다.아니요Update Manager( )의 5계층 동작과 동일한 기능입니다 /usr/lib/linuxmint/mintUpdate/mintUpdate.py
.
업데이트: 처음에 이 질문을 했을 때 저는 Linux Mint 17 솔루션을 찾고 있었습니다. 저는 현재 일부 시스템에서 18.3을 실행하고 있으며 이러한 질문에 대한 답을 제공할 수 있습니다.
답변1
mintUpdate.py는 내가 작성하기로 결정하기 전까지만 GUI(gtk)였기 때문에 다른 옵션이 없었습니다. 내 블로그에 설명되어 있습니다 -리눅스 민트 업데이트 CLIgitHub에 대한 링크도 찾을 수 있습니다. 스크린샷도 좀 올려보겠습니다.
답변2
mintupdate-cli
Mint 19에는 GUI 버전과 동일한 기능을 가진 도구 가 있습니다 mintupdate
. 옵션을 통해 사용량을 확인하세요 -h
.
man mintupdate-cli
하지만 이에 대한 맨페이지( )를 찾지 못했습니다 . 따라서 애플리케이션 자체에서는 소스 코드와 작성자를 찾을 수 없습니다. 검색 좀 해보니 그런거 같더라구요민트 업데이트프로젝트:
https://github.com/linuxmint/mintupdate/blob/master/usr/lib/linuxmint/mintUpdate/mintupdate-cli.py
답변3
이 답변은 Linux Mint 18.2 이상에 적용되지만 18.3만 테스트했습니다.
mintupdate-tool
이제 배포판에는 다음과 같은 명령줄 도구가 포함되어 있습니다. 18.2 릴리스 노트에서는 "이 도구는 레벨 선택, 보안 업데이트, 커널 업데이트 및 블랙리스트 작성을 포함하여 UI에서 사용 가능한 모든 기능을 지원합니다."라고 광고되었습니다. "UI"가 업데이트 관리자를 의미한다는 것은 사실과 거리가 멀지만 큰 발전입니다.
man
도구에는 페이지가 없으므로 다음과 같습니다.
$ mintupdate-tool --help
usage: mintupdate-tool [-h] [-k | -nk] [-s] [-r] [-d] [-y]
[--install-recommends] [-l LEVELS]
command
positional arguments:
command command to run (possible commands are: list, upgrade)
optional arguments:
-h, --help show this help message and exit
-k, --kernel ignore settings and include all kernel updates
-nk, --no-kernel ignore settings and exclude all kernel updates
-s, --security ignore settings and include all security updates
-r, --refresh-cache refresh the APT cache
-d, --dry-run simulation mode, don't upgrade anything
-y, --yes automatically answer yes to all questions
--install-recommends install recommended packages (use with caution)
-l LEVELS, --levels LEVELS
ignore settings and restrict to this list of levels
업데이트 관리자의 기본 설정에 따라 기본 동작이 결정됩니다. 이러한 기본 설정은 dconf
활성 사용자의 데이터 저장소(스키마com.linuxmint.updates), 따라서 명령 앞에 plain을 붙여도 sudo
변경되지 않습니다. 루트 권한이 없으면 업데이트가 불가능하기 때문에 이는 중요합니다.
경고하다: 업데이트 관리자 기본 설정에서 활성화된 보안 업데이트는 제외할 수 없습니다.
"--levels"에 대한 옵션 구문 분석은 약간 엉성하고 명확하지 않습니다. LEVELS는 1부터 5까지의 숫자가 나타나는 항목을 검색하는 데 사용되는 문자열입니다. 임계값이나 범위가 아닙니다. 또한 유효하지 않은 문자를 확인하지 않으므로 "14", "1-4", "1,4", "4..1" 및 "two4u14me"는 모두 레벨 1과 4만 나타냅니다.
사용자의 업데이트 관리자 기본 설정에 따라 기본적으로 설치되는 사용 가능한 업데이트를 간단히 나열하려면 다음을 수행할 수 있습니다.
$ mintupdate-tool -r list
당황하지 않으려면 다음 명령에서 "-r" 옵션을 사용하지 않는 것이 좋습니다.
이 도구를 사용하여 실제 업데이트를 연습하려면 다음을 수행하십시오.
$ mintupdate-tool --dry-run upgrade
표시된 선택 항목을 수정하지 않고 업데이트 관리자를 사용하면 실제로 동일한 업데이트를 얻습니다.
$ sudo mintupdate-tool upgrade
제 생각에는 업데이트 관리자에 표시된 "list" 명령에 대한 업데이트 유형 열을 포함하지 않고 업데이트 설명이나 변경 로그를 쿼리하는 방법을 제공하지 않는 것은 큰 실수입니다. 나의 현재 예:
$ sudo mintupdate-tool -l 12345 list
4 package mesa 17.2.4-0ubuntu1~16.04.4
이것은 "mesa"라는 레벨 4 업데이트이며 패키지 이름이 아니기 때문에 제가 알고 있는 다른 명령줄 도구를 사용하여 쿼리할 수 없습니다. 저는 업데이트 관리자로부터 이 특정 업데이트에 실제로 9개의 서로 다른 패키지가 포함되어 있다는 것을 알고 있지만 이는 부정 행위입니다.
이것소스 코드.