Opensuse zypper 笔记

Opensuse zypper 笔记,第1张

zypper 是 opensuse 下的命令行包管理工具,类似 arch 下的 pacman 或 debian 下的 apt-get 。

opensuse 下图形化的 Yast 也十分强大(也许是我见过最好用的图形化管理工具),建议两者配合使用。

<pre>

zypper 列出可用的全局选项和命令

zypper help search 列出 search 命令的帮助

zypper up 更新所有软件包到可用的新版本

zypper lu 获取可用的更新列表

zypper lp 列出需要的补丁更新

zypper patch安装所需的补丁

zypper pchk 检查是否有可用的重要的补丁,并反馈补丁数

zypper patch-info Firefox 显示 Firefox 补丁的信息

zypper se sqlite搜索 sqlite 软件

zypper se -s virtualbox-ose 查看匹配软体套件包的全部可选版本

zypper se -dC --match-words RSI 搜寻包括摘要和描述中的匹配 RSI 缩写的项

zypper se 'yast*' 搜寻所有含 yast 字符的软件包(注意 shell 的表达,不确定就加引号)

zypper se -r packman列出所有 packman 供应源的软件包

zypper se -i sqlite 列出所有已安装的其名字包含 sqlite 的软件包

zypper se -t pattern -r repo-oss列出所有 repo-oss 供应源的模式 (pattern)

zypper se -t product列出所有可选的成品 (product)

zypper ve 验证检查依赖关系

zypper wp firefox 列出所有指定软体的供应方

zypper info amarok 显示名为 amarok 的软体套件包的具体信息

zypper info -t pattern lamp_server 显示 lamp server 模式的信息

zypper info -t product openSUSE-FTP 显示特定成品的信息

zypper rm sqlite2 删除 sqlite2 软件

zypper in sqlite3 安装 sqlite3 软件

zypper in yast* 安装所有符合 yast* 名称的软件

zypper in vim -emacs安装 vim 并移除 emacs

zypper in -f subversion 强制重新安装 subversion

zypper in bitchx-1.1-81.x86_64.rpm 安装当前目录的 bitchx RPM 软件包

zypper inr 查找并安装已安装的软体套件包的推荐的新添加的软体套件包

zypper ps 显示使用被最近的更新或移除 *** 作所删除的文件的进程

zypper si -D zypper 只安装源码包

zypper si -d zypper 只安装构建依赖

zypper al 'yast2 ' 锁定所有以 yast2 开首的软体套件包

zypper al -r repo-oss virtualbox限制 repo-oss 供应源(允许安装其他供应源的软件包)

zypper ll 列出当前有效的锁定

zypper rl yast2-packager移除锁定,可对应序号锁定

zypper lr 列出设定的供应套件库

zypper lr -u列出供应源 URI

zypper lr -d列出供应源的其他数项属性

zypper lr -P列出供应源优先级并依此排序

zypper lr -e my 导出全部的供应源设定信息至文件 my.repo

zypper ar http://download.videolan.org/pub/vlc/SuSE/11.1 vlc添加供应套件库

zypper ar http://download.opensuse.org/repositories/X11:/XGL/openSUSE_11.1/X11:XGL.repo 通过 .repo 文件

zypper ar -c ftp://some.download.site myalias 添加之前试探供应源

zypper ar my/dir/with/rpms local添加含 RPM 文件的本地目录为供应源

zypper rr vlc 1 23 foo 移除供应套件库

zypper mr -d 6 禁用序号为 6 的供应套件库

zypper mr -rk -p 70 packman 启用 packman 供应套件库的自动刷新并缓存 RPM 文件,再设置其优先顺序为 70

zypper mr -Ka 禁用所有供应套件库的 RPM 文件缓存

zypper mr -ka 启用所有供应套件库的 RPM 文件缓存

zypper nr 3 upd 重命名供应套件库

zypper refresh 刷新供应套件库

zckman main 只指定特定的供应源刷新

zypper ref -f upd 强制 upd 供应源刷新

</pre>

<pre>$ zypper lr --export backups/repos/foo.repo

$ zypper ar backups/repos/foo.repo</pre>

<pre>$ zypper dup 此命令使用发行版升级演算法,处理软体套件包分裂 (package splits)、无维护软体套件包以及类似的其他软体套件包

建议在发行版升级过程中仅启用您所欲安装的发行版的主要的供应套件库和一些您所用的重要的供应套件库(若其版本对应於主

要的供应套件库则更佳)。也可以先禁用旧的供应套件库 zypper mr -da,添加新的供应套件库 zypper ar,

再 zypper dup 升级。您可以用 --repo 选项指定所使用的供应套件库 zypper dup -r repo1 -r repo2

</pre>

一、zypper源的配置

SUSE的zypper本地源配置起来跟yum的配置很相似,它们的配置文件有很多相似之处。不过,个人觉得zypper这个工具稍微强大些。在SUSE下,可以通过一条zypper的命令,即可完成zypper源的配置。

以下包是SUSE的Bash最新升级包,接下来的 *** 作是把下面的升级包作为一个本地仓库,供以后zypper update来使用,

1

2

3

4

5

6

7

8

9

10

funny:~ # unzip CVE-2014-6271.zip

Archive: CVE-2014-6271.zip

creating: CVE-2014-6271/

inflating: CVE-2014-6271/bash 9740.htm

inflating: CVE-2014-6271/bash-3.2-147.20.1.x86_64.rpm

inflating: CVE-2014-6271/bash-doc-3.2-147.20.1.x86_64.rpm

inflating: CVE-2014-6271/libreadline5-32bit-5.2-147.20.1.x86_64.rpm

inflating: CVE-2014-6271/libreadline5-5.2-147.20.1.x86_64.rpm

inflating: CVE-2014-6271/license_agreement.txt

inflating: CVE-2014-6271/readline-doc-5.2-147.20.1.x86_64.rpm

接下来的 *** 作是把这些包放到一个目录里,然后把该目录做成系统的一个更新源。比如,把解压后的目录放到/opt目录下,然后使用zypper ar添加该zypper源。

1

2

3

4

5

6

7

8

funny:~ # mv CVE-2014-6271 /opt/update

funny:~ # zypper ar file:///opt/update update

Adding repository 'update' [done]

Repository 'update' successfully added

Enabled: Yes

Autorefresh: No

GPG check: Yes

URI: file:/opt/update

接下来,使用zypper lr验证下,

1

2

3

4

5

funny:~ # zypper lr

# | Alias | Name | Enabled | Refresh

--+--------+--------+---------+--------

1 | local | local | Yes | Yes

2 | update | update | Yes | No

说明我们已成功添加update的源。另外,执行”zypper ar URI alias“后,会在/etc/zypp/repo.d/目录下生成alias.repo配置文件。接下来,我们试试zypper update命令,看是不是可以真的可以升级?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

funny:~ # zypper update

Building repository 'update' cache [done]

Loading repository data...

Reading installed packages...

The following packages are going to be upgraded:

bash bash-doc libreadline5 readline-doc

The following packages are not supported by their vendor:

bash bash-doc libreadline5 readline-doc

4 packages to upgrade.

Overall download size: 923.0 KiB. ...

Continue? [y/n/?] (y): y

Retrieving package libreadline5-5.2-147.20.1.x86_64 (1/4), ...

Retrieving package bash-3.2-147.20.1.x86_64 (2/4), ...

Retrieving package readline-doc-5.2-147.20.1.x86_64 (3/4), ...

Retrieving package bash-doc-3.2-147.20.1.x86_64 (4/4), ...

Retrieving package libreadline5-5.2-147.20.1.x86_64 (1/4), ...

Installing: libreadline5-5.2-147.20.1 [done]

Retrieving package bash-3.2-147.20.1.x86_64 (2/4), ...

