轉(zhuǎn)載:openSUSE的Zypper 用法

原文地址

https://zh.opensuse.org/SDB:Zypper_%E7%94%A8%E6%B3%95

1 快速參考

下列是些常用的命令:

zypper          # 列出可用的全局選項和命令
zypper help search  # 列出 search 命令的幫助
zypper lp       # 列出需要的補丁更新
zypper patch        # 安裝所需的補丁
zypper se sqlite    # 搜索 sqlite 軟件
zypper rm sqlite2   # 刪除 sqlite2 軟件
zypper in sqlite3   # 安裝 sqlite3 軟件
zypper in yast*     # 安裝所有符合 yast* 名稱的軟件
zypper up       # 更新所有軟件包到可用的新版本

1.1備忘單

這里是本頁內(nèi)容的備忘單站宗,也包含了一些手冊頁里的內(nèi)容喧锦。建議您了解本頁內(nèi)容之后再使用坤次。

第一頁(A4 大小)
第二頁(A4 大小)
第一頁(letter 大小)
第二頁(letter 大腥蕖)


2 常規(guī)用法

zypper 常規(guī)語法:

zypper [全局選項] 命令 [命令選項] [參數(shù)] ...

方括號部分并非必需,因此最簡單的形式就是 zypper 后跟一個命令琐驴。例如俘种,安裝所需的補冻颖辍:

zypper patch

您也可以選擇一個或多個全局選項,全局選項在命令之前輸入宙刘,如(不詢問而執(zhí)行命令):

zypper --non-interactive patch

命令選項跟在命令后面苍姜,如(自動同意所有協(xié)議并安裝所需的補丁):

zypper patch --auto-agree-with-licenses

一些命令需要一或多個參數(shù)悬包,如(安裝或更新 mplayer):

zypper install mplayer

一些選項也需要參數(shù)衙猪,如(搜索匹配項 pattern):

zypper search -t pattern

綜合以上所列,如(安裝 Factory 供應(yīng)源的 mplayer 和 amarok布近,并列出具體信息):

zypper -v install --repo factory mplayer amarok

答復(fù)提示

當 zypper 遇到提示信息等待用戶答復(fù)時垫释,會于提示符旁在括號里列出備擇項。按 Enter 選擇默認答復(fù)(默認答復(fù)選中顯示撑瞧,非 ASCII 字符則不然)棵譬。一些提示信息也包含幫助信息,這種時候就會有一個問號“?”预伺。如欲讓 zypper 直接使用默認答復(fù)不非詢問用戶订咸,使用 --non-interactive 全局選項。


詞匯表

  • repository 供應(yīng)源 - 包含軟件包和各種軟件包信息(元數(shù)據(jù) metadata)的本地或遠端目錄酬诀。供應(yīng)源以前稱為安裝源脏嚷、軟件源、YaST 源或源瞒御。
  • alias 別名 - 供應(yīng)源別名是供應(yīng)源名字的簡短代號父叙,用于與供應(yīng)源相關(guān)的命令和選項中,如 removerepo--repo肴裙。
  • package 軟件包 - 如 RPM 軟件包趾唱、源碼包等。補丁 (patch)践宴、模式 (pattern) 和成品 (product) 通常也認為是別種類型的軟件包鲸匿。
  • patch 補丁 - 用于安裝更新(通常是修復(fù)缺陷)的一個或一組軟件包。
  • pattern 模式 - 同一模式的一組軟件包阻肩。例如 Http Server 模式界定了依賴關(guān)系,當安裝該模式時运授,運行或管理一個 http 服務(wù)所需的全部的軟件包都將一起安裝烤惊。
  • product 成品 - 一整個成品,如 openSUSE 11.1吁朦。

命令

zypper 提供的一系列命令可以歸類成以下類別:

  • 供應(yīng)源管理
    refresh, repos, addrepo, removerepo, modifyrepo, namerepo
    refresh-services, services, addservice, removeservice, modifyservice
  • 軟件包管理
    install, remove, source-install
  • 更新管理
    patch, list-patches, patch-check, patches, update, list-updates, dist-upgrade
  • 查詢
    search, info, what-provides, list-updates, patch-check, patches, packages, patterns, products
  • 鎖定
    locks, addlock, removelock, cleanlocks
  • 工具
    verify, install-new-recommends
  • 其他
    help, licenses, versioncmp, targetos

幫助信息

首先柒室,應(yīng)該先了解如何獲取幫助信息。如欲查看基本的幫助信息(命令和全局選項列表)只需不帶任何選項或參數(shù)輸入 zypper逗宜。如欲查看特定的命令雄右,輸入:

zypper help [command]

獲取命令的具體幫助信息空骚,輸入:

zypper [command] --help

可以使用 -h 替代 --help

供應(yīng)源管理

您可以以 zypper lr 里的序號擂仍、別名或 URI(Uniform Resource Identifier囤屹,統(tǒng)一資源標志符)代指相應(yīng)的供應(yīng)源。使用序號時逢渔,須先 zypper lr 確認一番肋坚,因為若變更了供應(yīng)源這些序號也會變更。

