GPL,BSD,source code,binary
C,C++,二进制,
rpm,Redhat Package Manager, perl语言编写
suse,centos
rpm,RPM package Manager
binary,sample configuration file,manual,rpm
命名格式:
package_name-version-release.arhc.rpm
bash-3.2.6-i386.rpm
rpm 工具
rpm [option] package_name [path]
安装:
rpm -iv
v 显示详细信息
h 显示文件安装进度
--nodeps 无视依赖关系
--replacepkgs 替换原有的软件包
--test 测试依赖关系
--justdb 仅更新数据库
卸载:
rpm -e package_name
X-2.3.4 --> X-3.0.1
升级:
rpm -F 只更新有老版本的数据包
rpm -U 更新安装 --oldpackage 软件包降级安装
内核一般不能升级的方式安装
查询:
-q pkg_name
-qa 所有装的软件包
-ql pkg_name 查看pkg_name安装的所有文件
-qf filename 查看filename是由哪个软件包安装过来的
-qi pkg_name 显示pkg_name的摘要信息
-qc pkg_name 查看pkg_name的配置文件
-qd pkg_name 查看pkg_name的帮助信息文档
-qR pkg_name 查看pkg_name的依赖文件
-q --provides pkg_name 查看pkg_name的扩展功能
-q --scripts pkg_name 查看相关执行的脚本
-q --changlog pkg_name 查看日志
-V pkg_name 校验、检查
-K 校验身份,第三方认证
rpm signature,数字签名,保证数据完整性,身份验证
单向加密:md5,sha1
公钥加密:私钥加密,公钥解密
/var/lib/rpm/ rpm相关的数据库
--initdb 更新数据库信息,不回覆盖
--rebuilddb 重建数据库信息,会覆盖
--import 导入软件包
yellow dog
yum:yellow dog update manager
yum 依赖 rpm
yum:
file:///
http://
ftp://
/etc/yum.conf
/etc/yum.repos.d/*.repo
[repo-name]
name=A nice desccription
baseurl=file:///media/cdrom
enabled=1 默认启用 1启用 0禁用
gpgcheck=1
gpgkey=file:///
yum clean all
yum install pkg_name
yum -y install pkg_name 不询问直接装
yum -y reinstall pkg_name 重新装
yum remove|erase
yum update
yum list all|installed|available(没安装可以安装的)
支持文件名通配 yum list kernel*
list 列出软件包
all 全部
installed 已安装的
available 可以安装的
search 搜索字符串
info 查询相关信息
whatprovides 查询文件是由哪个软件包提供的
yum provides|whatprovides 相当于 rpm -qf 谁提供的
yum grouplist 显示可以安装的组和已安装的组
yum groupinstall "组名"
yum groupupdate
yum groupremove
yum groupinfo 显示摘要信息
yum localinstall 装本地的rpm包
--nogpgcheck 不检查签名
yum repolist
制作yum库
mkdir /vat/yum
mount /dev/cdrom /media/cdrom
cp -r /media/cdrom/* /var/yum
Server,VT,Cluster,ClusterStorage
Server/repodata/
createrepo -g /media/cdrom/Server/repodata/compas*.xml /var/yum/Server
cd /etc/yum.repos.d
vim local.repo
# repos on instructor for classroom use
# Main rhel5 server
[base]
name=Instructor Server Repository
baseurl=file:///mmm/Server
gpgcheck=0
# This one is needed for xen packages
[VT]
name=Instructor VT Repository
baseurl=file:///mmm/VT
gpgcheck=0
# This one is needed for clustering packages
[Cluster]
name=Instructor Cluster Repository
baseurl=file:///mmm/Cluster
gpgcheck=0
# This one is needed for cluster storage (GFS, iSCSI target, etc...) packages
[ClusterStorage]
name=Instructor ClusterStorage Repository
baseurl=file:///mmm/ClusterStorage
gpgcheck=0