RPM 安装
rpm -ivh 全名
安装软件包
选项:
- -i (install) 安装
- -v (verbose) 显示详细信息
- -h (hash) 显示进度
升级
rpm -Uvh 包全名(旧版本)
如果已经安装就更新,如果没有安装就安装
- -U (upgrade)升级
卸载
rpm -e 包名
后台数据库中查找包名对应的文件,然后卸载
- -e(erase)
- –nodeps 不检查依赖性(不提倡使用)
查询(-q)
命令 | 作用 |
---|---|
rpm -q 包名 | 查询是否安装软件包 |
rpm -qa | 查询所有已安装的软件包 |
rpm -qi 包名 | 查询已安装软件包的信息 |
rpm -qip 包全名 | 查看未安装的包的信息 |
rpm -ql 包名 | 查看包安装位置(未安装也可以查询-p) |
rpm -qf 文件名 | 查看系统文件属于哪个软件包 |
rpm -qR 包名 | 查看包所依赖的软件包 |
选项:
- -q (query) 查询
- -a (all) 所有
- -i (information) 查询软件包信息
- -f (file) 查询系统问价属于哪个软件包
- -p (package) 查询未安装包信息
- -R (requires) 查询软件包的依赖性
- -V (Verify) 文件校验
rpm文件提取
rpm2cpio 包全名 | cpio -idv .文件绝对路径
从rpm包中提取需要的文件
- rpm2cpio : 将rpm转换为cpio格式的命令
- cpio : 标准工具,用户创建软件档案文件和从档案文件中提取文件
例如,删除ls命令:
rm -rf /bin/ls
从rpm包中提取出ls文件
rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-43.el6.x86_64.rpm | cpio -idv ./bin/ls
yum在线安装
yum源文件
yum的源文件位于 /etc/yum.repos.d/CentOS-Base.repo
,具体文件内容如下
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
#released updates
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
相关参数:
- [base] 容器名称,一定要放在[]中
- name 容器说明,随便写
- mirrorlist 镜像站点
- baseurl yum源服务器的地址
- enabled 是否生效,1是生效,0不生效,默认生效
- gpgcheck 1指数字证书生效
- gpgkey 数字证书的公钥文件保存位置。不用修改
更换阿里的源
备份
mv CentOS-Base.repo CentOS-Base.repo.backup
下载新的源文件,替换原来的源
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
生成缓存
yum makecache
光盘搭建yum
挂载光盘
mount -t iso9660 /dev/sr0 /mnt/cdrom/
使网络yum失效。将网络源文件改名为其他文件,或者将
enabled
设为0:
// 将网络源文件改名为其他文件
mv CentOS-Base.repo CentOS-Base.repo.ali.backup
- 更改
CentOS-Media.repo
文件。将baseurl 改成光盘目录,将enable改为1:
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom
# file:///media/cdrom/
# file:///media/cdrecorder/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
- 验证。再次使用
yum list
,可以看到所有源的名称都变成了c6-media
。正是光盘源的名称:
...
vte.i686 0.25.1-9.el6 c6-media
vte-devel.i686 0.25.1-9.el6 c6-media
vte-devel.x86_64 0.25.1-9.el6 c6-media
w3m.x86_64 0.5.2-19.el6 c6-media
w3m-img.x86_64 0.5.2-19.el6 c6-media
watchdog.x86_64 5.6-5.el6 c6-media
wavpack.i686 4.60-1.1.el6 c6-media
wavpack-devel.i686 4.60-1.1.el6 c6-media
wavpack-devel.x86_64 4.60-1.1.el6 c6-media
webalizer.x86_64 2.21_02-3.3.el6 c6-media
webkitgtk.i686 1.4.3-9.el6_6 c6-media
webkitgtk-devel.i686 1.4.3-9.el6_6 c6-media
webkitgtk-devel.x86_64 1.4.3-9.el6_6 c6-media
webkitgtk-doc.x86_64 1.4.3-9.el6_6 c6-media
werken-xpath.noarch 0.9.4-4.beta.12.6.el6 c6-media
werken-xpath-javadoc.noarch 0.9.4-4.beta.12.6.el6 c6-media
wireless-tools.i686 1:29-6.el6 c6-media
wireless-tools-devel.i686 1:29-6.el6 c6-media
wireless-tools-devel.x86_64 1:29-6.el6 c6-media
...
常用 yum 命令
查询所有可用软件包列表
yum list
查询和关键字有关的软件包
yum search 关键字
自动安装指定软件包
yum -y install 包名
升级(如果源中有更新版的软件包)
yum -y update 包名
升级所有软件,包括内核
yum -y update
卸载软件包
yum -y remove 包名
参数:
- install 安装
- remove 卸载
- -y 自动回答yes
软件组管理命令
列出所有可用的软件组列表:
yum grouplsit
安装指定软件组,组名可以由grouplist查询出来
yum groupinstall 软件组名
卸载指定软件组
yum groupremove 软件组名
源码包
1、进入解压缩命令
2、./configure -prefix=/usr/local/apache 安装到指定目录
3、make 编译(make clean清除)
4、make install编译安装
rpm包与源码包的异同
启动方式不同
- rpm包的启动方式:从/etc/init.d/目录下启动,在执行service时也是从/etc/init.d/目录下启动。因此可以将源码包的启动脚本复制到给目录下,即可用service启动。
- 源码包的启动方式:可以随意指定,一般是
/usr/local/
,不可以用service命令管理
安装完毕后,仅有的不同是安装位置不同。