天天看點

zypper指令使用示例

導讀 Zypper是OpenSUSE和企業版SUSE中軟體包管理器ZYpp的指令行接口。 主要用于:1.管理軟體包:zypper可用來安裝、删除、更新和查詢本地或遠端的軟體包。2.管理倉庫:zypper可用指令行添加、删除、啟用或禁用庫。
zypper指令使用示例

I. 用zypper管理軟體包

1. 安裝包

文法: # zypper install 示例:安裝Mozilla firefox

[root@linuxprobe ~]# zypper install MozillaFirefox
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following NEW packages are going to be installed:
  MozillaFirefox MozillaFirefox-branding-SLED
The following packages are not supported by their vendor:
  MozillaFirefox MozillaFirefox-branding-SLED
2 new packages to install.
Overall download size: 964.0 KiB. After the operation, additional 3.4 MiB will be used.
Continue? [y/n/?] (y): y
Retrieving package MozillaFirefox-3.6.16-0.2.1.x86_64 (1/2), 949.0 KiB (3.4 MiB unpacked)
Retrieving: MozillaFirefox-3.6.16-0.2.1.x86_64.rpm [done]
Installing: MozillaFirefox-3.6.16-0.2.1 [done]
Retrieving package MozillaFirefox-branding-SLED-3.5-1.1.5.x86_64 (2/2), 15.0 KiB (34.0 KiB unpacked)
Retrieving: MozillaFirefox-branding-SLED-3.5-1.1.5.x86_64.rpm [done]
Installing: MozillaFirefox-branding-SLED-3.5-1.1.5 [done]
      

2. 安裝源碼包

文法:# zypper source-install 示例:從庫中安裝 apache

[root@linuxprobe ~]# zypper source-install apache2-mod_nss
Reading installed packages...
Loading repository data...
Resolving package dependencies...
Retrieving package mozilla-nss-devel-3.12.8-1.2.1.x86_64 (2/3), 473.0 KiB (2.6 MiB unpacked)
Retrieving: mozilla-nss-devel-3.12.8-1.2.1.x86_64.rpm [done]
Installing: mozilla-nss-devel-3.12.8-1.2.1 [done]
Retrieving: apache2-mod_nss-1.0.8-17.5.src.rpm [done]
      

3. 更新包

更新某一軟體包: # zypper update 更新所有軟體包: # zypper update

檢視所有可用的更新清單:# zypper list-updates

4. 删除包

文法:# zypper remove 示例:移除Mozilla Firefox

[root@linuxprobe ~]# zypper remove MozillaFirefox
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following packages are going to be REMOVED:
  MozillaFirefox MozillaFirefox-branding-SLED
2 packages to remove.
After the operation, 3.4 MiB will be freed.
Continue? [y/n/?] (y): y
Removing MozillaFirefox-branding-SLED-3.5-1.1.5 [done]
Removing MozillaFirefox-3.6.16-0.2.1 [done]
      

5. 查找包

文法:# zypper search 示例:查找所有usb開頭的軟體包

[root@linuxprobe ~]# zypper search usb*
Loading repository data...
Reading installed packages...

S | Name                | Summary                                                        | Type
--+---------------------+----------------------------------------------------------------+--------
  | usb_modeswitch      | A mode switching tool for controlling multiple-device USB gear | package
  | usb_modeswitch-data | A mode switching tool for controlling multiple-device USB gear | package
  | usbip-devel         | Headers and static libraries                                   | package
i | usbutils            | Tools and libraries for USB devices                            | package
      

6. 檢視軟體包詳情

文法: zypper info 示例:檢視usbutils的資訊

[root@linuxprobe ~]# zypper info usbutils
Loading repository data...
Reading installed packages...
Information for package usbutils:
Repository: LINUXPROBE
Name: usbutils
Version: 0.73-38.19
Arch: x86_64
Vendor: SUSE LINUX Products GmbH, Nuernberg, Germany
Support Level: unknown
Installed: Yes
Status: up-to-date
Installed Size: 461.0 KiB
Summary: Tools and libraries for USB devices
Description:
This package contains a utility for inspecting devices connected to USB
ports.
It requires kernel version 2.3.99-pre7 or newer, or the USB backport
which was introduced in 2.2.18 (supporting the /proc/bus/usb
interface).
      

7. 打更新檔

檢視所有可打更新檔: zypper patches

安裝指定更新檔:zypper patch

8. 鎖住包

軟體包被鎖之後将不能被移除或更新,下面示範一下如何加鎖

1)加al選項鎖住封包件“usbutils”, al 是 add lock的縮寫

[root@linuxprobe ~] # zypper al usbutils
Specified lock has been successfully added.
      

2) 加ll選項檢視所有已被鎖住的軟體包, ll 是 List Locks的縮寫

[root@linuxprobe ~] # zypper ll
# | Name            | Type    | Repository
--+-----------------+---------+-----------
1 | usbutils        | package | (any)
      

9. 解鎖包

加rl選項解鎖usbutils, rl 是 remove lock的縮寫

[root@linuxprobe ~] #  zypper rl usbutils
1 lock has been successfully removed.
[root@linuxprobe ~]# zypper ll
There are no package locks defined.
      

II. 用zypper管理倉庫

10. 用zypper添加庫

文法:# zypper addrepo

