原文地址
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)源
repos 或 lr
示例:
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)源
addrepo 或 ar
安裝軟件包之前至少得有一個供應(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)源
refresh 或 ref
添加了供應(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)源
removerepo 或 rr
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)源
modifyrepo 或 mr
禁用序號為 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)源
renamerepo 或 nr
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 --export 或 lr -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 軟件包文件來安裝
安裝軟件包
install 或 in
您可以根據(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
移除軟件包
remove 或 rm
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-install 或 si
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)建依賴
更新軟件包
update 或 up
以下命令更新軟件包至新版本。參閱更新管理了解詳情砰苍。
zypper up # 更新全部已安裝的軟件包至盡可能新的版本
zypper up libzypp zypper # 更新 libzypp 和 zypper
zypper in sqlite3 # 安裝或更新 sqlite3
查詢
搜尋軟件包
search 或 se
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)
獲取軟件包的信息
info 或 if
顯示名為 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-provides 或 wp
列出所有指定軟件的供應(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处面、patterns 和 products 相似于 search -s -t [patch,package,pattern,product],但這些命令還顯示相應(yīng)類型的軟件包的其他信息菩掏。例如 patches
還顯示了補丁的狀態(tài)(需求魂角、安全性、不適用情況)智绸。
命令 list-updates 和 patch-check 參見更新管理野揪。
軟件包鎖定
locks 或 ll addlock 或 al removelock 或 rl cleanlocks 或 cl
軟件包鎖定可以防止軟件包的變更。應(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)系
verify 或 ve
或許您會因軟件包依賴關(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-recommends 或 inr
此命令查找并安裝已安裝的軟件包的推薦的新添加的軟件包竖幔。這是一種簡單的方式來獲取軟件的新語言包或是新添加的硬件的驅(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-patches 或 lp
列出所有所需的補丁蒙兰,執(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-updates 或 lu
update 或 up
如欲簡單地以新版本更新所安裝的軟件包镰烧,執(zhí)行:
zypper up
您可以以此獲取可用的更新列表:
zypper lu
以上命令僅列出或更新其更新無依賴問題的軟件包拢军。如欲獲取原始的所有的更新列表,而非僅僅已安裝的怔鳖,執(zhí)行:
zypper lu -a
這將列出所有的候選更新茉唉,無論是否可裝,無論是否需要用戶介入解決一些問題败砂。
發(fā)行版升級
dist-upgrade 或 dup
此命令使用發(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é)媳危。