‘Suse’ Linux 패키지 관리를 관리하기 위한 45개의 Zypper 명령어

SUSE (Software and System Entwicklung (Germany)의 의미 Software and System Development, 영어) Linux는 Novell이 제공하는 Linux Kernel 위에 있습니다. SUSE는 두 가지 패키지로 구성되て 있습니다. 그 중 하나는 OpenSUSE로 불립니다. 이것은 자유로이 사용 가능 (言論적으로 그리고 와인 것 처럼 自由的)입니다. 최신 应用程序 지원과 함께 지역 기반 프로젝트로 구성되었습니다. OpenSUSE Linux의 最新 안정적 릴리스는 13.2입니다.

다른 것은 SUSE Linux Enterprise로 불립니다. 기업과 생산 목적으로 사용되는 commercials Linux 분포입니다. SUSE Linux Enterprise 에diton은 다양한 기업 应用程序과 특성을 갖추고 있습니다. 생산 환경에 적용되는 것이며, SUSE Linux Enterprise Edition의 最新 안정적 릴리스는 12입니다.

SUSE Linux Enterprise Server의 자세한 설치 지침을 查閱하고 싶으시면:

  1. SUSE Linux Enterprise Server 12 설치

ZypperYaSTPackage ManagerSUSE Linux에 대한 것입니다. 이는 RPM 위에 작동합니다.

YaSTYet another Setup Tool로 지정되며 OpenSUSESUSE Enterprise edition에서 SUSE Linux를 관리, 설정, 구성하는 도구입니다.

Zypper는 SUSE를 설치, 제거 및 업데이트하기 위한 ZYpp 패키지 관리자의 명령 줄 인터페이스입니다. ZYppZypperYaST를 구동하는 패키지 관리 엔진입니다.

본 문서에서는 Zypper를 사용하여 패키지 관리자가 할 수 있는 설치, 업데이트, 제거 및 기타 모든 작업을 수행하는 방법을 살펴볼 것입니다. 그럼 시작해보겠습니다…

중요: 이 모든 명령은 시스템 전반적인 변경을 위한 것이므로 반드시 루트로 실행해야 합니다. 그렇지 않으면 명령이 실패합니다.

Zypper 기본 도움말 얻기

1. 옵션 없이 zypper를 실행하면 모든 전역 옵션과 명령 목록을 표시합니다.

# zypper

Usage:
	zypper [--global-options]

2. 특정 명령(예: ‘in’ (설치))에 대한 도움말을 얻으려면 아래 명령을 실행합니다.

# zypper help in
OR
# zypper help install

install (in) [options] <capability|rpm_file_uri> ...

Install packages with specified capabilities or RPM files with specified
location. A capability is NAME[.ARCH][OP], where OP is one
of <, <=, =, >=, >.

  Command options:
    --from <alias|#|URI>    Select packages from the specified repository.
-r, --repo <alias|#|URI>    Load only the specified repository.
-t, --type            Type of package (package, patch, pattern, product, srcpackage).
                            Default: package.
-n, --name                  Select packages by plain name, not by capability.
-C, --capability            Select packages by capability.
-f, --force                 Install even if the item is already installed (reinstall),
                            downgraded or changes vendor or architecture.
    --oldpackage            Allow to replace a newer item with an older one.
                            Handy if you are doing a rollback. Unlike --force
                            it will not enforce a reinstall.
    --replacefiles          Install the packages even if they replace files from other,
                            already installed, packages. Default is to treat file conflicts
                            as an error. --download-as-needed disables the fileconflict check.
......

3. 설치하기 전에 패키지(예: gnome-desktop)를 검색합니다.

# zypper se gnome-desktop

Retrieving repository 'openSUSE-13.2-Debug' metadata ............................................................[done]
Building repository 'openSUSE-13.2-Debug' cache .................................................................[done]
Retrieving repository 'openSUSE-13.2-Non-Oss' metadata ......................................................... [done]
Building repository 'openSUSE-13.2-Non-Oss' cache ...............................................................[done]
Retrieving repository 'openSUSE-13.2-Oss' metadata ..............................................................[done]
Building repository 'openSUSE-13.2-Oss' cache ...................................................................[done]
Retrieving repository 'openSUSE-13.2-Update' metadata ...........................................................[done]
Building repository 'openSUSE-13.2-Update' cache ................................................................[done]
Retrieving repository 'openSUSE-13.2-Update-Non-Oss' metadata ...................................................[done]
Building repository 'openSUSE-13.2-Update-Non-Oss' cache ........................................................[done]
Loading repository data...
Reading installed packages...