[root@linuxprobe ~] # zypper addrepo --check --refresh --name "Mozilla-repo" http://download.opensuse.org/repositories/mozilla/SLE_11/ "Mozillarepo"
Adding repository 'Mozilla-repo' [done]
Repository 'Mozilla-repo' successfully added
Enabled: Yes
Autorefresh: Yes
URI: http://download.opensuse.org/repositories/mozilla/SLE_11/
      

11. 建立本地庫

我們可以使用zypper從本地目錄中建立一個包含所有rpm檔案的本地庫

文法: # zypper addrepo

示例:建立一個名為Linuxprobe_Repo的本地目錄,包含所有rpm檔案

[root@linuxprobe ~] # zypper addrepo /var/stormgt/dsminst Linuxprobe_Repo
Adding repository 'Linuxprobe_Repo' [done]
Repository 'Linuxprobe_Repo' successfully added
Enabled: Yes
Autorefresh: No
URI: dir:///var/stormgt/dsminst
[root@linuxprobe ~] # zypper search --repo Linuxprobe_Repo
Loading repository data...
Reading installed packages...
S | Name        | Summary                                 | Type
--+-------------+-----------------------------------------+--------
i | TIVsm-API   | the API                                 | package
i | TIVsm-API64 | the API                                 | package
i | TIVsm-BA    | the Backup Archive Client               | package
i | gskcrypt32  | IBM GSKit Cryptography Runtime          | package
i | gskcrypt64  | IBM GSKit Cryptography Runtime          | package
i | gskssl32    | IBM GSKit SSL Runtime With Acme Toolkit | package
i | gskssl64    | IBM GSKit SSL Runtime With Acme Toolkit | package
      

注:你也可以通過此指令添加NFS或FTP路徑

12. 檢視庫

[root@linuxprobe ~] # zypper lr
# | Alias                                            | Name                                             | Enabled | Refresh
--+--------------------------------------------------+--------------------------------------------------+---------+--------
1 | Mozillarepo                                      | Mozilla-repo                                     | Yes     | Yes
2 | SUSE-Linux-Enterprise-Server-11-SP1 11.1.1-1.152 | SUSE-Linux-Enterprise-Server-11-SP1 11.1.1-1.152 | Yes     | Yes
      

檢視repo完整的URI:

[root@linuxprobe ~] # zypper lr --uri
# | Alias                                            | Name                                             | Enabled | Refresh | URI
--+--------------------------------------------------+--------------------------------------------------+---------+---------+----------------------------------------------------------
1 | Mozillarepo                                      | Mozilla-repo                                     | Yes     | Yes     | http://download.opensuse.org/repositories/mozilla/SLE_11/
2 | SUSE-Linux-Enterprise-Server-11-SP1 11.1.1-1.152 | SUSE-Linux-Enterprise-Server-11-SP1 11.1.1-1.152 | Yes     | Yes     | http://19.106.65.64/FUSELinux/600RC0
      

13. 在庫中搜尋包

列出指定庫Mozillarepo的所有軟體包

[root@linuxprobe ~] # zypper search --repo Mozillarepo
Loading repository data...
Reading installed packages...

S | Name                                 | Summary                                                                 | Type
--+--------------------------------------+-------------------------------------------------------------------------+-----------
i | MozillaFirefox                       | Mozilla Firefox Web Browser                                             | package
i | MozillaFirefox-branding-SLED         | SLED branding of MozillaFirefox                                         | package  
  | MozillaFirefox-branding-openSUSE     | openSUSE branding of MozillaFirefox                                     | package
  | MozillaFirefox-branding-openSUSE     | openSUSE branding of MozillaFirefox                                     | srcpackage
      

14. 庫重命名

重命名庫可以用 renamerepo 選項

示例:将庫"Linuxprobe_Repo"的名字改成"MyLinuxRepo"

[root@linuxprobe ~] # zypper renamerepo Linuxprobe_Repo MyLinuxRepo
Repository 'Linuxprobe_Repo' renamed to 'MyLinuxRepo'.
      

15. 删除庫

用removerepo選項來移除庫

[root@linuxprobe ~] # zypper removerepo MyLinuxRepo
Removing repository 'MyLinuxRepo' [done]
Repository 'MyLinuxRepo has been removed.
      

16. 備份庫

用export選項可以備份一系列庫檔案

[root@linuxprobe ~] # zypper lr --export /var/tmp/backup.repo
Repositories have been successfully exported to /var/tmp/backup.repo.
      

17. 從備份檔案中添加庫

[root@linuxprobe ~] # zypper addrepo /var/tmp/backup.rep
      

18. 禁用/使用庫

示例: 用 modifyrepo 選項的 -d 參數來禁用Mozilla庫

[root@linuxprobe ~] # zypper modifyrepo -d Mozillarepo
Repository 'Mozillarepo' has been successfully disabled.
      

示例: 用 modifyrepo選項 -e 參數來允許使用Mozilla庫

[root@linuxprobe ~] # zypper modifyrepo -e Mozillarepo
Repository 'Mozillarepo' has been successfully enabled.
      

19. 重新整理庫

示例: 重新整理Mozilla庫

[root@linuxprobe ~] # zypper refresh Mozillarepo
Repository 'Mozilla-repo' is up to date.
Specified repositories have been refreshed.
      

示例: 自動重新整理指定庫

[root@linuxprobe ~] # zypper modifyrepo --refresh Linuxprobe_Repo
Autorefresh has been enabled for repository 'Linuxprobe_Repo'.      

 免費提供最新Linux技術教程書籍,為開源技術愛好者努力做得更多更好:https://www.linuxprobe.com

繼續閱讀