웹사이트 검색

'Suse' Linux 패키지 관리를 관리하는 45가지 Zypper 명령


SUSE(Software and System Entwicklung(독일), 영어로 소프트웨어 및 시스템 개발을 의미) Linux는 Novell에서 가져온 Linux 커널 위에 있습니다. SUSE는 두 개의 팩으로 제공됩니다. 그 중 하나는 OpenSUSE라고 하며 무료로 사용할 수 있습니다(음성뿐만 아니라 와인에서도 무료). 최신 애플리케이션 지원이 포함된 커뮤니티 중심 프로젝트이며, OpenSUSE Linux의 최신 안정 릴리스는 13.2입니다.

다른 하나는 기업 및 프로덕션용으로 특별히 설계된 상용 Linux 배포판인 SUSE Linux Enterprise입니다. SUSE Linux Enterprise 에디션은 프로덕션 환경에 적합한 다양한 엔터프라이즈 애플리케이션 및 기능과 함께 제공됩니다. SUSE Linux Enterprise 에디션의 최신 안정 릴리스는 12입니다.

다음 사이트에서 SUSE Linux Enterprise Server의 자세한 설치 지침을 확인하실 수 있습니다.

  1. SUSE Linux Enterprise Server 12 설치

ZypperYaSTRPM 위에서 작동하는 SUSE Linux용 패키지 관리자입니다. 강하다>.

또 다른 설정 도구를 의미하는 YaSTOpenSUSESUSE Enterprise 버전에서 작동하여 관리하는 도구입니다. 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 Refresh 또는 zypper ref 명령을 사용하여 zypper 저장소를 새로 고칩니다.

# 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 modrepo' 또는 '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. 6번에 나타나는 동일한 저장소 'repo-oss'를 다시 활성화합니다(위 예 참조).

# zypper mr -e 6

Repository 'repo-oss' has been successfully enabled.

14. 저장소에 대해 자동 새로 고침 및 rpm 파일 '캐싱'을 활성화하고 'repo-non-oss'라고 말하고 우선순위를 다음과 같이 설정합니다. 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' 두 가지 명령 중 하나를 사용할 수 있습니다. 저장소 URL 또는 별칭을 사용하여 저장소를 추가할 수 있습니다.

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. 아키텍처(예: i586)용 패키지(예: gcc)를 설치합니다.

# 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. 특정 패키지(예: apache2openssh)를 업데이트합니다.

# 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. UN 설치 시 조용한 출력을 생성합니다.

# 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 /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. zypper 명령과 함께 'dist-upgrade' 옵션을 사용하여 현재 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 시스템서버를 관리하는 데 도움이 되기를 바랍니다. 내가 특정 명령을 남겼다고 느끼신다면(인간은 잘못되었습니다) 기사를 업데이트할 수 있도록 댓글로 피드백을 제공해 주세요. 계속 연결하고, 댓글을 달고, 계속 지켜봐 주시기 바랍니다. 명성!