列出設(shè)定的供應(yīng)源

reposlr

示例:

zypper lr
# | Alias                 | Name                  | Enabled | Refresh
--+-----------------------+-----------------------+---------+--------
1 | packman               | Packman 11.1          | Yes     | No
2 | fate                  | fate                  | No      | No
3 | openSUSE-11.1-Updates | Updates for 11.1      | Yes     | Yes
4 | repo-oss              | openSUSE-11.1-Oss     | Yes     | No
5 | repo-non-oss          | openSUSE-11.1-Non-Oss | Yes     | No
6 | repo-debug            | openSUSE-11.1-Debug   | No      | No
zypper lr 5 4
Alias          : openSUSE-11.3-Non-Oss
Name           : openSUSE-11.3-Non-Oss
URI            : http://download.opensuse.org/distribution/11.3/repo/non-oss/
Enabled        : Yes
Priority       : 99
Auto-refresh   : Off
Keep Packages  : Off
Type           : yast2                                                       
GPG Check      : On
GPG Key URI    : 
Path Prefix    : /
Parent Service : 
MD Cache Path  : /var/cache/zypp/raw/openSUSE-11.3-Non-Oss

Alias          : openSUSE-11.3-Oss
Name           : openSUSE-11.3-Oss
URI            : http://download.opensuse.org/distribution/11.3/repo/oss/
Enabled        : Yes
Priority       : 99
Auto-refresh   : Off
Keep Packages  : Off 
Type           : yast2
GPG Check      : On
GPG Key URI    :   
Path Prefix    : /
Parent Service :
MD Cache Path  : /var/cache/zypp/raw/openSUSE-11.3-Oss

其他例子:

zypper lr -u       # 列出供應(yīng)源 URI
zypper lr -d       # 列出供應(yīng)源的其他數(shù)項屬性
zypper lr -P       # 列出供應(yīng)源優(yōu)先級并依此排序
zypper lr -e my    # 導(dǎo)出全部的供應(yīng)源設(shè)定信息至文件 my.repo

添加供應(yīng)源

addrepoar

安裝軟件包之前至少得有一個供應(yīng)源肃廓≈茄幔可以使用 addrepo 命令添加供應(yīng)源:

示例:

zypper ar http://download.videolan.org/pub/vlc/SuSE/11.1 vlc
Adding repository 'vlc' [done]
Repository 'vlc' successfully added
Enabled: Yes
Autorefresh: No
URI: http://download.videolan.org/pub/vlc/SuSE/11.1

其他例子:

zypper ar -c ftp://some.download.site myalias   # 添加之前試探供應(yīng)源
zypper ar my/dir/with/rpms local                # 添加含 RPM 文件的本地目錄為供應(yīng)源

參見 Libzypp 了解支持的媒介與 URI。

刷新供應(yīng)源

refreshref

添加了供應(yīng)源之后或供應(yīng)源不新之時盲赊,就需要刷新供應(yīng)源铣鹏。即下載軟件包的元數(shù)據(jù) (metadata),并將數(shù)據(jù)預(yù)處理為 .solv 緩存以便快速讀取哀蘑。

zypper refresh
Downloading repository 'Packman 11.1' metadata [done]
Building repository 'Packman 11.1' cache [done]
Downloading repository 'Updates for 11.1' metadata [done]
Building repository 'Updates for 11.1' cache [done]
Repository 'openSUSE-11.1-Oss' is up to date.
All repositories have been refreshed.

若是供應(yīng)源已啟用自動刷新诚卸,您就不需操心了,當需要的時候他會自動進行递礼。然而惨险,有的用戶偏好控制刷新的進行(此舉可以避免當您只想看看 zypper info krusader 時卻須等待刷新的完成),故而禁用了自動刷新脊髓。更多細節(jié)參閱 man zypper辫愉。

其他例子:

zypper ref packman main  # 您也可以只指定特定的供應(yīng)源刷新
zypper ref -f upd        # 強制 upd 供應(yīng)源刷新

移除供應(yīng)源

removereporr

zypper rr vlc 1 23 foo
Repository 23 not found by alias, number or URI.
Repository foo not found by alias, number or URI.
Removing repository 'repo-debug' [done]
Repository 'repo-debug' has been removed.
Removing repository 'vlc' [done]
Repository 'vlc' has been removed.

調(diào)整供應(yīng)源

modifyrepomr

禁用序號為 6 的供應(yīng)源:

zypper mr -d 6
Repository 'repo-non-oss' has been sucessfully disabled.

啟用 packman 供應(yīng)源的自動刷新并緩存 RPM 文件,再設(shè)置其優(yōu)先級為 70:

zypper mr -rk -p 70 packman
Autorefresh has been enabled for repository 'packman'.
RPM files caching has been enabled for repository 'packman'.
Repository 'packman' priority has been set to 70.

禁用所有供應(yīng)源的 RPM 文件緩存:

zypper mr -Ka
Nothing to change for repository 'local'.
RPM files caching has been disabled for repository 'packman'.
Nothing to change for repository 'fate'.
Nothing to change for repository 'upd'.
Nothing to change for repository 'repo-oss'.
Nothing to change for repository 'repo-non-oss'.

啟用所有供應(yīng)源的 RPM 文件緩存:

zypper mr -ka
RPM files caching has been enabled for repository 'repo-non-oss'.
RPM files caching has been enabled for repository 'Main Repository (OSS)'.
RPM files caching has been enabled for repository 'Main Repository (NON-OSS)'.
RPM files caching has been enabled for repository 'openSUSE-11.1-Updates'.

重命名供應(yīng)源

renamereponr

zypper nr 3 upd
Repository 'openSUSE-11.1-Updates' renamed to 'upd'.

當前該命令只能更改供應(yīng)源的別名 (alias)将硝,若您想更改顯示的名稱恭朗,請參閱 mr 命令。

取一個簡短的別名可以方便地用于命令參數(shù)或 --repo 選項中依疼。使用別名較之序號安全痰腮,序號可能變化而使您出錯,較之 URI 簡單律罢,URI 太長復(fù)制黏貼不便膀值。

導(dǎo)出導(dǎo)入供應(yīng)源

repos --exportlr -e

您可以導(dǎo)出您的供應(yīng)源列表為一個文件,并于稍后或另一計算機上導(dǎo)入误辑。

zypper lr --export backups/repos/foo.repo
zypper ar backups/repos/foo.repo

服務(wù)管理

<待撰>

軟件包管理

選擇軟件包

有數(shù)種方式選擇要安裝或移除的軟件包沧踏。

  • 根據(jù)名稱
    zypper in eclipse
    zypper in qt
  • 根據(jù)名稱、構(gòu)架或版本
    zypper in 'zypper<0.12.10'
    zypper in zypper.i586=0.12.11
  • 根據(jù)確切的軟件包名稱 (--name)
    zypper in -n ftp
  • 根據(jù)確切的軟件包名稱和供應(yīng)源 (implies --name)
    zypper in factory:zypper
  • 根據(jù)含通配符的軟件包名稱
    zypper in yast*ftp*
  • 根據(jù)指定一個 .rpm 軟件包文件來安裝

安裝軟件包

installin

您可以根據(jù)名稱來安裝軟件包:

zypper install git
Reading installed packages...

The following NEW packages are going to be installed:
  subversion-perl sqlite3 perl-DBD-SQLite git-svn git-cvs git

Overall download size: 1.1 M. After the operation, additional 4.6 M will be used.
Continue? [YES/no]:
Downloading package subversion-perl-1.5.0-96.1.x86_64 (1/6), 950.0 K (4.1 M unpacked)
Downloading: subversion-perl-1.5.0-96.1.x86_64.rpm [done]
Installing: subversion-perl-1.5.0-96.1 [done]
Downloading package sqlite3-3.5.7-17.1.x86_64 (2/6), 30.0 K (40.0 K unpacked)
Downloading: sqlite3-3.5.7-17.1.x86_64.rpm [done]
Installing: sqlite3-3.5.7-17.1 [done]
Downloading package perl-DBD-SQLite-1.14-41.1.x86_64 (3/6), 44.0 K (103.0 K unpacked)
Downloading: perl-DBD-SQLite-1.14-41.1.x86_64.rpm [done]
Installing: perl-DBD-SQLite-1.14-41.1 [done]
Downloading package git-svn-1.5.4.5-26.1.x86_64 (4/6), 66.0 K (195.0 K unpacked)
Downloading: git-svn-1.5.4.5-26.1.x86_64.rpm [done]
Installing: git-svn-1.5.4.5-26.1 [done]
Downloading package git-cvs-1.5.4.5-26.1.x86_64 (5/6), 63.0 K (205.0 K unpacked)
Downloading: git-cvs-1.5.4.5-26.1.x86_64.rpm [done]
Installing: git-cvs-1.5.4.5-26.1 [done]
Downloading package git-1.5.4.5-26.1.x86_64 (6/6), 10.0 K (3.0 K unpacked)
Downloading: git-1.5.4.5-26.1.x86_64.rpm [done]
Installing: git-1.5.4.5-26.1 [done]

或據(jù)其所提供的功能:

zypper in MozillaFirefox \< 3
'MozillaFirefox' providing 'MozillaFirefox<3' is already installed.
Nothing to do.
zypper in MozillaFirefox \>= 3
Reading installed packages...

The following packages are going to be upgraded:
  mozilla-xulrunner190-translations MozillaFirefox mozilla-xulrunner190-gnomevfs
mozilla-xulrunner190 MozillaFirefox-translations

The following package is going to be REMOVED:
  mozilla-xulrunner190-lang

Overall download size: 11.0 M. After the operation, 12.9 M will be freed.
Continue? [Y/n/p/?]:
zypper in 'libqtiff.so()(64bit)'
Reading installed packages...
'libqt4-x11' providing 'libqtiff.so()(64bit)' is already installed.
Nothing to do.

