1.
Distribution代表 | 软件管理机制 | 使用命令 | 在线升级机制 |
Red Hat/Fedora | RPM | Rpm,rpmbuild | YUM(yum) |
Debian/Ubuntu | DPKG | Dpkg | APT(apt-get) |
2.
文件格式 | 文件名格式 | 直接安装与否 | 内含程序类型 | 可否修改参数并编译 |
RPM | xxx.rpm | 可 | 已编译 | 不可 |
SRPM | Xxx.src.rpm | 不可 | 没编译 | 可 |
3.RPM的全名是RedHat Package Manager,是以一种数据库记录的方式来讲你所需要的软件安装到Linux系统的一套管理机制。
RPM最大的特点是内装的软件已经事先编译过了,当安装再linux主机时,RPM会先依照软件里头的数据查询Linux主机的依赖属性软件是否满足,若满足再予以安装,若不满足则不安装。那么安装的时候就将该软件的信息整个写入RPM的数据库中,以便未来的查询,验证与反安装。
SRPM是Source RPM的意思,也就是说这个RPM文件里面含有源代码。特别要注意的是SRPM所提供的软件内容并没有经过编译,他提供的是源代码。在安装该软件的时候就必须先以rpm管理的方式编译,此时srpm会被编译成rpm文件,然后讲编译完成的rpm文件安装到linux系统当中。
rpm不能自动解决软件依赖,需要手动的去解决,而yum能自动解决软件依赖的问题。
4..rpm命令的使用
rpm ###底层软件管理工具
-i ###install
-v ###显示信息
-h ###指定包的解密方式为hash,hash加密必须加
-q ###查询
-p ###指定软件包本身
-l ###列出软件中文件的名字
--scripts ###查看软件安装和卸载过程中所执行的动作
-f ###查询某个文件属于那个安装包
-a ###所有
-e ###卸载
--force ###强制,解决冲突,有依赖性还是装不了
--nodeps ###忽略依赖性
--noscripts ###不想让该软件在安装过程中自行执行某些系统命令
rpm -ivh *rpm ###安装
rpm -q 已安装的软件名称 ###后面接的软件名称有没有被安装
rpm -qa ###列出所有的已经安装在本机系统上的所有名额
rpm -qf 文件名 ### 由后面接的文件名找出该文件属于哪一个已安装的软件
rpm -qi 软件名 ###列出该软件的详细信息
rpm -ql 软件名 ###列出该软件的所有的文件与目录所在完整文件名
rpm -qR 软件名 ###列出与该软件有关的依赖软件属于哪一个已安装的软件
rpm -Uvh 软件名 ###如果该软件没有被安装,就直接安装,若已安装就升级
rpm -Fvh 软件名 ###如果该软件没有被安装,就不安装,若已安装就升级
5.yum
yum list all ###列出所有安装包
yum list installed ###列出已经安装的
yum list available ###列出没有安装的
yum remove software ###卸载软件
yum install software ###安装软件
yum search 关键字 ###搜索与关键字相关的软件
yum whatprovides 文件 ###搜索包含此文件的包
yum reinstall software ###从新安装软件
yum localinstall 第三方软件 ###安装第三方软件并解决依赖关系
yum info software ###查询软件信息
yum groups list ###列出软件组
yum groups install ###安装组
yum groups remove ###卸载组
yum groups info ###查看组信息
###############官方软件仓库的建立###############
1.需要一个与本机匹配的安装镜像,rhel-server-7.0-x86_64-dvd.iso,这个文件从官方网站下载得到
2.mount /iso/rhel-server-7.0-x86_64-dvd.iso /yum
3.mv /etc/yum.repos.d/* /mnt
4.vim /etc/yum.repos.d/yum.repo
[redhatsoftware] ###仓库名称
name=localsoftware ###仓库描述
baseurl=file:///yum ###仓库地址
gpgcheck=0 ###是否检测软件的gpgkey
#enable=1 ###没有禁用
yum install httpd -y
systemctl stop firewalld
systemctl start httpd
systemctl enable httpd
mkdir -p /var/www/html/yumsource
umount /yum
mount /iso/rhel-server-7.0-x86_64-dvd.iso /var/www/html/yumsource
##<<<yum源地址:http://主机ip/yumsource>##
让系统能够读取rhel-server-7.0-x86_64-dvd.iso中的内容
vim /etc/fstab
/xxx/rhel-server-7.0-x86_64-dvd.iso /xxx iso9660 ro,relatime 0 0
镜像文件 挂在点 类型 挂载参数 备份 检测
可以卸载之后,再输入mount -a,df -h查看,如果又挂载上去,说明自动挂载配置成功
3.编写软件仓库的指定文件
/etc/yum.repos.d ##仓库指向文件存储目录
vim /etc/yum.repos.d/test.repo ###仓库指向文件
[redhatsoftware] ###仓库名称
name=localsoftware ###仓库描述
baseurl=file:///source ###仓库地址
gpgcheck=1|0 ###是否检测软件的gpgkey
enabled=1 ###此仓库在系统中生效
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release ##本机gpgkey 文件
yum clean all ###刷新仓库配置
man -5 fstab 查看该文件的编写规范
4.网络yum源的配置
yum install httpd
systemctl stop firewalld
systemctl start httpd
systemctl enable httpd
vim /etc/fstab
/iso/rhel-server-7.0-x86_64-dvd.iso /var/www/html/source iso9660 ro,relatime 0 0
mount -a
yum 源:http://当前主机/source
Rpm.search
几个可以用的网络源:
[base]
name=CentOS-$releasever - Base
baseurl=http://mirrors.163.com/centos/7.2.1511/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/7.2.1511/os/x86_64/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=http://mirrors.163.com/centos/7.2.1511/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/7.2.1511/os/x86_64/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-$releasever - Extras
baseurl=http://mirrors.163.com/centos/7.2.1511/extras//$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/7.2.1511/os/x86_64/RPM-GPG-KEY-CentOS-7
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://mirrors.163.com/centos/7.2.1511/centosplus//$basearch/
gpgcheck=1
enabled=0