S | Name                                  | Summary                                                   | Type      
--+---------------------------------------+-----------------------------------------------------------+-----------
  | gnome-desktop2-lang                   | Languages for package gnome-desktop2                      | package   
  | gnome-desktop2                        | The GNOME Desktop API Library                             | package   
  | libgnome-desktop-2-17                 | The GNOME Desktop API Library                             | package   
  | libgnome-desktop-3-10                 | The GNOME Desktop API Library                             | package   
  | libgnome-desktop-3-devel              | The GNOME Desktop API Library -- Development Files        | package   
  | libgnome-desktop-3_0-common           | The GNOME Desktop API Library -- Common data files        | package   
  | gnome-desktop-debugsource             | Debug sources for package gnome-desktop                   | package   
  | gnome-desktop-sharp2-debugsource      | Debug sources for package gnome-desktop-sharp2            | package   
  | gnome-desktop2-debugsource            | Debug sources for package gnome-desktop2                  | package   
  | libgnome-desktop-2-17-debuginfo       | Debug information for package libgnome-desktop-2-17       | package   
  | libgnome-desktop-3-10-debuginfo       | Debug information for package libgnome-desktop-3-10       | package   
  | libgnome-desktop-3_0-common-debuginfo | Debug information for package libgnome-desktop-3_0-common | package   
  | libgnome-desktop-2-17-debuginfo-32bit | Debug information for package libgnome-desktop-2-17       | package   
  | libgnome-desktop-3-10-debuginfo-32bit | Debug information for package libgnome-desktop-3-10       | package   
  | gnome-desktop-sharp2                  | Mono bindings for libgnome-desktop                        | package   
  | libgnome-desktop-2-devel              | The GNOME Desktop API Library -- Development Files        | package   
  | gnome-desktop-lang                    | Languages for package gnome-desktop                       | package   
  | libgnome-desktop-2-17-32bit           | The GNOME Desktop API Library                             | package   
  | libgnome-desktop-3-10-32bit           | The GNOME Desktop API Library                             | package   
  | gnome-desktop                         | The GNOME Desktop API Library                             | srcpackage

4. 아래 명령을 사용하여 패턴 패키지(예: lamp_server)에 대한 정보를 얻습니다.

# zypper info -t pattern lamp_server

Loading repository data...
Reading installed packages...


Information for pattern lamp_server:
------------------------------------
Repository: openSUSE-13.2-Update
Name: lamp_server
Version: 20141007-5.1
Arch: x86_64
Vendor: openSUSE
Installed: No
Visible to User: Yes
Summary: Web and LAMP Server
Description: 
  Software to set up a Web server that is able to serve static, dynamic, and interactive content (like a Web shop). This includes Apache HTTP Server, the database management system MySQL,
  and scripting languages such as PHP, Python, Ruby on Rails, or Perl.
Contents:

S | Name                          | Type    | Dependency
--+-------------------------------+---------+-----------
  | apache2-mod_php5              | package |           
  | php5-iconv                    | package |           
i | patterns-openSUSE-base        | package |           
i | apache2-prefork               | package |           
  | php5-dom                      | package |           
  | php5-mysql                    | package |           
i | apache2                       | package |           
  | apache2-example-pages         | package |           
  | mariadb                       | package |           
  | apache2-mod_perl              | package |           
  | php5-ctype                    | package |           
  | apache2-doc                   | package |           
  | yast2-http-server             | package |           
  | patterns-openSUSE-lamp_server | package |    

5. zypper 셸 세션을 열려면 아래 명령을 실행합니다.

# zypper shell
OR
# zypper sh

zypper> help
  Usage:
	zypper [--global-options]

참고: Zypper 셸에서 ‘help’를 입력하여 전역 옵션과 몸령 목록을 확인할 수 있습니다.

Zypper 저장소 관리

정의된 저장소 나열

6. 모든 정의된 저장소를 나열하려면 zypper repos 또는 zypper lr 명령을 사용합니다.

# zypper repos
OR
# zypper lr

 | Alias                     | Name                               | Enabled | Refresh
--+---------------------------+------------------------------------+---------+--------
1 | openSUSE-13.2-0           | openSUSE-13.2-0                    | Yes     | No     
2 | repo-debug                | openSUSE-13.2-Debug                | Yes     | Yes    
3 | repo-debug-update         | openSUSE-13.2-Update-Debug         | No      | Yes    
4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | No      | Yes    
5 | repo-non-oss              | openSUSE-13.2-Non-Oss              | Yes     | Yes    
6 | repo-oss                  | openSUSE-13.2-Oss                  | Yes     | Yes    
7 | repo-source               | openSUSE-13.2-Source               | No      | Yes    
8 | repo-update               | openSUSE-13.2-Update               | Yes     | Yes    
9 | repo-update-non-oss       | openSUSE-13.2-Update-Non-Oss       | Yes     | Yes    

7. 테이블에 zypper URI를 나열하십시오.

# zypper lr -u

# | Alias                     | Name                               | Enabled | Refresh | URI                                                            
--+---------------------------+------------------------------------+---------+---------+----------------------------------------------------------------
1 | openSUSE-13.2-0           | openSUSE-13.2-0                    | Yes     | No      | cd:///?devices=/dev/disk/by-id/ata-VBOX_CD-ROM_VB2-01700376    
2 | repo-debug                | openSUSE-13.2-Debug                | Yes     | Yes     | http://download.opensuse.org/debug/distribution/13.2/repo/oss/ 
3 | repo-debug-update         | openSUSE-13.2-Update-Debug         | No      | Yes     | http://download.opensuse.org/debug/update/13.2/                
4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | No      | Yes     | http://download.opensuse.org/debug/update/13.2-non-oss/        
5 | repo-non-oss              | openSUSE-13.2-Non-Oss              | Yes     | Yes     | http://download.opensuse.org/distribution/13.2/repo/non-oss/   
6 | repo-oss                  | openSUSE-13.2-Oss                  | Yes     | Yes     | http://download.opensuse.org/distribution/13.2/repo/oss/       
7 | repo-source               | openSUSE-13.2-Source               | No      | Yes     | http://download.opensuse.org/source/distribution/13.2/repo/oss/
8 | repo-update               | openSUSE-13.2-Update               | Yes     | Yes     | http://download.opensuse.org/update/13.2/                      
9 | repo-update-non-oss       | openSUSE-13.2-Update-Non-Oss       | Yes     | Yes     | http://download.opensuse.org/update/13.2-non-oss/        