其他例子:

zypper in yast*                     # 安裝全部 yast 模塊
zypper in -t pattern lamp_server    # 安裝 lamp_server 模式(LAMP server 所需的軟件包)
zypper in vim -emacs                # 安裝 vim 并移除 emacs
zypper in amarok packman:libxine1   # 安裝 packman 供應(yīng)源的 libxine1 和任何供應(yīng)源的 amarok
zypper in bitchx-1.1-81.x86_64.rpm  # 安裝當前目錄的 bitchx RPM 軟件包
zypper in -f subversion             # 強制重新安裝 subversion

移除軟件包

removerm

remove 命令與install 命令相似巾钉,除了其相反的作用翘狱。

zypper remove sqlite
Reading installed packages...

The following packages are going to be REMOVED:
  sqlite3 perl-DBD-SQLite git-cvs git

After the operation, 351.0 K will be freed.
Continue? [YES/no]: n

源碼包和構(gòu)建依賴

source-installsi

zypper si zypper
Reading installed packages...

The following NEW packages are going to be installed:
  libzypp-devel libsatsolver-devel

The following source package is going to be installed:
  zypper

Overall download size: 1.5 M. After the operation, additional 6.7 M will be used.
Continue? [YES/no]:

您也可以只安裝源碼包或構(gòu)建依賴:

zypper si -D zypper    # 只安裝源碼包
zypper si -d zypper    # 只安裝構(gòu)建依賴

更新軟件包

updateup

以下命令更新軟件包至新版本。參閱更新管理了解詳情砰苍。

zypper up                           # 更新全部已安裝的軟件包至盡可能新的版本
zypper up libzypp zypper            # 更新 libzypp 和 zypper
zypper in sqlite3                   # 安裝或更新 sqlite3

查詢

搜尋軟件包

searchse

search 命令默認搜尋匹配的任何類型潦匈、狀態(tài)或供應(yīng)源的軟件包(大小寫不敏感):

zypper se sqlite
Reading installed packages...

S | Name                     | Summary                                                        | Type
--+--------------------------+----------------------------------------------------------------+--------
  | libapr-util1-dbd-sqlite3 | DBD driver for SQLite 3                                        | package
i | libgda-3_0-sqlite        | Sqlite Provider for GNU Data Access (GDA)                      | package
  | libqt4-sql-sqlite        | Qt 4 sqlite plugin                                             | package
i | libsqlite3-0             | Shared libraries for the Embeddable SQL Database Engine        | package
  | libsqlite3-0-32bit       | Shared libraries for the Embeddable SQL Database Engine        | package
  | mediatomb-sqlite         | UPnP AV MediaServer                                            | package
i | mono-data-sqlite         | Database connectivity for Mono                                 | package
  | pdns-backend-sqlite2     | SQLite 2 backend for pdns                                      | package
  | pdns-backend-sqlite3     | SQLite 3 backend for pdns                                      | package
i | perl-DBD-SQLite          | The DBD::SQLite is a self contained RDBMS in a DBI driver      | package
i | php5-sqlite              | PHP5 Extension Module                                          | package
  | python-sqlite2           | Python bindings for sqlite 2                                   | package
  | qt3-sqlite               | SQLite Database Plug-In for Qt                                 | package
  | rekall-sqlite            | Rekall sqlite Database Backend                                 | package
  | rubygem-sqlite3          | A Ruby interface for the SQLite3 database engine               | package
i | sqlite2                  | Embeddable SQL Database Engine                                 | package
  | sqlite2-32bit            | Embeddable SQL Database Engine                                 | package
  | sqlite2-devel            | Embeddable SQL Database Engine                                 | package
i | sqlite3                  | Embeddable SQL Database Engine                                 | package
  | sqlite3-devel            | Embeddable SQL Database Engine                                 | package
  | sqlite3-tcl              | Tcl binding for SQLite                                         | package
  | tntdb1-sqlite            | Tntdb is a c++-class-library for easy database-access - sqlite | package
  | ulogd-sqlite             | SQLite output plugin for ulogd                                 | package

首欄的 i 標示已經(jīng)安裝的軟件包阱高。如欲查看匹配軟件包的全部可選版本,使用 --details-s 選項:

zypper search -s --match-exact virtualbox-ose
Reading installed packages...

