这篇文章将为大家详细讲解有关Linux中如何使用zypper命令,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

zypper 是一个简单易用的命令行包管理器,它使用了一个软件包管理库叫做 libzypp 。Zypper 能够操作软件安装源 (比如 Build Service 或 标准 openSUSE 安装源 ), 搜索软件包,安装,删除,或更新软件包等等。它能够作为独立软件使用,也可以在脚本中使用,或被其他软件使用

zypper命令使用实例

I. 用zypper管理软件包

1. 安装包
语法: # zypper install 示例:安装Mozilla firefox

[root@linuxprobe~]#zypperinstallMozillaFirefoxLoadingrepositorydata...Readinginstalledpackages...Resolvingpackagedependencies...ThefollowingNEWpackagesaregoingtobeinstalled:MozillaFirefoxMozillaFirefox-branding-SLEDThefollowingpackagesarenotsupportedbytheirvendor:MozillaFirefoxMozillaFirefox-branding-SLED2newpackagestoinstall.Overalldownloadsize:964.0KiB.Aftertheoperation,additional3.4MiBwillbeused.Continue?[y/n/?](y):yRetrievingpackageMozillaFirefox-3.6.16-0.2.1.x86_64(1/2),949.0KiB(3.4MiBunpacked)Retrieving:MozillaFirefox-3.6.16-0.2.1.x86_64.rpm[done]Installing:MozillaFirefox-3.6.16-0.2.1[done]RetrievingpackageMozillaFirefox-branding-SLED-3.5-1.1.5.x86_64(2/2),15.0KiB(34.0KiBunpacked)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~]#zyppersource-installapache2-mod_nssReadinginstalledpackages...Loadingrepositorydata...Resolvingpackagedependencies...Retrievingpackagemozilla-nss-devel-3.12.8-1.2.1.x86_64(2/3),473.0KiB(2.6MiBunpacked)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~]#zypperremoveMozillaFirefoxLoadingrepositorydata...Readinginstalledpackages...Resolvingpackagedependencies...ThefollowingpackagesaregoingtobeREMOVED:MozillaFirefoxMozillaFirefox-branding-SLED2packagestoremove.Aftertheoperation,3.4MiBwillbefreed.Continue?[y/n/?](y):yRemovingMozillaFirefox-branding-SLED-3.5-1.1.5[done]RemovingMozillaFirefox-3.6.16-0.2.1[done]

5. 查找包

语法:# zypper search 示例:查找所有usb开头的软件包

[root@linuxprobe~]#zyppersearchusb*Loadingrepositorydata...Readinginstalledpackages...S|Name|Summary|Type--+---------------------+----------------------------------------------------------------+--------|usb_modeswitch|Amodeswitchingtoolforcontrollingmultiple-deviceUSBgear|package|usb_modeswitch-data|Amodeswitchingtoolforcontrollingmultiple-deviceUSBgear|package|usbip-devel|Headersandstaticlibraries|packagei|usbutils|ToolsandlibrariesforUSBdevices|package

6. 查看软件包详情

语法: zypper info 示例:查看usbutils的信息

[root@linuxprobe~]#zypperinfousbutilsLoadingrepositorydata...Readinginstalledpackages...Informationforpackageusbutils:Repository:LINUXPROBEName:usbutilsVersion:0.73-38.19Arch:x86_64Vendor:SUSELINUXProductsGmbH,Nuernberg,GermanySupportLevel:unknownInstalled:YesStatus:up-to-dateInstalledSize:461.0KiBSummary:ToolsandlibrariesforUSBdevicesDescription:ThispackagecontainsautilityforinspectingdevicesconnectedtoUSBports.Itrequireskernelversion2.3.99-pre7ornewer,ortheUSBbackportwhichwasintroducedin2.2.18(supportingthe/proc/bus/usbinterface).

7. 打补丁

查看所有可打补丁: zypper patches
安装指定补丁:zypper patch

8. 锁住包

软件包被锁之后将不能被移除或升级,下面演示一下如何加锁
1)加al选项锁住包文件“usbutils”, al 是 add lock的缩写

[root@linuxprobe~]#zypperalusbutilsSpecifiedlockhasbeensuccessfullyadded.

\2) 加ll选项查看所有已被锁住的软件包, ll 是 List Locks的缩写

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

9. 解锁包

加rl选项解锁usbutils, rl 是 remove lock的缩写

[root@linuxprobe~]#zypperrlusbutils1lockhasbeensuccessfullyremoved.[root@linuxprobe~]#zypperllTherearenopackagelocksdefined.

II. 用zypper管理仓库

10. 用zypper添加库

语法:# zypper addrepo

