您当前所在位置:首页安装教程SUSELinux12包管理总结心得

SUSELinux12包管理总结心得

更新:2023-11-20 07:32:03编辑:tooool归类:安装教程人气:216

概述

suse( Software and System Entwicklung,即软件和系统开发。其中‘entwicklung‘是德语,意为开发)LINUX是由Novell公司在Linux内核基础上建立的操作系统。SUSE Linux有两个分支:

SUSELinux12包管理总结心得

  • openSUSE:这是一款自由而且免费的操作系统。该系统由开源社区开发维护,支持一些最新版本的应用软件。
  • SUSE Linux enterprise:SUSE Linux企业版。该分支是一个为企业及商业化产品设计的Linux发行版。包含了大量的企业应用以及适用于商业产品生产环境的特性。

一、suse linux软件包

1.1 简介

suse软件的安装跟centos和rhel不同,它有自己的专属的软件包管理程序:zypper和yast。

ypper 和 Yast 是 SUSE Linux 平台上的软件包管理工具,他们的底层使用了 RPM(LCTT 译者注:RPM 最初指 RedHat Pacakge Manager ,现普遍解释为递归短语 RPM Package Manager 的缩写)。

Yast(Yet another Setup Tool )是 OpenSUSE 以及企业版 SUSE 上用于系统管理、设置和配置的工具。

Zypper 是软件包管理器ZYpp的命令行接口,可用于安装、删除SUSE Linux上的软件以及进行系统更新。ZYpp为Zypper和Yast提供底层支持。

本文将介绍实际应用中常见的一些Zypper命令。这些命令用来进行安装、更新、删除等任何软件包管理器所能够胜任的工作。

重要: 切记所有的这些命令都将在系统全局范围内产生影响,所以必须以 root 身份执行,否则命令将失败。

1.2 获取基本的zypper帮助信息

  1. 不带任何选项的执行 zypper, 将输出该命令的全局选项以及子命令列表(全局选项,global option,控制台命令的输入分为可选参数和位置参数两大类。按照习惯,一般可选参数称为选项option,而位置参数称为参数 argument)。1. zypper2. Usage:3. zypper [--global-options]
  2. 获取一个具体的子命令的帮助信息,比如 in (install),可以执行下面的命令 zypper help in
  3. 搜索一个安装包(以gnome-desktop)zypper se gnome-desktop
  4. 获取一个模式包的信息(以lamp_server为例)zypper info -t pattern lamp_server注:模式包相当于centos系统里面的group(软件包组)
  1. 开启一个zypper shell会话zypper shell或者zypper shzypper>helpUsage:zypper [--global-options]注意:在 Zypper shell里面可以通过键入 ‘help‘ 获得全局选项以及子命令的列表。

1.3 zypper软件库管理

  1. 使用 zypper repos 或者 zypper lr 来列举所有已定以的软件库。zypper repos或者zypper lrAlias|Name|Enabled|Refresh--+---------------------------+------------------------------------+---------+--------1| openSUSE-13.2-0| openSUSE-13.2-0|Yes|No2| repo-debug | openSUSE-13.2-Debug|Yes|Yes3| repo-debug-update | openSUSE-13.2-Update-Debug|No|Yes4| repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss|No|Yes5| repo-non-oss | openSUSE-13.2-Non-Oss|Yes|Yes6| repo-oss | openSUSE-13.2-Oss|Yes|Yes
  2. 在表格里显示zypper URIzypper lr -uAlias|Name|Enabled|Refresh--+---------------------------+------------------------------------+---------+--------1| openSUSE-13.2-0| openSUSE-13.2-0|Yes|No2| repo-debug | openSUSE-13.2-Debug|Yes|Yes3| repo-debug-update | openSUSE-13.2-Update-Debug|No|Yes4| repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss|No|Yes5| repo-non-oss | openSUSE-13.2-Non-Oss|Yes|Yes6| repo-oss | openSUSE-13.2-Oss|Yes|Yes
  3. 根据优先级列举软件库zypper lr -P|Alias|Name|Enabled|Refresh|Priority--+---------------------------+------------------------------------+---------+---------+---------1| openSUSE-13.2-0| openSUSE-13.2-0|Yes|No|992| repo-debug | openSUSE-13.2-Debug|Yes|Yes|993| repo-debug-update | openSUSE-13.2-Update-Debug|No|Yes|994| repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss|No|Yes|99

1.4 刷新软件库

  1. 使用 zypper refresh or zypper ref 来刷新 zypper 软件库。 zypper refresh或者zypper refRepositoryopenSUSE-13.2-0is up to date.RepositoryopenSUSE-13.2-Debugis up to date.RepositoryopenSUSE-13.2-Non-Ossis up to date.RepositoryopenSUSE-13.2-Ossis up to date.RepositoryopenSUSE-13.2-Updateis up to date.RepositoryopenSUSE-13.2-Update-Non-Ossis up to date.
  2. 刷新一个指定的软件库(以 repo-non-oss 为例 ) zypper refresh repo-non-ossRepositoryopenSUSE-13.2-Non-Ossis up to date.Specified repositories have been refreshed.
  3. 强制更新一个软件库(以 repo-non-oss 为例 ) zypper ref -f repo-non-ossForcing raw metadata refreshRetrieving repository openSUSE-13.2-Non-Oss metadata ............................................................[done]Forcing building of repository cacheBuilding repository openSUSE-13.2-Non-Oss cache ............................................................[done]Specified repositories have been refreshed.

1.5 修改软件库

我们可以通过使用‘zypper modifyrepo‘ 或者 ‘zypper mr‘ 来关闭或者开启 zypper 软件库。

  1. 在关闭一个软件库之前,我们需要知道在 zypper 中,每一个软件库有一个唯一的标示数字与之关联,该数字用于打开或者关闭与之相联系的软件库。假设我们需要关闭 repo-oss 软件库,那么我们可以通过以下的法来获得该软件库的标志数字。 zypper lr|Alias|Name|Enabled|Refresh--+---------------------------+------------------------------------+---------+--------1| openSUSE-13.2-0| openSUSE-13.2-0|Yes|No2| repo-debug | openSUSE-13.2-Debug|Yes|Yes3| repo-debug-update | openSUSE-13.2-Update-Debug|No|Yes4| repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss|No|Yes5| repo-non-oss | openSUSE-13.2-Non-Oss|Yes|Yes6| repo-oss | openSUSE-13.2-Oss|No|Yes7| repo-source | openSUSE-13.2-Source|No|Yes从以上输出的列表中我们可以看到 repo-oss 库的标示数字是 6,因此通过以下的命令来关闭该库。 zypper mr -d 6Repositoryrepo-oss has been successfully disabled
  1. 如果需要再次开启软件库 ‘repo-oss‘, 接上例,与之相关联的标示数字为 6。 zypper mr -e 6Repositoryrepo-oss has been successfully enabled.
  1. 针对某一个软件库(以 repo-non-oss 为例 )开启自动刷新( auto-refresh )和 rpm 缓存,并设置该软件库的优先级,比如85。 zypper mr -rk -p 85 repo-non-ossRepositoryrepo-non-oss priority has been left unchanged (85)Nothing to change for repository repo-non-oss.
  1. 对所有的软件库关闭 rpm 文件缓存。 zypper mr -KaRPM 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.
  2. 对所有的软件库开启rpm文件缓存 zypper mr -kaRPM 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.
  3. 关闭远程库的 rpm 文件缓存 zypper mr -KtRPM 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.
  4. 开启远程软件库的 rpm 文件缓存 zypper mr -ktRPM 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.

1.6 增加新的软件库