S | Name           | Type    | Version    | Arch   | Repository
--+----------------+---------+------------+--------+------------------------------------
v | virtualbox-ose | package | 1.6.2-2.1  | x86_64 | VirtualBox OSE
i | virtualbox-ose | package | 1.5.6-33.1 | x86_64 | openSUSE-11.1-Oss
v | virtualbox-ose | package | 1.5.6-20.5 | x86_64 | VirtualBox OSE (
v | virtualbox-ose | package | 1.6.2-2.1  | i586   | VirtualBox OSE
v | virtualbox-ose | package | 1.5.6-33.1 | i586   | openSUSE-11.1-Oss
v | virtualbox-ose | package | 1.5.6-20.3 | i586   | VirtualBox OSE

此處首欄的 v 標示已安裝了此軟件包的其他版本茬缩。

其他例子:

zypper se -dC --match-words RSI   # 搜尋包括摘要和描述中的匹配 RSI 縮寫的項
zypper se 'yast*'                 # 搜尋所有含 yast 字符的軟件包(注意 shell 的表達赤惊,不確定就加引號)
zypper se -r packman              # 列出所有 packman 供應(yīng)源的軟件包
zypper se -i sqlite               # 列出所有已安裝的其名字包含 sqlite 的軟件包
zypper se -t pattern -r repo-oss  # 列出所有 repo-oss 供應(yīng)源的模式 (pattern)
zypper se -t product              # 列出所有可選的成品 (product)

獲取軟件包的信息

infoif

顯示名為 amarok 的軟件包的具體信息:

zypper info amarok
Reading installed packages...

Information for package amarok:

Repository: Packman 11.1
Name: amarok
Version: 1.4.9.1-103.pm.1
Arch: x86_64
Vendor: packman.links2linux.de
Installed: Yes
Status: up-to-date
Installed Size: 12.1 M
Summary: Media Player for KDE
Description:
Amarok is a media player for all kinds of media, supported by aRts, GStreamer
or Xine (depending on the packages you install). This includes MP3, Ogg
Vorbis, audio CDs and streams.
It also supports audio effects of all kinds that are provided by aRts.
Playlists can be stored in .m3u or .pls files.

Amarok also provides audio file collection management, by using either an
embedded sqlite3, a MySQL or a PostgreSQL database.

其他例子:

zypper info -t patch MozillaFirefox    # 顯示 MozillaFirefox 補丁的信息
zypper patch-info MozillaFirefox       # 同上
zypper info -t pattern lamp_server     # 顯示 lamp_server 模式的信息
zypper info -t product openSUSE-FTP    # 顯示特定成品的信息

依賴關(guān)系

what-provideswp

列出所有指定軟件的供應(yīng)方:

zypper wp firefox
Reading installed packages...
S | Name           | Type    | Version     | Arch   | Repository
--+----------------+---------+-------------+--------+------------------
i | MozillaFirefox | package | 3.0-0.1     | x86_64 | Updates for 11.1
v | MozillaFirefox | package | 2.9.95-25.1 | x86_64 | openSUSE-11.1-Oss
v | MozillaFirefox | package | 3.0-0.1     | i586   | Updates for 11.1
v | MozillaFirefox | package | 2.9.95-25.1 | i586   | openSUSE-11.1-Oss

此命令與 rpm -q --whatprovides firefox 相似,但 rpm 只能查詢 RPM 數(shù)據(jù)庫(只包含已裝軟件的信息)寒屯。而 zypper 能提供其他供應(yīng)源的信息荐捻,并不僅僅只是已安裝的。

其他查詢

命令 patches寡夹、packages处面、patternsproducts 相似于 search -s -t [patch,package,pattern,product],但這些命令還顯示相應(yīng)類型的軟件包的其他信息菩掏。例如 patches 還顯示了補丁的狀態(tài)(需求魂角、安全性、不適用情況)智绸。

命令 list-updatespatch-check 參見更新管理野揪。

軟件包鎖定

locksll addlockal removelockrl cleanlockscl

軟件包鎖定可以防止軟件包的變更。應(yīng)用了有效的鎖定的軟件包無法變更其安裝狀態(tài)瞧栗,即已安裝的軟件包無法移除或升級斯稳,未安裝的軟件包無法安裝。

如欲鎖定所有以 yast2 開首的軟件包迹恐,執(zhí)行:

zypper al 'yast2*'
Reading installed packages...
Specified lock has been successfully added.

再次提醒 shell 的表達挣惰,若 yast2* 有可能匹配當前目錄(工作目錄)的文件或目錄時,請使用引號殴边。

列出當前有效的鎖定:

zypper ll
# | Name             | Type    | Repository
--+------------------+---------+-----------
1 | libpoppler3      | package | (any)
2 | libpoppler-glib3 | package | (any)
3 | yast*            | package | (any)

移除鎖定:

zypper rl yast2-packager
Reading installed packages...
The following query locks some of the objects you want to unlock:

type: package
match_type: glob
case_sensitive: on
solvable_name: yast2*

Do you want remove this lock? [YES/no]: y
Lock count has been succesfully decreased by: 1

其他例子:

zypper al zypper                   # 鎖定 zypper 軟件包(精確匹配)
zypper al -r repo-oss virtualbox*  # 限制 repo-oss 供應(yīng)源(允許安裝其他供應(yīng)源的軟件包)
zypper rl 3                        # 移除對應(yīng)序號的鎖定

您也可以直接編輯 locks file 設(shè)置鎖定憎茂。

工具

驗證依賴關(guān)系

verifyve

或許您會因軟件包依賴關(guān)系將系統(tǒng)搞得一團糟。若是一些應(yīng)用程序提示缺少某些東西而無法啟動锤岸,這些東西正是 zypper 可以檢查的:

rpm -e --nodeps mozilla-xulrunner190 

firefox
Could not find compatible GRE between version 1.9.0 and 1.9.0.
zypper ve
Reading installed packages...
Some of the dependencies of installed packages are broken. In order to fix these dependencies, the following actions need to be taken:

The following NEW package is going to be installed:
  mozilla-xulrunner190

Overall download size: 6.5 M. After the operation, additional 23.5 M will be used.
Continue? [YES/no]: y

安裝推薦的新的軟件包

install-new-recommendsinr

此命令查找并安裝已安裝的軟件包的推薦的新添加的軟件包竖幔。這是一種簡單的方式來獲取軟件的新語言包或是新添加的硬件的驅(qū)動。

zypper inr
Reading installed packages...

The following NEW packages are going to be installed:
  kdebase4-openSUSE-lang bundle-lang-common-cs

Overall download size: 534.0 K. After the operation, additional 1.9 M will be used.
Continue? [YES/no]:

檢查進程

ps

此命令顯示使用被最近的更新或移除操作所刪除的文件的進程是偷。

有些正運行的程序使用被最近的更新所刪除的文件拳氢,您不妨重啟其中的一些。執(zhí)行 zypper ps 列出這些程序蛋铆。

zypper ps
The following running processes use deleted files:

PID   | PPID  | UID  | Login | Command       | Service | Files
------+-------+------+-------+---------------+---------+--------------------------------
10604 | 10603 | 1000 | geeko | chrome        |         | /usr/share/mime/mime.cache
      |       |      |       |               |         | /usr/share/mime/mime.cache
15304 | 3195  | 1000 | geeko | kio_thumbnail |         | /var/tmp/kdecache-geeko/ksycoca4
      |       |      |       |               |         | /var/tmp/kdecache-geeko/ksycoca4

You may wish to restart these processes.
See 'man zypper' for information about the meaning of values in the above table.

更新管理

有兩種方式更新您的系統(tǒng)饿幅,一種是補丁方式,一種是軟件包方式戒职。

補丁方式尤其適合使用穩(wěn)定發(fā)行版的用戶,通過在線的 update 供應(yīng)源發(fā)布的補丁更新系統(tǒng)透乾。安裝或升級系統(tǒng)時 update 供應(yīng)源就已默認添加了洪燥,您也可以通過 YaST 控制中心在線更新設(shè)置添加磕秤,或使用 zypper 手動添加。這是 openSUSE update 供應(yīng)源列表捧韵。

YaST 中的相應(yīng)部分是在線更新模塊市咆。

軟件包方式將在軟件包更新中描述,這種方式以任何供應(yīng)源中的新版本提供一般的軟件包更新服務(wù)再来。

列出所需的補丁

list-patcheslp

列出所有所需的補丁蒙兰,執(zhí)行:

zypper lp
Reading installed packages...
Patches

Repository       | Name               | Version | Category    | Status
-----------------+--------------------+---------+-------------+-------
Updates for 11.1 | KDE4-fixes         | 38      | recommended | Needed
Updates for 11.1 | MozillaFirefox     | 50      | recommended | Needed
Updates for 11.1 | NetworkManager-kde | 49      | recommended | Needed

有時僅列出影響軟件包管理的更新,這是由于這些應(yīng)首先更新芒篷,更新后搜变,其余的更新才會列出。

此命令等效于舊版 zypper 的 zypper up -t patch针炉。列出全部的更新挠他,使用:

zypper lu

安裝補丁

patch

安裝所需的補丁,執(zhí)行:

zypper patch
Reading installed packages...

The following packages are going to be upgraded:
  NetworkManager-kde mozilla-nss mozilla-nspr kde4-korganizer

The following NEW patches are going to be installed:
  NetworkManager-kde MozillaFirefox KDE4-fixes

Overall download size: 2.9 M. After the operation, additional 283.0 K will be used.
Continue? [YES/no]:

列出全部補丁

patches

list-updates 命令僅列出所需的補丁篡帕,如欲列出全部的補丁殖侵,使用:

zypper patches
Reading installed packages...
Catalog          | Name               | Version | Category    | Status
-----------------+--------------------+---------+-------------+---------------
Updates for 11.1 | KDE4-fixes         | 38      | recommended | Installed
Updates for 11.1 | MozillaFirefox     | 50      | recommended | Installed
Updates for 11.1 | NetworkManager-kde | 49      | recommended | Installed
Updates for 11.1 | autoyast2          | 37      | recommended | Installed
Updates for 11.1 | courier-authlib    | 42      | security    | Not Applicable
Updates for 11.1 | insserv            | 47      | recommended | Installed
Updates for 11.1 | opera              | 43      | security    | Installed

檢查補丁

patch-check

此命令檢查是否有可用的重要的補丁,并反饋補丁數(shù):

zypper pchk
Reading installed packages...
0 patches needed (0 security patches)

獲取補丁信息

patch-info
info -t patch

zypper info -t patch MozillaFirefox
Reading installed packages...

Information for patch MozillaFirefox:

Name: MozillaFirefox
Version: 50
Arch: noarch
Vendor: maint-coord@suse.de
Status: Installed
Category: recommended
Created On: Thu 01 Jan 1970 01:00:00 AM CET
Reboot Required: No
Package Manager Restart Required: No
Interactive: No
Summary: Mozilla Firefox 3.0
Description:
This patch updates Mozilla Firefox to the final 3.0 version.

The dependend libraries mozilla-xulrunner190, mozilla-nspr
and mozilla-nss were also brought to their release version.

軟件包更新

list-updateslu
updateup

如欲簡單地以新版本更新所安裝的軟件包镰烧,執(zhí)行:

zypper up

您可以以此獲取可用的更新列表:

zypper lu

以上命令僅列出或更新其更新無依賴問題的軟件包拢军。如欲獲取原始的所有的更新列表,而非僅僅已安裝的怔鳖,執(zhí)行:

zypper lu -a

這將列出所有的候選更新茉唉,無論是否可裝,無論是否需要用戶介入解決一些問題败砂。

發(fā)行版升級

dist-upgradedup

此命令使用發(fā)行版升級算法赌渣,處理軟件包分裂 (package splits)、無維護軟件包以及類似的其他軟件包昌犹。使用此命令可以升級到新的發(fā)行版坚芜。

zypper dup

建議在發(fā)行版升級過程中僅啟用您所欲安裝的發(fā)行版的主要的供應(yīng)源和一些您所用的重要的供應(yīng)源(若其版本對應(yīng)于主要的供應(yīng)源則更佳)。您也可以先禁用舊的供應(yīng)源zypper mr -da斜姥,添加新的供應(yīng)源 zypper ar鸿竖,再 zypper dup 升級。您可以用 --repo 選項指定所使用的供應(yīng)源 zypper dup -r repo1 -r repo2 ...铸敏。

問:是否 zypper up 僅更新在其供應(yīng)源中有新版本的軟件包缚忧,而 zypper dup 將升級一切,無論其軟件包的來源杈笔。

答:zypper up 會更新軟件包到新版本闪水,但不會變更其供應(yīng)源(注,當前的整個編譯服務(wù)具有相同的供應(yīng)源)蒙具。zypper dup 嘗試將您當前的軟件包同步為您所啟用的(所有)供應(yīng)源中的版本球榆,這意味著可能將比供應(yīng)源里新的軟件包降級下來朽肥。

04:好像回答的與實際相反。


在腳本和程序里使用 zypper

zypper 支持多個全局選項故而適合在自動化流程如腳本里使用持钉。并且衡招,在自動化流程里使用 zypper 時,可以檢查列在 zypper 手冊頁的多個不同的退出代碼每强。

無交互模式

--non-interactive

此模式下 zypper 不會詢問用戶始腾,而以默認答復(fù)代之。使用此選項可以保證 zypper 不會停滯在等待用戶輸入的環(huán)節(jié)空执,或陷入死循環(huán)浪箭。

例如,不需人工確認自動更新系統(tǒng):

zypper --non-interactive update

此命令執(zhí)行更新而無需用戶確認脆烟,略過全部需要額外確認的交互性補丁山林,并自動答復(fù)任何提示。

無 GPG 檢查模式

--no-gpg-checks

若使用此選項邢羔,zypper 將總是選擇繼續(xù)驼抹,即使 GPG (GNU Privacy Guard) 檢查不通過,如本該有簽名卻沒有簽名的源文件拜鹤、有簽名但沒能通過 GPG 檢查的文件等等框冀。

自動接受許可

--auto-agree-with-licenses

這是安裝、移除和更新命令的特殊選項敏簿。使用此選項明也,即聲明接受許可協(xié)議,而 zypper 遇到許可確認時自動接受答復(fù)惯裕。這對于在多臺機器上(以自動化流程)安裝相同的軟件包的已閱協(xié)議的用戶很有用温数。

安靜輸出

--quiet

避免輸出過多的信息,諸如程序信息之類的蜻势,只輸出操作結(jié)果和錯誤信息撑刺。

XML 輸出

--xmlout

此選項使 zypper 以 XML(eXtensible Markup Language 可擴展標記語言)輸出信息。這允許使用 zypper 的腳本握玛、圖形化前端或其他類型的程序以良好定義的標準的方式解析 zypper 輸出够傍。zypper XML 輸出的 RNC 架構(gòu)可于找到,其位于 /usr/share/zypper/xml/xmlout.rnc挠铲。

當前并非所有的輸出都是 XML 格式(但大部分是)冕屯,但目標是讓所有的輸出統(tǒng)一為 XML 格式。

提示

以下是一份完整的列表拂苹,在此情況下 zypper 需要用在無交互模式下的用戶交互答復(fù)安聘。這兒提到的所有的附加選項都較 --non-interactive。(04:不知所云)

GPG 相關(guān)提示

若使用了 --no-gpg-checks,將顯示信息或向標準錯誤 (stderr) 寫入警告并記錄搞挣。

提示信息 默認答復(fù) 使用 --no-gpgp-checks 選項 備注
是否接受未簽名文件 N Y
是否接受新鑰密(reject 拒絕带迟、trust temporarily 臨時接受、trust always 接受) R R 只能在交互模式下接受或?qū)胄妈€密
是否接受未知的鑰密 N Y
簽名文件驗證失敗囱桨,是否繼續(xù) N Y
文件無 digest,是否繼續(xù) N Y
是否接受未知 digest N Y