8. 저장소 우선순위를 나열하고 우선순위에 따라 나열하십시오.

# zypper lr -P

# | Alias                     | Name                               | Enabled | Refresh | Priority
--+---------------------------+------------------------------------+---------+---------+---------
1 | openSUSE-13.2-0           | openSUSE-13.2-0                    | Yes     | No      |   99    
2 | repo-debug                | openSUSE-13.2-Debug                | Yes     | Yes     |   99    
3 | repo-debug-update         | openSUSE-13.2-Update-Debug         | No      | Yes     |   99    
4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | No      | Yes     |   99    
5 | repo-non-oss              | openSUSE-13.2-Non-Oss              | Yes     | Yes     |   85    
6 | repo-oss                  | openSUSE-13.2-Oss                  | Yes     | Yes     |   99    
7 | repo-source               | openSUSE-13.2-Source               | No      | Yes     |   99    
8 | repo-update               | openSUSE-13.2-Update               | Yes     | Yes     |   99    
9 | repo-update-non-oss       | openSUSE-13.2-Update-Non-Oss       | Yes     | Yes     |   99    

저장소 새로 고침

9. zypper 저장소를 새로 고치려면 zypper refresh 또는 zypper ref 명령을 사용하십시오.

# zypper refresh
OR
# zypper ref

Repository 'openSUSE-13.2-0' is up to date.
Repository 'openSUSE-13.2-Debug' is up to date.
Repository 'openSUSE-13.2-Non-Oss' is up to date.
Repository 'openSUSE-13.2-Oss' is up to date.
Repository 'openSUSE-13.2-Update' is up to date.
Repository 'openSUSE-13.2-Update-Non-Oss' is up to date.
All repositories have been refreshed.

10. ‘repo-non-oss’와 같은 특정 저장소를 새로 고치려면 다음을 입력하십시오:

# zypper refresh repo-non-oss

Repository 'openSUSE-13.2-Non-Oss' is up to date.
Specified repositories have been refreshed.

11. ‘repo-non-oss’와 같은 저장소를 강제로 업데이트하려면 다음을 입력하십시오:

# zypper ref -f repo-non-oss 

Forcing raw metadata refresh
Retrieving repository 'openSUSE-13.2-Non-Oss' metadata ............................................................[done]
Forcing building of repository cache
Building repository 'openSUSE-13.2-Non-Oss' cache ............................................................[done]
Specified repositories have been refreshed.

저장소 수정

여기서 ‘zypper modifyrepo’ 또는 ‘zypper mr’ 명령을 사용하여 zypper 저장소를 비활성화하거나 활성화합니다.

12. 저장소를 비활성화하기 전에 Zypper에서 모든 저장소가 비활성화 또는 활성화하는 데 사용하는 고유 번호를 알아야 합니다.

예를 들어 ‘repo-oss’ 저장소를 비활성화하려면 먼저 다음 명령을 입력하여 해당 번호를 알아야 합니다.

# zypper lr

# | Alias                     | Name                               | Enabled | Refresh
--+---------------------------+------------------------------------+---------+--------
1 | openSUSE-13.2-0           | openSUSE-13.2-0                    | Yes     | No     
2 | repo-debug                | openSUSE-13.2-Debug                | Yes     | Yes    
3 | repo-debug-update         | openSUSE-13.2-Update-Debug         | No      | Yes    
4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | No      | Yes    
5 | repo-non-oss              | openSUSE-13.2-Non-Oss              | Yes     | Yes    
6 | repo-oss                  | openSUSE-13.2-Oss                  | No      | Yes    
7 | repo-source               | openSUSE-13.2-Source               | No      | Yes    
8 | repo-update               | openSUSE-13.2-Update               | Yes     | Yes    
9 | repo-update-non-oss       | openSUSE-13.2-Update-Non-Oss       | Yes     | Yes    

위의 출력에서 ‘repo-oss’ 저장소의 번호가 6임을 확인할 수 있습니다. 이를 비활성화하려면 다음 명령과 함께 번호 6을 지정해야 합니다.

# zypper mr -d 6

Repository 'repo-oss' has been successfully disabled.

13. 위의 예와 같이 다시 ‘repo-oss’ 저장소를 활성화하려면 다음을 입력하십시오.

# zypper mr -e 6

Repository 'repo-oss' has been successfully enabled.

14. ‘repo-non-oss’와 같은 저장소에 대해 자동 새로 고침 및 rpm 파일 ‘캐싱’을 사용하고 우선순위를 85로 설정하십시오.

# zypper mr -rk -p 85 repo-non-oss

Repository 'repo-non-oss' priority has been left unchanged (85)
Nothing to change for repository 'repo-non-oss'.

15. 모든 저장소의 rpm 파일 캐시를 사용하지 않습니다.

# zypper mr -Ka

RPM files caching has been disabled for repository 'openSUSE-13.2-0'.
RPM files caching has been disabled for repository 'repo-debug'.
RPM files caching has been disabled for repository 'repo-debug-update'.
RPM files caching has been disabled for repository 'repo-debug-update-non-oss'.
RPM files caching has been disabled for repository 'repo-non-oss'.
RPM files caching has been disabled for repository 'repo-oss'.
RPM files caching has been disabled for repository 'repo-source'.
RPM files caching has been disabled for repository 'repo-update'.
RPM files caching has been disabled for repository 'repo-update-non-oss'.