可以通过这两个 zypper 指令 – zypper addrepo 和 zypper ar 来增加新的软件库。在此过程中可以使用 URL 或者软件库的别名。

  1. 增加一个新的软件库( 以 http://download.opensuse.org/update/12.3/ 为例 ) zypper ar http://download.opensuse.org/update/11.1/ updateAdding repository update.............................................................................................................................................................[done]Repositoryupdate successfully addedEnabled:YesAutorefresh:NoGPG check :YesURI : http://download.opensuse.org/update/11.1/
  2. 更改一个软件库的名字,这将仅仅改变软件库的别名。 命令 zypper namerepo 或者 zypperr nr 可以胜任此工作。例如更改标示数字为10的软件库的名字为 upd8,或者说将标示数字为10的软件库的别名改为 upd8,可以使用下面的命令。 zypper nr 10 upd8Repositoryupdate renamed to upd8

1.7 删除软件库

  1. 删除一个软件库。要从系统删除一个软件库可以使 zypper removerepo 或者 zypper rr。例如以下的命令可以删除软件库 upd8 zypper rr upd8Removing repository upd8 .........................................................................................[done]Repositoryupd8 has been removed.

1.8 使用zypper安装一个软件包

  1. 在 zypper 中,我们可以通过软件包的功能名称来安装一个软件包。以 Firefox 为例,以下的命令可以用来安装该软件包。 zypper in MozillaFirefox
  1. 安装指定版本号的软件包(以 gcc 5.1 为例)。 zypper in gcc<5.1
  2. 为特定的CPU架构安装软件包(以兼容 i586 的 gcc 为例)。 zypper in gcc.i586
  1. 为特定的CPU架构安装指定版本号的软件包(以兼容 i586 且版本低于5.1的 gcc 为例) zypper in gcc.i586<5.1
  1. 从指定的软件库里面安装一个软件包,例如从 amarok 中安装 libxine。 zypper in amarok upd:libxine1
  2. 通过指定软件包的名字安装软件包 zypper in -n git
  3. 通过通配符来安装软件包,例如,安装所有 php5 的软件包 zypper in php5*
  1. 使用模式名称(模式名称是一类软件包的名字)来批量安装软件包。 zypper in -t pattern lamp_server
  2. 使用一行命令安装一个软件包同时卸载另一个软件包,例如在安装 nano 的同时卸载 vi zypper in nano -vi
  3. 使用 zypper 安装 rpm 软件包。 zypper in teamviewer*.rpm

1.9 使用 zypper 卸载软件包

  1. 命令 ‘zypper remove‘ 和 ‘zypper rm‘ 用于卸载软件包。例如卸载 apache2 zypper remove apache2或者 zypper rm apache2

1.10 使用Zypper 进行软件包更新

  1. 更新所有的软件包,可以使用 zypper update或者 zypper up。
zypper up或者zypper updateLoadingrepository data...Readinginstalled packages...Nothingto do.
  1. 更新指定的软件包,例如更新 apache2 以及 openssh。zypper up apache2 openssh
  2. 安装一个软件库,例如 mariadb,如果该库存在则更新之 zypper in mariadb

1.11 安装源文件并且构建依赖关系

命令 zypper source-install或者 zypper si可以用于从源文件编译软件包

  1. 安装某一个软件包的源文件及其依赖关系,例如 mariadb zypper si mariadb
  2. 仅为某一个软件包安装源文件,例如 mariadb zypper in -D mariadb
  3. 仅为某一个软件包安装依赖关系,例如 mariadb zypper si -d mariadb

1.12 在脚本和应用中调用 Zypper (非交互式)

  1. 安装一个软件包,并且在安装过程中跳过与用户的交互, 例如 mariadb zypper --non-interactive in mariadb
  2. 卸载一个软件包,并且在卸载过程中跳过与用户的交互,例如 mariadb zypper --non-interactive rm mariadb
  3. 以 XML 格式显示 zypper 的输出 zypper --xmloutUsage:zypper [--global-options][--command-options][arguments]GlobalOptions
  4. 在安装过程中禁止详细信息输出到屏幕 zypper --quiet in mariadb
  5. 在卸载过程中禁止详细信息输出到屏幕 zypper --quiet rm mariadb
  6. 自动地同意版权或者协议 zypper patch --auto-agree-with-licenses

1.13 清除 Zypper 缓存以及查看历史信息

  1. 以下指令可以用来清理Zypper缓存。 zypper cleanAll repositories have been cleaned up
  2. 如果需要一次性地清理元数据以及软件包缓存,可以通过 -all 或 -a 选项来达到目的zypper clean -a
  3. 查看 Zypper 的历史信息任何通过 Zypper 进行的软件包管理动作,包括安装、更新以及卸载都会在 /var/log/zypp/history中保留历史信息。可以通过 cat 来查看此文件,或者通过过滤器来筛选希望看到的信息。cat /var/log/zypp/history

1.14 使用 Zypper 进行SUSE系统升级

  1. 可以使用 Zypper 命令的 dist-upgrade 选项来将当前的 SUSE Linux 升级至最新版本。 zypper dist-upgrade

二、附录

  1. 参考

https://www.linuxidc.com/Linux/2015-06/118698p2.htm

我告诉你msdn版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

win11正式版下载 win11简体中文完整版下载 电脑没有蓝牙驱动怎么安装具体方法