其他提示

提示信息 默認答復(fù) 其他答復(fù) 備注
執(zhí)行安裝/移除/更新 Y --no-confirm 選項可用于安裝/移除/更新命令嗅绰,即使沒有全局的 --non-interactive 選項
是否接受第三方許可協(xié)議 N Y 若使用--auto-agree-with-licenses 選項 對于 zypper 更新命令 --skip-interactive option 選項可以用于排除安裝列表中的交互性補渡岢Α(rug 命令的遺傳)
是否確認補丁信息 Y
安裝/移除過程出錯,Abort 放棄/Retry 重試/Ignore 忽略 ABORT 這很棘手窘面,今后將改進
下載軟件包過程出錯翠语,Abort 放棄/Retry 重試/Ignore 忽略 ABORT 這同樣棘手,今后將某些程度上改進
依賴沖突财边,#/s/r/c(解決方案序號/跳過/重試/取消) c 總是取消肌括,需要用戶介入解決
媒介變更請求 ABORT
是否移除有問題的鎖定 Y

在 XML 輸出中,提示 (prompt) 以 <prompt> 標簽標記酣难,包含 id 屬性谍夭。prompt.h 有所有已知的 id 細目,包括了 zypper 軟件包里的文件 (/usr/include/zypper/prompt.h)憨募。


