您的位置:首页 > 运维架构 > Linux

(十三)Linux基础之软件安装―yum、rpm

2016-06-12 11:11 639 查看
1.yum命令
yum可以解决软件包安装时的依赖性

yum listall##列出所有安装包
yum listinstalled##列出已经安装的
yum listavailable##列出没有安装的
yum remove software##卸载软件
yum installsoftware##安装软件
yum search 关键字##搜索与关键字相关的软件
yum whatprovides 文件##搜索包含此文件的包
yum reinstall software##从新安装软件
yum localinstall 第三方软件##安装第三方软件并解决依赖关系
yum infosoftware##查询软件信息
yum groups list##列出软件组
yumgroupsinstall##安装组
yumgroupsremove##卸载组
yumgroupsinfo##查看组信息
yum history##查看系统中的更新、删除
yum update##升级

v 关于yum list


安装后




v 关于 yumsearch 关键字 与 yum whatprovides 文件 的区别search 后面跟的是软件的信息,例如功能等,whatprovides 后面跟的是软件名




v 我们在上课地方使用的机子,可以用lftp老师的IP(yum源)进行下载软件。如下图:


下载当前目录全部



v 我们虚拟机上的软件仓库的地址也是老师的IP,即系统获取软件的资源来源于这个yum源。所以当老师关闭网络服务,我们安装软件就会失败,显示无法到某个网址。如下图:


而之所以会显示这个,是因为软件仓库的指向的设置,而软件仓库就是为了告诉系统下载软件的来源,而删掉这个文件就会提示找不到资源。
所以当脱离老师设置的环境,我们可以用一个与本机匹配的安装镜像rhel-server-7.0-x86_64-dvd.iso,自己建立软件仓库。

2.官方软件仓库的建立
(1)需要一个与本机匹配的安装镜像,rhel-server-7.0-x86_64-dvd.iso,这个文件从官方网站下载得到
(2)让系统能够读取rhel-server-7.0-x86_64-dvd.iso中的内容,用mount挂载在目录上
(3)此时可以在这个目录下看到镜像中的内容,但这个挂载会随重启而消失,所以我们要通过编辑/etc/fstab文件来使该挂载可以长期存在。
vim /etc/fstab
/xxx/rhel-server-7.0-x86_64-dvd.iso /xxx iso9660 ro,relatime 0 0
镜像文件 挂在点 类型 挂载参数 备份检测

v 0 0 表示不备份不检测
v 实验过程将rhel-server-7.0-x86_64-dvd.iso挂载在/westos上,然后我们可以打开网页,在网址处输入file:///westos,我们可以在这里看到镜像的内容。



用mount命令,可以看到已经成功挂载。









v 如此软件仓库就建立成功了,但还不能进行软件的安装,因为软件仓库的指定文件还没有进行设置。可以找到rpm软件单独对这个软件安装,但不能解决它的依赖性。
v 如果前面有挂载,先用 umount 挂载文件 卸掉挂载文件。
3.编写软件仓库的指定文件
/etc/yum.repos.d##仓库指向文件存储目录
vim /etc/yum.repos.d/test.repo##仓库指向文件

[redhatsoftware]##仓库名称
name=localsoftware##仓库描述
baseurl=file:///source##仓库地址
###file://本地镜像挂载路径;ftp://网络镜像点――――指定yum源
gpgcheck=1|0##是否检测软件的gpgkey
enabled=1##此仓库在系统中生效(该yum源可用,系统会读取)
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
##本机gpgkey文件(指定发行版数字签名公钥文件)

【同一个文件里可以使用多个模块】

yum clean all###刷新仓库配置

v gpgcheck=0表示不检测,红帽官方不负责
v 实验过程(1)在/etc/yum.repos.d/目录下建立一个.repo的文件 vim yum.repo
(2)文件内容:



(3)刷新仓库配置 yum clean all ,之后就可以用yum安装软件了




4.网络yum源的配置
yum install httpd##安装httpd
systemctl stop firewalld##关闭防火墙
systemctl disable firewalld##永久关闭防火墙
systemctl start httpd##开启httpd
Systemctl enable httpd ##开机启动(永久开启)

