Linux Mint의 'mintupdate'에 해당하는 명령줄은 무엇입니까?

Linux Mint의 'mintupdate'에 해당하는 명령줄은 무엇입니까?

Linux Mint에는 선택 가능한 업데이트 계층을 갖춘 멋진 GUI 기반 업데이트 관리자가 있습니다. 기본값은 가능한 5개 레벨 중 1~3레벨입니다. 그러나 나는 물리적 컴퓨터를 방문하는 대신 SSH를 사용하여 여러 Linux Mint 데스크탑 시스템에 대한 관리 작업을 처리하는 경우가 많습니다. 명령줄에서 동일한 기능을 얻으려면 어떻게 해야 합니까?

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-cliMint 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

Update Manager의 기본 설정에 따라 기본 동작이 결정됩니다. 이러한 기본 설정은 활성 사용자의 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개의 서로 다른 패키지가 포함되어 있다는 것을 알고 있지만 이는 부정 행위입니다.

그만큼소스 코드.

관련 정보