请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站
联系我们
查看: 4422|回复: 0

zypper命令使用及zypper源配置

[复制链接]

142

主题

145

帖子

614

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
614
发表于 2016-5-15 10:25:51 | 显示全部楼层 |阅读模式
一、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列出能够提供指定功能的软件包

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部 返回列表