[root@linuxprobe~]#zypperaddrepo--check--refresh--name"Mozilla-repo"http://download.opensuse.org/repositories/mozilla/SLE_11/"Mozillarepo"Addingrepository'Mozilla-repo'[done]Repository'Mozilla-repo'successfullyaddedEnabled:YesAutorefresh:YesURI:http://download.opensuse.org/repositories/mozilla/SLE_11/

11. 创建本地库

我们可以使用zypper从本地目录中创建一个包含所有rpm文件的本地库
语法: # zypper addrepo

示例:创建一个名为Linuxprobe_Repo的本地目录,包含所有rpm文件

[root@linuxprobe~]#zypperaddrepo/var/stormgt/dsminstLinuxprobe_RepoAddingrepository'Linuxprobe_Repo'[done]Repository'Linuxprobe_Repo'successfullyaddedEnabled:YesAutorefresh:NoURI:dir:///var/stormgt/dsminst[root@linuxprobe~]#zyppersearch--repoLinuxprobe_RepoLoadingrepositorydata...Readinginstalledpackages...S|Name|Summary|Type--+-------------+-----------------------------------------+--------i|TIVsm-API|theAPI|packagei|TIVsm-API64|theAPI|packagei|TIVsm-BA|theBackupArchiveClient|packagei|gskcrypt32|IBMGSKitCryptographyRuntime|packagei|gskcrypt64|IBMGSKitCryptographyRuntime|packagei|gskssl32|IBMGSKitSSLRuntimeWithAcmeToolkit|packagei|gskssl64|IBMGSKitSSLRuntimeWithAcmeToolkit|package

注:你也可以通过此命令添加NFS或FTP路径

12. 查看库

[root@linuxprobe~]#zypperlr#|Alias|Name|Enabled|Refresh--+--------------------------------------------------+--------------------------------------------------+---------+--------1|Mozillarepo|Mozilla-repo|Yes|Yes2|SUSE-Linux-Enterprise-Server-11-SP111.1.1-1.152|SUSE-Linux-Enterprise-Server-11-SP111.1.1-1.152|Yes|Yes

查看repo完整的URI:

[root@linuxprobe~]#zypperlr--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-SP111.1.1-1.152|SUSE-Linux-Enterprise-Server-11-SP111.1.1-1.152|Yes|Yes|http://19.106.65.64/FUSELinux/600RC0

13. 在库中搜索包
列出指定库Mozillarepo的所有软件包

[root@linuxprobe~]#zyppersearch--repoMozillarepoLoadingrepositorydata...Readinginstalledpackages...S|Name|Summary|Type--+--------------------------------------+-------------------------------------------------------------------------+-----------i|MozillaFirefox|MozillaFirefoxWebBrowser|packagei|MozillaFirefox-branding-SLED|SLEDbrandingofMozillaFirefox|package|MozillaFirefox-branding-openSUSE|openSUSEbrandingofMozillaFirefox|package|MozillaFirefox-branding-openSUSE|openSUSEbrandingofMozillaFirefox|srcpackage

14. 库重命名

重命名库可以用 renamerepo 选项
示例:将库”Linuxprobe_Repo”的名字改成”MyLinuxRepo”

[root@linuxprobe~]#zypperrenamerepoLinuxprobe_RepoMyLinuxRepoRepository'Linuxprobe_Repo'renamedto'MyLinuxRepo'.

15. 删除库

用removerepo选项来移除库

[root@linuxprobe~]#zypperremoverepoMyLinuxRepoRemovingrepository'MyLinuxRepo'[done]Repository'MyLinuxRepohasbeenremoved.

16. 备份库

用export选项可以备份一系列库文件

[root@linuxprobe~]#zypperlr--export/var/tmp/backup.repoRepositorieshavebeensuccessfullyexportedto/var/tmp/backup.repo.

17. 从备份文件中添加库

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

18. 禁用/使用库

示例: 用 modifyrepo 选项的 -d 参数来禁用Mozilla库

[root@linuxprobe~]#zyppermodifyrepo-dMozillarepoRepository'Mozillarepo'hasbeensuccessfullydisabled.

示例: 用 modifyrepo选项 -e 参数来允许使用Mozilla库

[root@linuxprobe~]#zyppermodifyrepo-eMozillarepoRepository'Mozillarepo'hasbeensuccessfullyenabled.

19. 刷新库

示例: 刷新Mozilla库

[root@linuxprobe~]#zypperrefreshMozillarepoRepository'Mozilla-repo'isuptodate.Specifiedrepositorieshavebeenrefreshed.

示例: 自动刷新指定库

[root@linuxprobe~]#zyppermodifyrepo--refreshLinuxprobe_RepoAutorefreshhasbeenenabledforrepository'Linuxprobe_Repo'.


关于“Linux中如何使用zypper命令”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。