vim /etc/fstab##关机会自动卸载挂载,修改为永久挂哉
/xxx/rhel-server-7.0-x86_64-dvd.iso /xxx iso9660 ro,relatime 0 0
镜像文件 挂在点 类型 挂载参数 备份检测

yum 源:http://当前主机/source

v 实验过程(1)安装httpd



(2)关闭防火墙,开启httpd服务



(3)将rhel-server-7.0-x86_64-dvd.iso镜像挂载在/var/www/html/source/下












(4)修改/etc/yum.repos.d/目录下的软件仓库指向文件yum.repo文件,修改地址,刷新仓库配置,之后就可以用新的yum源安装了
(5)重新启动后,发现挂载消失,重新进行挂载。
为了挂载可以一直存在,编辑/etc/fstab文件,在下面添上挂载的信息。











再重启后,就发现挂载不消失。




v 补充###########################Yum软件控制#######################
v 控制只显示64位安装包或32位安装包
vim /etc/yum.conf
exclude=*.x86_64###忽略64位安装包
在yum.conf文件里添加一行:exclude=*.i686 ##忽略32位安装包




#########################第三方软件仓库的搭建###################
v 搭建第三方软件仓库 当我们从网上下了很多rpm文件,当我们需要安装其中的某个软件,得一个个安装完它们的依赖软件,很麻烦,而我们也无法使用yum一次性安装(yum可以解决依赖性安装),因为软件仓库里没有相关的信息。(系统不知道,要有地址指向,系统才能知道)
我们可以看到我们镜像挂载文件/var/www/html/source/下的文件,其中有一个repodata目录,下面就是关于一些可安装的软件包的信息


信息:




所以我们把所有rpm包放到指定目录中,执行createrepo生成repodate目录
(1)createrepo /rpm/ ,然后该目录下就会生成一个repodata目录









(2)编写/etc/yum.repos.d/目录下的软件仓库指向文件yum.repo文件,添加一个仓库信息,刷新仓库配置(指定/rpm位yum源)









5.rpm命令的使用
rpm##底层软件管理工具
-i##install
-v##显示信息
-h##指定包的解密方式为hash
-q##查询
-p##指定软件包本身
-l##列出软件中文件的名字
--scripts##查看软件安装和卸载过程中所执行的动作
-f##查询某个文件属于那个安装包
-a##所有
-e##卸载
--force##强制
--nodeps ##忽略依赖性

v 各种参数的实验(1)-ivh
v 安装google


缺少lsb和libXss.so.1,安装lsb和libXss.so.1









完成后,安装google成功!
删除google-chrome.repo,这个文件会导致一些问题(貌似yum使用有误)



(2)-e##卸载



删除的时候,跟的是软件名,而不能是软件安装包名!
-qa##查询所有(查看系统中所有软件包的名字)



(3)-qi##查询安装信息(已经安装的详细信息)



(4)-ql##软件中文件信息(已经安装的软件在系统中产生的文件)



(5)-qlp##软件包本身文件信息



(6)-qip##软件包信息(安装)



(7)-qp --scripts##软件安装和卸载执行的动作



第一个软件包安装后卸载时会删除根目录下的所有文件,所以安装第二个软件包
(8)-ivh --nodeps##忽略依赖性安装
如果依赖成死循环,则可以解除依赖死循环,可以先忽略依赖性,再一个一个安装所需要的所有软件
(10)-ivh --force##强制安装
如果下载后误删了软件中的某一个文件,导致软件有了一些问题,可以强制重装(11)rpm其它-ivh//安装(显示过程)
-qc//查看已经安装的软件的配置文件
-qd//查看已经安装的软件的说明
-q--changlog//查看该软件从最古老的版本到当前版本所经历的过程
-q--scripts//查看该软件安装卸载的时候会对系统做什么事
-qp--scripts//查看该软件包(未安装也行)的软件在安装或卸载的时候会对系统做什么事
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: