1.yum命令
yum可以解决软件包安装时的依赖性
yum listall ##列出所有安装包
yum listinstalled ##列出已经安装的
yum listavailable ##列出没有安装的
yum remove software# #卸载软件
yum installsoftware ##安装软件
yum search 关键字 ##搜索与关键字相关的软件
yum whatprovides 文件 ##搜索包含此文件的包
yum reinstall software ##从新安装软件
yum localinstall 第三方软件 ##安装第三方软件并解决依赖关系
yum info software ##查询软件信息
yum groups list ##列出软件组
yum groups install ##安装组
yum groups remove ##卸载组
yum groups info ##查看组信息
yum history ##查看系统中的更新、删除
yum update ##升级
##关于yum list##
安装后
##补充##
关于 yumsearch 关键字 与 yum whatprovides 文件 的区别
search 后面跟的是软件的信息,例如功能等,whatprovides 后面跟的是软件名
我们在上课地方使用的机子,可以用lftp老师的IP(yum源)进行下载软件。如下图:
下载当前目录全部
我们虚拟机上的软件仓库的地址也是老师的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 表示不备份不检测
##实验过程##
将rhel-server-7.0-x86_64-dvd.iso挂载在/westos上,然后我们可以打开网页,在网址处输入file:///westos,我们可以在这里看到镜像的内容。
用mount命令,可以看到已经成功挂载。
如此软件仓库就建立成功了,但还不能进行软件的安装,因为软件仓库的指定文件还没有进行设置。可以找到rpm软件单独对这个软件安装,但不能解决它的依赖性。
如果前面有挂载,先用 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 ##刷新仓库配置
gpgcheck=0表示不检测,红帽官方不负责
##实验过程##
(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
##实验过程##
(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文件,在下面添上挂载的信息。
再重启后,就发现挂载不消失。
##补充##
###yum软件控制##
控制只显示64位安装包或32位安装包
vim /etc/yum.conf
exclude=*.x86_64 ##忽略64位安装包
在yum.conf文件里添加一行:exclude=*.i686 ##忽略32位安装包
##第三方软件仓库的搭建##
当我们从网上下了很多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 ##忽略依赖性
##各种参数的实验##
(1)-ivh
安装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//查看该软件包(未安装也行)的软件在安装或卸载的时候会对系统做什么事