16. 모든 저장소의 rpm 파일 캐시를 사용합니다.

# zypper mr -ka

RPM files caching has been enabled for repository 'openSUSE-13.2-0'.
RPM files caching has been enabled for repository 'repo-debug'.
RPM files caching has been enabled for repository 'repo-debug-update'.
RPM files caching has been enabled for repository 'repo-debug-update-non-oss'.
RPM files caching has been enabled for repository 'repo-non-oss'.
RPM files caching has been enabled for repository 'repo-oss'.
RPM files caching has been enabled for repository 'repo-source'.
RPM files caching has been enabled for repository 'repo-update'.
RPM files caching has been enabled for repository 'repo-update-non-oss'.

17. 원격 저장소의 rpm 파일 캐시를 사용하지 않습니다.

# zypper mr -Kt

RPM files caching has been disabled for repository 'repo-debug'.
RPM files caching has been disabled for repository 'repo-debug-update'.
RPM files caching has been disabled for repository 'repo-debug-update-non-oss'.
RPM files caching has been disabled for repository 'repo-non-oss'.
RPM files caching has been disabled for repository 'repo-oss'.
RPM files caching has been disabled for repository 'repo-source'.
RPM files caching has been disabled for repository 'repo-update'.
RPM files caching has been disabled for repository 'repo-update-non-oss'.

18. 원격 저장소의 rpm 파일 캐시를 사용합니다.

# zypper mr -kt

RPM files caching has been enabled for repository 'repo-debug'.
RPM files caching has been enabled for repository 'repo-debug-update'.
RPM files caching has been enabled for repository 'repo-debug-update-non-oss'.
RPM files caching has been enabled for repository 'repo-non-oss'.
RPM files caching has been enabled for repository 'repo-oss'.
RPM files caching has been enabled for repository 'repo-source'.
RPM files caching has been enabled for repository 'repo-update'.
RPM files caching has been enabled for repository 'repo-update-non-oss'.

저장소 추가

有两种命令可以使用 – ‘zypper addrepo’ 或 ‘zypper ar’。您可以使用 repo url 또는 alias 来添加仓库。

19. 添加一个仓库,比如 “http://download.opensuse.org/update/12.3/”。

# zypper ar http://download.opensuse.org/update/11.1/ update

Adding repository 'update' .............................................................................................................................................................[done]
Repository 'update' successfully added
Enabled     : Yes                                      
Autorefresh : No                                       
GPG check   : Yes                                      
URI         : http://download.opensuse.org/update/11.1/

20. 更改仓库名称。它只会更改别名。您可以使用命令 ‘zypper namerepo’ 或 ‘zypper nr’。要更改编号10的仓库(zypper lr)的别名称为upd8,请运行下面的命令。

# zypper nr 10 upd8

Repository 'update' renamed to 'upd8'.

仓库移除

21. 移除一个仓库。它将从系统中移除仓库。您可以使用命令 ‘zypper removerepo’ 或 ‘zypper rr’。要移除名为 “upd8” 的仓库,请运行下面的命令。

# zypper rr upd8

# Removing repository 'upd8' .........................................................................................[done]
Repository 'upd8' has been removed.

使用Zypper进行软件包管理

使用Zypper安装软件包

22. 使用Zypper,我们可以根据功能名称安装软件包。例如,要使用功能名称安装软件包(比如 Mozilla Firefox)。

# zypper in MozillaFirefox

Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 128 NEW packages are going to be installed:
  adwaita-icon-theme at-spi2-atk-common at-spi2-atk-gtk2 at-spi2-core cantarell-fonts cups-libs desktop-file-utils fontconfig gdk-pixbuf-query-loaders gstreamer gstreamer-fluendo-mp3 
  gstreamer-plugins-base gtk2-branding-openSUSE gtk2-data gtk2-immodule-amharic gtk2-immodule-inuktitut gtk2-immodule-thai gtk2-immodule-vietnamese gtk2-metatheme-adwaita 
  gtk2-theming-engine-adwaita gtk2-tools gtk3-data gtk3-metatheme-adwaita gtk3-tools hicolor-icon-theme hicolor-icon-theme-branding-openSUSE libasound2 libatk-1_0-0 libatk-bridge-2_0-0 
  libatspi0 libcairo2 libcairo-gobject2 libcanberra0 libcanberra-gtk0 libcanberra-gtk2-module libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra-gtk-module-common libcdda_interface0 
  libcdda_paranoia0 libcolord2 libdrm2 libdrm_intel1 libdrm_nouveau2 libdrm_radeon1 libFLAC8 libfreebl3 libgbm1 libgdk_pixbuf-2_0-0 libgraphite2-3 libgstapp-1_0-0 libgstaudio-1_0-0 
  libgstpbutils-1_0-0 libgstreamer-1_0-0 libgstriff-1_0-0 libgsttag-1_0-0 libgstvideo-1_0-0 libgthread-2_0-0 libgtk-2_0-0 libgtk-3-0 libharfbuzz0 libjasper1 libjbig2 libjpeg8 libjson-c2 
  liblcms2-2 libLLVM libltdl7 libnsssharedhelper0 libogg0 liborc-0_4-0 libpackagekit-glib2-18 libpango-1_0-0 libpciaccess0 libpixman-1-0 libpulse0 libsndfile1 libsoftokn3 libspeex1 
  libsqlite3-0 libstartup-notification-1-0 libtheoradec1 libtheoraenc1 libtiff5 libvisual libvorbis0 libvorbisenc2 libvorbisfile3 libwayland-client0 libwayland-cursor0 libwayland-server0 
  libX11-xcb1 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-render0 libxcb-shm0 libxcb-sync1 libxcb-util1 libxcb-xfixes0 libXcomposite1 libXcursor1 libXdamage1 libXevie1 
  libXfixes3 libXft2 libXi6 libXinerama1 libxkbcommon-0_4_3 libXrandr2 libXrender1 libxshmfence1 libXtst6 libXv1 libXxf86vm1 Mesa Mesa-libEGL1 Mesa-libGL1 Mesa-libglapi0 
  metatheme-adwaita-common MozillaFirefox MozillaFirefox-branding-openSUSE mozilla-nss mozilla-nss-certs PackageKit-gstreamer-plugin pango-tools sound-theme-freedesktop 

The following 10 recommended packages were automatically selected:
  gstreamer-fluendo-mp3 gtk2-branding-openSUSE gtk2-data gtk2-immodule-amharic gtk2-immodule-inuktitut gtk2-immodule-thai gtk2-immodule-vietnamese libcanberra0 libpulse0 
  PackageKit-gstreamer-plugin 

128 new packages to install.
Overall download size: 77.2 MiB. Already cached: 0 B  After the operation, additional 200.0 MiB will be used.
Continue? [y/n/? shows all options] (y): y
Retrieving package cantarell-fonts-0.0.16-1.1.noarch                                                                                                   (1/128),  74.1 KiB (115.6 KiB unpacked)
Retrieving: cantarell-fonts-0.0.16-1.1.noarch.rpm .........................................................................................................................[done (63.4 KiB/s)]
Retrieving package hicolor-icon-theme-0.13-2.1.2.noarch                                                                                                (2/128),  40.1 KiB ( 50.5 KiB unpacked)
Retrieving: hicolor-icon-theme-0.13-2.1.2.noarch.rpm ...................................................................................................................................[done]
Retrieving package sound-theme-freedesktop-0.8-7.1.2.noarch                                                                                            (3/128), 372.6 KiB (460.3 KiB unpacked)

23. 버전을 사용하여 패키지(예: gcc)를 설치하십시오.

# zypper in 'gcc<5.1'

Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 13 NEW packages are going to be installed:
  cpp cpp48 gcc gcc48 libasan0 libatomic1-gcc49 libcloog-isl4 libgomp1-gcc49 libisl10 libitm1-gcc49 libmpc3 libmpfr4 libtsan0-gcc49 

13 new packages to install.
Overall download size: 14.5 MiB. Already cached: 0 B  After the operation, additional 49.4 MiB will be used.
Continue? [y/n/? shows all options] (y): y

24. 아키텍처(예: gcc)용 패키지를 설치하십시오(예: i586).

# zypper in gcc.i586

Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 13 NEW packages are going to be installed:
  cpp cpp48 gcc gcc48 libasan0 libatomic1-gcc49 libcloog-isl4 libgomp1-gcc49 libisl10 libitm1-gcc49 libmpc3 libmpfr4 libtsan0-gcc49 

13 new packages to install.
Overall download size: 14.5 MiB. Already cached: 0 B  After the operation, additional 49.4 MiB will be used.
Continue? [y/n/? shows all options] (y): y
Retrieving package libasan0-4.8.3+r212056-2.2.4.x86_64                                                                                                  (1/13),  74.2 KiB (166.9 KiB unpacked)
Retrieving: libasan0-4.8.3+r212056-2.2.4.x86_64.rpm .......................................................................................................................[done (79.2 KiB/s)]
Retrieving package libatomic1-gcc49-4.9.0+r211729-2.1.7.x86_64                                                                                          (2/13),  14.3 KiB ( 26.1 KiB unpacked)
Retrieving: libatomic1-gcc49-4.9.0+r211729-2.1.7.x86_64.rpm ...............................................................................................................[done (55.3 KiB/s)]

25. 특정 아키텍처(예: i586) 및 특정 버전(예: <5.1)을 사용하여 패키지(예: gcc)를 설치하십시오.

# zypper in 'gcc.i586<5.1'

Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 13 NEW packages are going to be installed:
  cpp cpp48 gcc gcc48 libasan0 libatomic1-gcc49 libcloog-isl4 libgomp1-gcc49 libisl10 libitm1-gcc49 libmpc3 libmpfr4 libtsan0-gcc49 

13 new packages to install.
Overall download size: 14.4 MiB. Already cached: 129.5 KiB  After the operation, additional 49.4 MiB will be used.
Continue? [y/n/? shows all options] (y): y
In cache libasan0-4.8.3+r212056-2.2.4.x86_64.rpm                                                                                                        (1/13),  74.2 KiB (166.9 KiB unpacked)
In cache libatomic1-gcc49-4.9.0+r211729-2.1.7.x86_64.rpm                                           (2/13),  14.3 KiB ( 26.1 KiB unpacked)
In cache libgomp1-gcc49-4.9.0+r211729-2.1.7.x86_64.rpm                                             (3/13),  41.1 KiB ( 90.7 KiB unpacked)

26. 저장소(amarok)에서 패키지(예: libxine)를 설치하십시오.

# zypper in amarok upd:libxine1

Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following 202 NEW packages are going to be installed:
  amarok bundle-lang-kde-en clamz cups-libs enscript fontconfig gdk-pixbuf-query-loaders ghostscript-fonts-std gptfdisk gstreamer gstreamer-plugins-base hicolor-icon-theme 
  hicolor-icon-theme-branding-openSUSE htdig hunspell hunspell-tools icoutils ispell ispell-american kde4-filesystem kdebase4-runtime kdebase4-runtime-branding-openSUSE kdelibs4 
  kdelibs4-branding-openSUSE kdelibs4-core kdialog libakonadi4 l
.....

27. 이름(-n)을 사용하여 패키지(예: git)를 설치하십시오.

# zypper in -n git

Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 35 NEW packages are going to be installed:
  cvs cvsps fontconfig git git-core git-cvs git-email git-gui gitk git-svn git-web libserf-1-1 libsqlite3-0 libXft2 libXrender1 libXss1 perl-Authen-SASL perl-Clone perl-DBD-SQLite perl-DBI 
  perl-Error perl-IO-Socket-SSL perl-MLDBM perl-Net-Daemon perl-Net-SMTP-SSL perl-Net-SSLeay perl-Params-Util perl-PlRPC perl-SQL-Statement perl-Term-ReadKey subversion subversion-perl tcl 
  tk xhost 

The following 13 recommended packages were automatically selected:
  git-cvs git-email git-gui gitk git-svn git-web perl-Authen-SASL perl-Clone perl-MLDBM perl-Net-Daemon perl-Net-SMTP-SSL perl-PlRPC perl-SQL-Statement 

The following package is suggested, but will not be installed:
  git-daemon 

35 new packages to install.
Overall download size: 15.6 MiB. Already cached: 0 B  After the operation, additional 56.7 MiB will be used.
Continue? [y/n/? shows all options] (y): y

28. 와일드카드를 사용하여 패키지를 설치하십시오. 예를 들어, 모든 php5 패키지를 설치하십시오.

# zypper in php5*

Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: php5-5.6.1-18.1.x86_64 requires smtp_daemon, but this requirement cannot be provided
  uninstallable providers: exim-4.83-3.1.8.x86_64[openSUSE-13.2-0]
                   postfix-2.11.0-5.2.2.x86_64[openSUSE-13.2-0]
                   sendmail-8.14.9-2.2.2.x86_64[openSUSE-13.2-0]
                   exim-4.83-3.1.8.i586[repo-oss]
                   msmtp-mta-1.4.32-2.1.3.i586[repo-oss]
                   postfix-2.11.0-5.2.2.i586[repo-oss]
                   sendmail-8.14.9-2.2.2.i586[repo-oss]
                   exim-4.83-3.1.8.x86_64[repo-oss]
                   msmtp-mta-1.4.32-2.1.3.x86_64[repo-oss]
                   postfix-2.11.0-5.2.2.x86_64[repo-oss]
                   sendmail-8.14.9-2.2.2.x86_64[repo-oss]
                   postfix-2.11.3-5.5.1.i586[repo-update]
                   postfix-2.11.3-5.5.1.x86_64[repo-update]
 Solution 1: Following actions will be done:
  do not install php5-5.6.1-18.1.x86_64
  do not install php5-pear-Auth_SASL-1.0.6-7.1.3.noarch
  do not install php5-pear-Horde_Http-2.0.1-6.1.3.noarch
  do not install php5-pear-Horde_Image-2.0.1-6.1.3.noarch
  do not install php5-pear-Horde_Kolab_Format-2.0.1-6.1.3.noarch
  do not install php5-pear-Horde_Ldap-2.0.1-6.1.3.noarch
  do not install php5-pear-Horde_Memcache-2.0.1-7.1.3.noarch
  do not install php5-pear-Horde_Mime-2.0.2-6.1.3.noarch
  do not install php5-pear-Horde_Oauth-2.0.0-6.1.3.noarch
  do not install php5-pear-Horde_Pdf-2.0.1-6.1.3.noarch
....

29. 패턴(패키지 그룹)을 사용하여 패키지(예: lamp_server)를 설치하십시오.

# zypper in -t pattern lamp_server

ading repository data...
Reading installed packages...
Resolving package dependencies...

The following 29 NEW packages are going to be installed:
  apache2 apache2-doc apache2-example-pages apache2-mod_perl apache2-prefork patterns-openSUSE-lamp_server perl-Data-Dump perl-Encode-Locale perl-File-Listing perl-HTML-Parser 
  perl-HTML-Tagset perl-HTTP-Cookies perl-HTTP-Daemon perl-HTTP-Date perl-HTTP-Message perl-HTTP-Negotiate perl-IO-HTML perl-IO-Socket-SSL perl-libwww-perl perl-Linux-Pid 
  perl-LWP-MediaTypes perl-LWP-Protocol-https perl-Net-HTTP perl-Net-SSLeay perl-Tie-IxHash perl-TimeDate perl-URI perl-WWW-RobotRules yast2-http-server 

The following NEW pattern is going to be installed:
  lamp_server 

The following 10 recommended packages were automatically selected:
  apache2 apache2-doc apache2-example-pages apache2-mod_perl apache2-prefork perl-Data-Dump perl-IO-Socket-SSL perl-LWP-Protocol-https perl-TimeDate yast2-http-server 

29 new packages to install.
Overall download size: 7.2 MiB. Already cached: 1.2 MiB  After the operation, additional 34.7 MiB will be used.
Continue? [y/n/? shows all options] (y): 

30. 한 번에 패키지(예: nano)를 설치하고 패키지(예: vi)를 제거하십시오.

# zypper in nano -vi

Loading repository data...
Reading installed packages...
'-vi' not found in package names. Trying capabilities.
Resolving package dependencies...

