[관련 게시물]
2020/07/17 - [리눅스/OpenSUSE] - Zypper 명령 - 연재 목록 안내
2020/07/19 - [리눅스/OpenSUSE] - Zypper 명령 - 주요 개념
2020/07/21 - [리눅스/OpenSUSE] - Zypper 명령 - 도움말(Help) / 패키지(Package) 관리 명령
2020/07/23 - [리눅스/OpenSUSE] - Zypper 명령 - 업데이트(Update) 관리 명령
2020/07/25 - [리눅스/OpenSUSE] - Zypper 명령 - 쿼리(Query) 명령
2020/07/27 - [리눅스/OpenSUSE] - Zypper 명령 - 저장소(Repository) 관리 명령
2020/07/29 - [리눅스/OpenSUSE] - Zypper 명령 - 서비스(Service) 관리 명령
2020/07/31 - [리눅스/OpenSUSE] - Zypper 명령 - 패키지 잠금(Package Locks) 관리 명령
2020/08/01 - [리눅스/OpenSUSE] - Zypper 명령 - 지역(Locales) 관리 명령
2020/08/03 - [리눅스/OpenSUSE] - Zypper 명령 - 기타(Other) 명령
2020/08/05 - [리눅스/OpenSUSE] - Zypper 명령 - 하위 명령(Subcommands)
기타 명령
버전 비교
$ zypper versioncmp version1 version2
$ zypper vcmp version1 version2
일반 옵션 :
-m, --match
인수로 제공된 버전을 비교하고 version1이 version2보다 오래되었는지 아니면 새로운 것인지 확인하거나 또는 두 개의 버전 문자열이 일치하는지 확인합니다..
기본 출력은 인간 친화적 인 형태입니다. --terse global 옵션을 사용하면 결과는 정수입니다. version1이 version2보다 오래되면 음수, 더 최신이면 양수이고 일치하면 0입니다.
study@localhost:~> zypper vcmp 0.15.3 0.15.3-2 0.15.3이(가) 0.15.3-2보다 이전입니다. study@localhost:~>
study@localhost:~>study@localhost:~> zypper vcmp -m 0.15.3 0.15.3-2 0.15.3이(가) 0.15.3-2과(와) 일치합니다. study@localhost:~>
운영체제 ID 출력
$ sudo zypper targetos
$ sudo zypper tos
대상 운영 체제의 ID 문자열을 표시합니다. 문자열은 distroname-architecture 형식입니다. 문자열은 libzypp에 의해 결정되고, distroname은 (current-rootdir) /etc/products.d/baseproduct에서 읽히고 아키텍처는 uname 및 CPU 플래그에서 결정됩니다.
study@localhost:~> zypper targetos openSUSE-Leap-15.2-x86_64 study@localhost:~>
라이선스 보고서 출력
$ sudo zypper licenses
라이선스 및 설치된 패키지의 EULA에 대한 보고서를 표준 출력으로 인쇄합니다.
먼저, 모든 패키지의 목록과 그들 패키지들의 라이센스 또는 EULA가 표시됩니다.
그 다음에는 설치된 총 패키지 수, EULA가 설치된 패키지 수, 사용자의 확인이 필요한 요약을 포함합니다.
EULA는 시스템에 저장되지 않으며 리포지토리 메타 데이터에서만 읽을 수 있으므로 요약에는 리포지토리에 해당 패키지가 있는 설치 패키지 수도 포함됩니다.
보고서는 설치된 패키지에서 사용하는 모든 라이센스 목록으로 끝납니다.
이 명령은 appliances와 같은 사용자 지정 배포를 재배포하는 회사가 어떤 라이센스를 사용하는지 파악하는 데 유용 할 수 있습니다.
study@localhost:~> zypper licenses | less
리포지토리 데이터 로드 중... 설치된 패키지를 읽는 중... mikachan-fonts-9.1.2006.08.09-lp152.3.4 (꾸러미) 라이센스: SUSE-NonFree - AppStream-0.12.6-lp152.2.11 (꾸러미) 라이센스: GPL-2.0-or-later AND LGPL-2.1-or-later - AppStream-lang-0.12.6-lp152.2.11 (꾸러미) 라이센스: GPL-2.0-or-later AND LGPL-2.1-or-later - GeoIP-1.6.12-lp152.3.2 (꾸러미) 라이센스: LGPL-2.1-or-later - GeoIP-data-1.6.12-lp152.3.2 (꾸러미) 라이센스: CC-BY-SA-3.0 - ImageMagick-7.0.7.34-lp152.11.6 (꾸러미) 라이센스: ImageMagick - ImageMagick-config-7-SUSE-7.0.7.34-lp152.11.6 (꾸러미) 라이센스: ImageMagick - Mesa-19.3.4-lp152.27.1 (꾸러미) 라이센스: MIT - Mesa-demo-x-8.3.0-lp152.3.7 (꾸러미) 라이센스: MIT lines 1-28
apparmor-20171206-lp152.34.2 (패턴) - apparmor_opt-20171206-lp152.34.2 (패턴) - base-20171206-lp152.34.2 (패턴) - basesystem-20171206-lp152.34.2 (패턴) - enhanced_base-20171206-lp152.34.2 (패턴) - enhanced_base_opt-20171206-lp152.34.2 (패턴) - minimal_base-20171206-lp152.34.2 (패턴) - x11-20171206-lp152.34.2 (패턴) - x11_enhanced-20171206-lp152.34.2 (패턴) - x11_opt-20171206-lp152.34.2 (패턴) - multimedia-20170319-lp152.5.3 (패턴) - multimedia_opt-20170319-lp152.5.3 (패턴) - fonts-20190130-lp152.2.3 (패턴) - fonts_opt-20190130-lp152.2.3 (패턴) - lines 7389-7416
설치된 패키지: 2492 리포지토리에 상대 프로그램과 함께 설치된 패키지: 2491 EULA와 함께 설치된 패키지: 0 Package licenses (236): * (GPL-2.0+ or LGPL-2.1+ or MPL-1.1+) and LGPL-2.1+ * (GPL-2.0-only OR GPL-3.0-only) AND LGPL-2.1-only * (GPL-2.0-or-later AND LGPL-2.0-or-later) AND BSD-2-Clause * (GPL-2.0-or-later OR LGPL-3.0-or-later) AND GPL-3.0-or-later * (GPL-3.0-or-later AND Apache-2.0) * (LGPL-2.1+ or MPL-2.0+) and BSD-3-Clause * (LGPL-2.1-only OR LGPL-3.0-only) AND (GPL-2.0-only OR GPL-3.0-only) * (LGPL-2.1-or-later OR MPL-2.0) AND GPL-2.0-or-later * (LGPL-3.0+ or GPL-2.0+) and GPL-3.0+ and MIT * AFL-2.1 or GPL-2.0+ * AGPL-3.0-only * AGPL-3.0-only AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND CC-BY-SA-1.0 AND CC-BY-SA-3.0 AND GFDL-1.1-only AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND GPL-3.0-or-later AND LGPL-2.0-only AND LGPL-2.1-only AND LGPL-2.1-or-later AND LGPL-3.0-only AND LGPL-3.0-or-later AND MPL-1.1 * Apache-1.1 AND Apache-2.0 AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-only WITH Classpath-exception-2.0 AND LGPL-2.0-only AND MPL-1.0 AND MPL-1.1 AND SUSE-Public-Domain AND W3C * Apache-2.0 * Apache-2.0 AND W3C AND SUSE-Public-Domain * Apache-2.0 WITH LLVM-exception OR NCSA * Artistic-1.0 * Artistic-1.0 OR GPL-1.0-or-later * Artistic-1.0 or GPL-1.0+ lines 7451-7475
* SUSE-Firmware * SUSE-Firmware AND GPL-2.0-only AND GPL-2.0-or-later AND MIT * SUSE-Freetype OR GPL-2.0-or-later * SUSE-GPL-2.0-with-FLOSS-exception * SUSE-GPL-2.0-with-OSI-exception * SUSE-GPL-2.0-with-openssl-exception AND LGPL-2.0-or-later * SUSE-GPL-2.0-with-openssl-exception and LGPL-2.1 * SUSE-GPL-3.0-with-FLOSS-exception * SUSE-IDPL-1.0 AND SUSE-IBPL-1.0 * SUSE-IEEE * SUSE-Liberation * SUSE-NonFree * SUSE-Permissive * SUSE-Public-Domain * SUSE-Public-Domain AND CC-BY-SA-3.0 * SUSE-Public-Domain and BSD-3-Clause * SUSE-Public-Domain and HPND * SUSE-SGI-FreeB-2.0 * SUSE-Xano * Sleepycat * TCL * Vim * W3C * W3C and LGPL-2.1+ * WTFPL * X11 * Zlib * curl lines 7665-7692/7692 (END)
rpm 패키지 다운로드
$ sudo zypper download [옵션] 패키지명
일반 옵션 :
--all-matches
--dry-run
-r, --repo alias|name|#|URI
--from alias|name|#|URI
명령행에 지정된 rpm을 로컬 디렉토리로 다운로드합니다.
기본 패키지는 libzypp 패키지 캐시 (/var/cache/zypp/packages/)로, 그리고 루트가 아닌 사용자의 경우 $ XDG_CACHE_HOME/zypp/packages/)로 다운로드되지만 전역 옵션 --pkg-cache-dir을 사용하여 변경할 수 있습니다.
zypper --xmlout에 의해 생성된 구문 분석 가능한 XML 출력에는 zypper가 다운로드하려고 시도한 각 패키지에 대한 <download-result> 노드가 포함됩니다. 성공하면 다운로드된 패키지의 위치는 <localfile> 하위 노드의 경로 속성 (xpath: download-result/localpath@path)에 있습니다.
<download-result>
<solvable>
<kind>package</kind>
<name>zypper</name>
<edition epoch="0" version="1.9.17" release="26.1"/>
<arch>x86_64</arch>
<repository name="repo-oss-update (13.1)" alias="openSUSE:repo-oss-update"/>
</solvable>
<localfile path="/var/cache/zypp/pac.../zypper-1.9.17-26.1.x86_64.rpm"/>
</download-result>
study@localhost:~> sudo zypper download smplayer 리포지토리 데이터 로드 중... 설치된 패키지를 읽는 중... 꾸러미 smplayer-20.4.2-lp152.1.2.x86_64 검색 중 (1/1), 2.0 MiB ( 4.6 MiB 압축 풀기) (1/1) /var/cache/zypp/packages/repo-oss/x86_64/smplayer-20.4.2-lp152.1.2.x86_64.rpm .................................[완료] study@localhost:~>
study@localhost:~> zypper --xmlout download smplayer
<?xml version='1.0'?>
<stream>
<message type="info">'주 업데이트 저장소' 리포지토리가 오래되었습니다. 루트 권한으로 'zypper refresh'를 실행하면 업데이트할 수 있습니다.</message>
<message type="info">리포지토리 데이터 로드 중...</message>
<message type="info">설치된 패키지를 읽는 중...</message>
<message type="info">꾸러미 smplayer-20.4.2-lp152.1.2.x86_64 검색 중 (1/1), 2.0 MiB ( 4.6 MiB 압축 풀기)</message>
<progress id="" name="(1/1) smplayer-20.4.2-lp152.1.2.x86_64 (Main Repository)" value="0"/>
<progress id="" name="(1/1) smplayer-20.4.2-lp152.1.2.x86_64 (Main Repository)" value="100"/>
<progress id="" name="(1/1) smplayer-20.4.2-lp152.1.2.x86_64 (Main Repository)" value="0"/>
<progress id="" name="(1/1) smplayer-20.4.2-lp152.1.2.x86_64 (Main Repository)" value="1"/>
<progress id="" name="(1/1) smplayer-20.4.2-lp152.1.2.x86_64 (Main Repository)" value="22"/>
<progress id="" name="(1/1) smplayer-20.4.2-lp152.1.2.x86_64 (Main Repository)" value="40"/>
<progress id="" name="(1/1) smplayer-20.4.2-lp152.1.2.x86_64 (Main Repository)" value="55"/>
<progress id="" name="(1/1) smplayer-20.4.2-lp152.1.2.x86_64 (Main Repository)" value="69"/>
<progress id="" name="(1/1) smplayer-20.4.2-lp152.1.2.x86_64 (Main Repository)" value="85"/>
<progress id="" name="(1/1) smplayer-20.4.2-lp152.1.2.x86_64 (Main Repository)" value="100"/>
<progress id="" name="(1/1) /home/study/.cache/zypp/packages/repo-oss/x86_64/smplayer-20.4.2-lp152.1.2.x86_64.rpm" value="100"/>
<progress id="" name="(1/1) /home/study/.cache/zypp/packages/repo-oss/x86_64/smplayer-20.4.2-lp152.1.2.x86_64.rpm" done="1"/>
<download-result><solvable><kind>package</kind><name>smplayer</name><edition epoch="0" version="20.4.2" release="lp152.1.2"/><arch>x86_64</arch><repository name="Main Repository" alias="repo-oss"/></solvable><localfile path="/home/study/.cache/zypp/packages/repo-oss/x86_64/smplayer-20.4.2-lp152.1.2.x86_64.rpm"/></download-result></stream>
study@localhost:~>
소스 rpm 다운로드
$ sudo zypper source-download [옵션] 패키지명
일반 옵션 :
-d, --directory dir
--delete
--no-delete
--status
설치된 모든 패키지의 소스 rpm을 로컬 디렉토리로 다운로드합니다.
study@localhost:~> sudo zypper source-download '/var/cache/zypper/source-download'에서 다운로드 디렉토리를 사용 중입니다. 다운로드 디렉토리 스캔 중 ...........................................................................................[완료] 'Source Repository' 리포지토리 메타 데이터를 검색하는 중 ............................................................[완료] 리포지토리 'Source Repository' 캐시 빌드 중 .........................................................................[완료] 리포지토리 데이터 로드 중... 설치된 패키지를 읽는 중... 설치된 패키지를 스캔하는 중 .........................................................................................[완료] 설치된 패키지: 2394 필수 소스 패키지: 1380 [ ] 다운로드 디렉토리에서 사용할 수 있는 필수 소스 패키지: 9 [-] 다운로드할 필수 소스 패키지: 1371 [+] 다운로드 디렉토리의 필요 없는 소스 패키지: 0 삭제할 필요 없는 소스 패키지가 없습니다. 필수 소스 패키지를 다운로드하는 중... ( 1/1371) AppStream-0.12.6-lp152.2.11.src (Source Repository) .....................................................[완료] ( 2/1371) GeoIP-1.6.12-lp152.3.2.src (Source Repository) ..........................................................[완료] ( 3/1371) ImageMagick-7.0.7.34-lp152.11.6.src (Source Repository) .................................................[완료] ( 4/1371) Mesa-19.3.4-lp152.27.1.src (Source Repository) ..........................................................[완료] ( 5/1371) Mesa-demo-8.3.0-lp152.3.7.src (Source Repository) .......................................................[완료] -하략 -
삭제된 파일 사용 프로세스 나열
$ sudo zypper ps
-s, --short
--print format
-d, --debugFile filename
패키지를 업그레이드하거나 제거한 후에는 시스템에서 프로세스가 실행되어 삭제된 파일을 계속 사용할 수 있습니다.
zypper ps는 삭제된 파일을 사용하는 모든 프로세스와 해당 파일 및 서비스 이름 힌트 (알려진 서비스 인 경우)를 나열합니다.
업데이트 후 다시 시작해야 할 서비스에 대한 힌트를 제공합니다. 일반적으로 삭제된 공유 라이브러리를 계속 사용하는 프로그램입니다. 이 목록에는 다음 정보가 포함되어 있습니다.
PID : 프로세스 ID
PPID : 부모 프로세스 ID
UID : 프로세스를 실행 중인 사용자의 ID
Login : 프로세스를 실행 중인 사용자의 로그인 이름
Command : 프로세스를 실행하기 위해 사용된 명령
Service : 명령이 시스템 서비스와 연관된 경우 서비스 이름
Files : 삭제된 파일 목록
Examples:
$ zypper ps -ss
Show only processes associated with a system service.
$ zypper ps -sss
Short for zypper ps --print "%s"; list services which might need a restart.
$ zypper ps --print "systemctl status %s"
Let zypper print the commands to retrieve status information for services which might need a restart.
tudy@localhost:~> zypper ps 삭제된 파일을 사용하고 있는 프로세스가 없습니다. 코어 라이브러리 또는 서비스가 업데이트되지 않았습니다. 재부팅이 필요하지 않은 것 같습니다. 참고: 루트로 실행하지 않는 경우 system stat(2) 함수로 검사할 권한이 있는 파일만 검색할 수 있습니다. 결과가 불완전할 수 있습니다. study@localhost:~>
재부팅 필요 플래그 나열
$ sudo zypper needs-rebooting
재부팅이 필요한 플래그가 코어 라이브러리 또는 서비스의 이전 업데이트/설치에 의해 설정되었는지 확인합니다.
+ 재부팅이 필요한 플래그는 미리 정의 된 목록 (/etc/zypp/needreboot)의 패키지가 업데이트되거나 설치될 때 설정됩니다.
종료 코드 ZYPPER_EXIT_INF_REBOOT_NEEDED는 재부팅이 필요함을 나타내며, 그렇지 않으면 종료 코드가 ZYPPER_EXIT_OK로 설정됩니다.
study@localhost:~> zypper needs-rebooting 코어 라이브러리 또는 서비스가 업데이트되지 않았습니다. 재부팅이 필요하지 않은 것 같습니다. study@localhost:~>
'리눅스 > OpenSUSE' 카테고리의 다른 글
Zypper 명령 - Zypper에서 사용하는 주요 디렉터리와 설정 파일들 (0) | 2020.08.11 |
---|---|
Zypper 명령 - 명령 옵션 (0) | 2020.08.09 |
Zypper 명령 - 전역 옵션 (0) | 2020.08.07 |
Zypper 명령 - 하위 명령(Subcommands) (0) | 2020.08.05 |
Zypper 명령 - 지역(Locales) 관리 명령 (0) | 2020.08.01 |
Zypper 명령 - 패키지 잠금(Package Locks) 관리 명령 (0) | 2020.07.31 |
Zypper 명령 - 서비스(Service) 관리 명령 (0) | 2020.07.29 |
Zypper 명령 - 저장소(Repository) 관리 명령 (0) | 2020.07.27 |