Installing: bash-3.2-147.20.1 [done]

Retrieving package readline-doc-5.2-147.20.1.x86_64 (3/4), ...

Installing: readline-doc-5.2-147.20.1 [done]

Retrieving package bash-doc-3.2-147.20.1.x86_64 (4/4), ...

Installing: bash-doc-3.2-147.20.1 [done]

以上说明可以进行升级的。接下来,我们使用zypper ps命令,可以查看有哪些终端还在使用之前没有升级过的bash,

1

2

3

4

5

6

7

8

9

10

11

funny:/etc/zypp/repos.d # zypper ps

The following running processes use deleted files:

PID | PPID | UID | Login | Command | Files

------+-------+-----+-------+---------+--------------------------

2663 | 2542 | 0 | root | bash| /lib64/libreadline.so.5.2

| | | | | /bin/bash (deleted)

22426 | 22423 | 0 | root | bash| /lib64/libreadline.so.5.2

| | | | | /bin/bash (deleted)

You may wish to restart these processes.

二、zypper命令选项介绍

1. zypper的几个重要选项:

选项

说明

repos, lr

列出库

sl

列出库(目的是与rug兼容)

addrepo, ar添加库

sa添加库(目的是与rug兼容)

renamerepo, nr重命名指定的安装源

modifyrepo, mr修改指定的安装源

refresh, ref刷新所有安装源

clean清除本地缓存

2. zypper软件管理:

选项说明

install, in

安装软件包

remove, rm删除软件包

verify, ve检验软件包依赖关系的完整性

update, up更新已安装的软件包到新的版本

dist-upgrade, dup

整个系统的升级

source-install, si安装源代码软件包和它们的编译依赖

3. zypper的查询选项:

选项

说明

search, se安装软件包

packages, pa

列出所有可用的软件包

patterns, pt列出所有可用的模式

products, pd列出所有可用的产品

what-provides, wp列出能够提供指定功能的软件包

zypper源的配置

SUSE的zypper本地源配置起来跟yum的配置很相似,它们的配置文件有很多相似之处。不过,个人觉得zypper这个工具稍微强大些。在SUSE下,可以通过一条zypper的命令,即可完成zypper源的配置。

以下包是SUSE的Bash最新升级包,接下来的 *** 作是把下面的升级包作为一个本地仓库,供以后zypper update来使用,

1

2

3

4

5

6

7

8

9

10

funny:~ # unzip CVE-2014-6271.zip

Archive: CVE-2014-6271.zip

creating: CVE-2014-6271/

inflating: CVE-2014-6271/bash 9740.htm

inflating: CVE-2014-6271/bash-3.2-147.20.1.x86_64.rpm

inflating: CVE-2014-6271/bash-doc-3.2-147.20.1.x86_64.rpm

inflating: CVE-2014-6271/libreadline5-32bit-5.2-147.20.1.x86_64.rpm

inflating: CVE-2014-6271/libreadline5-5.2-147.20.1.x86_64.rpm

inflating: CVE-2014-6271/license_agreement.txt

inflating: CVE-2014-6271/readline-doc-5.2-147.20.1.x86_64.rpm

接下来的 *** 作是把这些包放到一个目录里,然后把该目录做成系统的一个更新源。比如,把解压后的目录放到/opt目录下,然后使用zypper ar添加该zypper源。

1

2

3

4

5

6

7

8

funny:~ # mv CVE-2014-6271 /opt/update

funny:~ # zypper ar file:///opt/update update

Adding repository 'update' [done]

Repository 'update' successfully added

Enabled: Yes

Autorefresh: No

GPG check: Yes

URI: file:/opt/update

接下来,使用zypper lr验证下,

1

2

3

4

5

funny:~ # zypper lr

# | Alias | Name | Enabled | Refresh

--+--------+--------+---------+--------

1 | local | local | Yes | Yes

2 | update | update | Yes | No


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11371423.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存