The following 2 NEW packages are going to be installed:
  nano nano-lang 

The following package is going to be REMOVED:
  vim 

The following recommended package was automatically selected:
  nano-lang 

2 new packages to install, 1 to remove.
Overall download size: 550.0 KiB. Already cached: 0 B  After the operation, 463.3 KiB will be freed.
Continue? [y/n/? shows all options] (y): 
...

31. rpm 패키지(예: teamviewer)를 설치하십시오.

# zypper in teamviewer*.rpm

Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 24 NEW packages are going to be installed:
  alsa-oss-32bit fontconfig-32bit libasound2-32bit libexpat1-32bit libfreetype6-32bit libgcc_s1-gcc49-32bit libICE6-32bit libjpeg62-32bit libpng12-0-32bit libpng16-16-32bit libSM6-32bit 
  libuuid1-32bit libX11-6-32bit libXau6-32bit libxcb1-32bit libXdamage1-32bit libXext6-32bit libXfixes3-32bit libXinerama1-32bit libXrandr2-32bit libXrender1-32bit libXtst6-32bit 
  libz1-32bit teamviewer 

The following recommended package was automatically selected:
  alsa-oss-32bit 

24 new packages to install.
Overall download size: 41.2 MiB. Already cached: 0 B  After the operation, additional 119.7 MiB will be used.
Continue? [y/n/? shows all options] (y): 
..

Zypper로 패키지 제거하기

32. 패키지를 제거하려면 ‘zypper remove‘ 또는 ‘zypper rm‘ 명령을 사용할 수 있습니다. 예를 들어, 패키지(apache2)를 제거하려면 다음을 실행하십시오:

# zypper remove apache2
Or
# zypper rm apache2

Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 2 packages are going to be REMOVED:
  apache2 apache2-prefork 

2 packages to remove.
After the operation, 4.2 MiB will be freed.
Continue? [y/n/? shows all options] (y): y
(1/2) Removing apache2-2.4.10-19.1 ........................................................................[done]
(2/2) Removing apache2-prefork-2.4.10-19.1 ................................................................[done]

Zypper를 사용하여 패키지 업데이트

33. 모든 패키지를 업데이트하십시오. ‘zypper update‘ 또는 ‘zypper up‘ 명령을 사용할 수 있습니다.

# zypper up
OR
# zypper update

Loading repository data...
Reading installed packages...
Nothing to do.

34. 특정 패키지(比如说 apache2 以及 openssh)를 更新하십시오.

# zypper up apache2 openssh

Loading repository data...
Reading installed packages...
No update candidate for 'apache2-2.4.10-19.1.x86_64'. The highest available version is already installed.
No update candidate for 'openssh-6.6p1-5.1.3.x86_64'. The highest available version is already installed.
Resolving package dependencies...

Nothing to do.

35. 如果没有安装,就安装一个包(比如说 mariadb),如果已安装就更新它。

# zypper in mariadb

Loading repository data...
Reading installed packages...
'mariadb' is already installed.
No update candidate for 'mariadb-10.0.13-2.6.1.x86_64'. The highest available version is already installed.
Resolving package dependencies...

Nothing to do.

安装源代码以及构建依赖

您可以使用 `zypper source-install` 或者 `zypper si` 命令来从源代码构建包。

36. 为某个包(比如说 mariadb)安装源代码并构建其依赖。

# zypper si mariadb

Reading installed packages...
Loading repository data...
Resolving package dependencies...

The following 36 NEW packages are going to be installed:
  autoconf automake bison cmake cpp cpp48 gcc gcc48 gcc48-c++ gcc-c++ libaio-devel libarchive13 libasan0 libatomic1-gcc49 libcloog-isl4 libedit-devel libevent-devel libgomp1-gcc49 libisl10 
  libitm1-gcc49 libltdl7 libmpc3 libmpfr4 libopenssl-devel libstdc++48-devel libtool libtsan0-gcc49 m4 make ncurses-devel pam-devel readline-devel site-config tack tcpd-devel zlib-devel 

The following source package is going to be installed:
  mariadb 

36 new packages to install, 1 source package.
Overall download size: 71.5 MiB. Already cached: 129.5 KiB  After the operation, additional 183.9 MiB will be used.
Continue? [y/n/? shows all options] (y): y

37. 只为某个包(比如说 mariadb)安装源代码。

# zypper in -D mariadb

Loading repository data...
Reading installed packages...
'mariadb' is already installed.
No update candidate for 'mariadb-10.0.13-2.6.1.x86_64'. The highest available version is already installed.
Resolving package dependencies...

Nothing to do.

38. 只为某个包(比如说 mariadb)安装构建依赖。

# zypper si -d mariadb

Reading installed packages...
Loading repository data...
Resolving package dependencies...

The following 36 NEW packages are going to be installed:
  autoconf automake bison cmake cpp cpp48 gcc gcc48 gcc48-c++ gcc-c++ libaio-devel libarchive13 libasan0 libatomic1-gcc49 libcloog-isl4 libedit-devel libevent-devel libgomp1-gcc49 libisl10 
  libitm1-gcc49 libltdl7 libmpc3 libmpfr4 libopenssl-devel libstdc++48-devel libtool libtsan0-gcc49 m4 make ncurses-devel pam-devel readline-devel site-config tack tcpd-devel zlib-devel 

The following package is recommended, but will not be installed due to conflicts or dependency issues:
  readline-doc 