與 Rug 的兼容

Zypper 的語法與 Rug 很接近紧索,但命令和選項集就如輸出和行為一樣,與 Rug 開始分歧了菜谣。然而珠漂,Zypper 還是可以以兼容于 Rug 的模式來運行,也支持大多數(shù) Rug 的命令尾膊。詳細信息可以參閱 Zypper 手冊頁的 COMPATIBILITY WITH RUG 章節(jié)媳危。


參閱

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市冈敛,隨后出現(xiàn)的幾起案子待笑,更是在濱河造成了極大的恐慌,老刑警劉巖莺债,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件滋觉,死亡現(xiàn)場離奇詭異,居然都是意外死亡齐邦,警方通過查閱死者的電腦和手機椎侠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來措拇,“玉大人我纪,你說我怎么就攤上這事。” “怎么了浅悉?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵趟据,是天一觀的道長。 經(jīng)常有香客問我术健,道長汹碱,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任荞估,我火速辦了婚禮咳促,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘勘伺。我一直安慰自己跪腹,他們只是感情好,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布飞醉。 她就那樣靜靜地躺著冲茸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪缅帘。 梳的紋絲不亂的頭發(fā)上轴术,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天,我揣著相機與錄音股毫,去河邊找鬼膳音。 笑死,一個胖子當著我的面吹牛铃诬,可吹牛的內(nèi)容都是我干的祭陷。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼趣席,長吁一口氣:“原來是場噩夢啊……” “哼兵志!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起宣肚,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤想罕,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后霉涨,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體按价,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年笙瑟,在試婚紗的時候發(fā)現(xiàn)自己被綠了楼镐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡往枷,死狀恐怖框产,靈堂內(nèi)的尸體忽然破棺而出凄杯,到底是詐尸還是另有隱情,我是刑警寧澤秉宿,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布戒突,位于F島的核電站,受9級特大地震影響描睦,放射性物質(zhì)發(fā)生泄漏膊存。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一酌摇、第九天 我趴在偏房一處隱蔽的房頂上張望膝舅。 院中可真熱鬧,春花似錦窑多、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至遥巴,卻和暖如春千康,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背铲掐。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工拾弃, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人摆霉。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓豪椿,卻偏偏與公主長得像,于是被迫代替她去往敵國和親携栋。 傳聞我的和親對象是個殘疾皇子搭盾,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 一、知識詳解模塊 1.dex/class深入講解 2.jvm/dvm/art三個虛擬機的深入講解 3.class ...
    hanfengzqh閱讀 4,623評論 0 20
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理婉支,服務(wù)發(fā)現(xiàn)鸯隅,斷路器,智...
    卡卡羅2017閱讀 134,659評論 18 139
  • feisky云計算向挖、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 3,855評論 0 5
  • Android開發(fā) 一蝌以、概述 1、Android系統(tǒng)版本號對應(yīng)API:【要清楚常用的系統(tǒng)版本號對應(yīng)的API等級何之「】...
    shallwego_閱讀 273評論 0 0
  • 人,一輩子都在忙著帝美, 累著碍彭,奔波著晤硕,不論多苦, 事庇忌,還是沒做完舞箍。 人,一輩子都在省著皆疹, 攢著疏橄,儲蓄著,不論多摳略就, ...
    夢竹書行閱讀 254評論 0 4