36 new packages to install.
Overall download size: 33.7 MiB. Already cached: 129.5 KiB  After the operation, additional 144.3 MiB will be used.
Continue? [y/n/? shows all options] (y): y

使用 Zypper 安装脚本和应用程序

39. 无用户交互地安装一个包(比如说 mariadb)。

# zypper --non-interactive in mariadb

Loading repository data...
Reading installed packages...
'mariadb' is already installed.
No update candidate for 'mariadb-10.0.13-2.6.1.x86_64'. The highest available version is already installed.
Resolving package dependencies...

Nothing to do.

40. 无用户交互地卸载一个包(比如说 mariadb)。

# zypper --non-interactive rm mariadb

Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following package is going to be REMOVED:
  mariadb 

1 package to remove.
After the operation, 71.8 MiB will be freed.
Continue? [y/n/? shows all options] (y): y
(1/1) Removing mariadb-10.0.13-2.6.1 .............................................................................[done]

41. 输出 zypper 安装的 xml。

# zypper --xmlout



  Usage:
	zypper [--global-options] <command> [--command-options] [arguments]

  Global Options
....

42. 在安装时生成静默输出。

# zypper --quiet in mariadb

The following NEW package is going to be installed:
  mariadb 

1 new package to install.
Overall download size: 0 B. Already cached: 7.8 MiB  After the operation, additional 71.8 MiB will be used.
Continue? [y/n/? shows all options] (y): 
...

43. 在卸载时生成静默输出。

# zypper --quiet rm mariadb

44. 自动同意许可协议。

# zypper patch --auto-agree-with-licenses

Loading repository data...
Reading installed packages...
Resolving package dependencies...

Nothing to do.

清理 Zypper 缓存并查看历史记录

45. 如果你想只清理 zypper 缓存,可以使用以下的命令。

# zypper clean

All repositories have been cleaned up.

如果你想一次性清理元数据和包缓存,可以在运行 zypper 时加上 `–all/-a` 参数。

# zypper clean -a

All repositories have been cleaned up.

46. zypper를 통해 설치된, 업데이트된 또는 제거된 패키지의 로그를 보려면 /var/log/zypp/history에 기록됩니다. 보려면 cat을 사용하거나 필터를 사용하여 사용자 정의 출력을 얻을 수 있습니다.

# cat /var/log/zypp/history

2015-05-07 15:43:03|install|boost-license1_54_0|1.54.0-10.1.3|noarch||openSUSE-13.2-0|0523b909d2aae5239f9841316dafaf3a37b4f096|
2015-05-07 15:43:03|install|branding-openSUSE|13.2-3.6.1|noarch||openSUSE-13.2-0|6609def94b1987bf3f90a9467f4f7ab8f8d98a5c|
2015-05-07 15:43:03|install|bundle-lang-common-en|13.2-3.3.1|noarch||openSUSE-13.2-0|ca55694e6fdebee6ce37ac7cf3725e2aa6edc342|
2015-05-07 15:43:03|install|insserv-compat|0.1-12.2.2|noarch||openSUSE-13.2-0|6160de7fbf961a279591a83a1550093a581214d9|
2015-05-07 15:43:03|install|libX11-data|1.6.2-5.1.2|noarch||openSUSE-13.2-0|f1cb58364ba9016c1f93b1a383ba12463c56885a|
2015-05-07 15:43:03|install|libnl-config|3.2.25-2.1.2|noarch||openSUSE-13.2-0|aab2ded312a781e93b739b418e3d32fe4e187020|
2015-05-07 15:43:04|install|wireless-regdb|2014.06.13-1.2|noarch||openSUSE-13.2-0|be8cb16f3e92af12b5ceb977e37e13f03c007bd1|
2015-05-07 15:43:04|install|yast2-trans-en_US|3.1.0-2.1|noarch||openSUSE-13.2-0|1865754e5e0ec3c149ac850b340bcca55a3c404d|
2015-05-07 15:43:04|install|yast2-trans-stats|2.19.0-16.1.3|noarch||openSUSE-13.2-0|b107d2b3e702835885b57b04d12d25539f262d1a|
2015-05-07 15:43:04|install|cracklib-dict-full|2.8.12-64.1.2|x86_64||openSUSE-13.2-0|08bd45dbba7ad44e3a4837f730be76f55ad5dcfa|
......

Zypper를 사용하여 Suse 업그레이드하기

47. ‘dist-upgrade’ 옵션을 사용하여 zypper 명령을 통해 현재 Suse Linux를 가장 최신 버전으로 업그레이드할 수 있습니다.

# zypper dist-upgrade

You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Building repository 'openSUSE-13.2-0' cache .....................................................................[done]
Retrieving repository 'openSUSE-13.2-Debug' metadata ............................................................[done]
Building repository 'openSUSE-13.2-Debug' cache .................................................................[done]
Retrieving repository 'openSUSE-13.2-Non-Oss' metadata ..........................................................[done]
Building repository 'openSUSE-13.2-Non-Oss' cache ...............................................................[done]

지금까지입니다. 이 기사가 새로운 사용자를 위해 특히 SUSE 시스템서버를 관리하는 데 도움이 되기를 바랍니다. 특정 명령을 놓친 것 같다면 (인간은 실수를 범할 수 있습니다) 댓글에서 피드백을 제공하여 기사를 업데이트할 수 있도록 도와주세요. 연결 유지, 댓글 달기, 계속 주시기 바랍니다. 축하합니다!

Source:
https://www.tecmint.com/zypper-commands-to-manage-suse-linux-package-management/