linux学习之旅(十二)&& 软件安装详解

软件安装


主要针对的是 RPM包
RPM含义: REDHAT PACKAGES MANAGERMENT

1.软件名称识别

[abrt-addon-ccpp]-[2.1.11-19].[el7].[x86_64].rpm    //rpm结尾的适用与redhat操作系统
       ||         ||           ||       ||
    软件名称       软件版本     软件适用系统 64位

e // 企业版
l   //  等级
rh // redhat
el7 // 适用于企业版版本七的系统

2.如何安装软件

rpm安装

rpm -ivh    name.rpm    :安装 ,-v显示过程,-h指定加密方式为hash,哈希加密,-i 详细信息

    -e  name        ##卸载
    -ql name        ##查询软件生成文件
    -qlp    name.rpm    ##查询软件安装后会生成什么文件
    -qa         ##查询系统中安装的所有软件名称
    -qa |grep name      ##查询软件是否安装
    -q name         ##查看软件所属安装包
    -qp name.rpm        ##查询软件安装包安装后的名字
    -qf filename        ##查看filename属于那个安装包
    -ivh name.rpm --force   ##强制安装,但不能忽略依赖性
    //如果删除了一部分东西,再安装时说已经安装过,那么用 --force强制再安装
    -ivh name.rpm --nodeps --force ##忽略依赖性并且强制安装,可以安装,但是会出现不能使用的问题
    -qi name        ##查看软件信息
    -Kv name.rpm        ##检测软件包是否被篡改
    //用Kv key显示的是BAD 那么就是被篡改过的,就需要重新安装别的包
    -qp name.rpm --scripts  ##检测软件在安装或卸载过程中执行的动作

查看firefox软件的安装包:

  • - -scripts 一定要会用,先看文件包安装的安装卸载执行的动作
    有些危险,比如流氓软件在卸载时要删除你的根就可以提早知道,禁止安装


    这时,发现在key ID上的显示时不一样的,那么用- -scripts查看安装执行的动作:

    //可以看到,上面显示的软件A是明显的流氓软件,在删除时会删除你的根目录,所以果断禁止安装

  • 在rpm安装时会产生依赖性的问题,就是一个软件的安装需要别的软件先安装支持,才可以安装,你可以选择一个一个去rpm安装,但是非常的麻烦,这时,就需要用yum命令来解决

yum安装

yum 上层软件管理工具,最重要的功能是可以解决软件的倚赖关系
yum能够投入使用的前提是必须要有yum源,以及配置源的指向文件

  • 如图,开始配置的yum源是172.25.254.250,这里现在不存在文件,所以yum源无效,就会出现无法下载的情况

那么如何让配置yum源呢?

server源端

1.从网络上下本机系统版本匹配的iso镜像文件

rhel-server-7.2-x86_64-dvd.iso

2.挂载

mkdir  /iso   //建立目录用来存放iso镜像

mv   rhel-server-7.2-x86_64-dvd.iso   /iso     //将镜像文件放到/ios中

mkdir  /rhel7.2     //建立iso镜像的挂载点

mount rhel-server-7.2-x86_64-dvd.iso    /rhel7.2     
//把rhel-server-7.2-x86_64-dvd.iso挂在到/rhel7.2用来访问镜像中的文件


//可以看到,这里的rhel7.2中已经存在文件,即已经挂载上了

3.配置本机yum源指向

配置yum源,一定以repo作后缀

rm -fr /etc/yum.repos.d/*
vim /etc/yum.repos.d/yum.repo
[Server]    ##[不能有空格,不能符号]这个是源仓库名字
name=rhel7.2        ##(可以有空格)这里是描述这个软件
baseurl=file:///rhel7.2        ##baseurl=真正的地址
gpgcheck=0     ##不检测
##  =1  检测,是不是第三方软件,牵扯一些权益
##完了之后   yum clean all  才能生效

现在再次时下载会发现


//成功下载

4.安装资源共享服务

yum install httpd -y            //安装httpd共享服务
systemctl stop firewalld         //关闭火墙,   **这个一定要做**
systemctl disable firewalld     //让火墙开机不自启
systemctl start httpd       //开启httpd服务
systemctl enable httpd      //让httpd开机自启

5.建立共享目录,并挂在镜像文件到共享目录上

mkdir /var/www/html/rhel7.2           //开启共享服务后需要将文件放在这个目录下才能共享
umount /rhel7.2                           //将之前挂载的取消
mount /iso/rhel-server-7.2-x86_64-dvd.iso /var/www/html/rhel7.2    //重新挂载

/var/www/html 是共享网页的目录
共享服务网站的地方是:
httpd /var/www/html/xxx ==> ip/xxx 本机的ip挂载地址: 172.25.254.166/xxx

6.测试

在浏览器中输入:http://本机ip/rhel7.2,就可以看到镜像中的内容

7.修改本机yum源指向

打开/etc/yum/repos.d/yum.repo

[server]
name=rhel7.2
baseurl=file:///var/www/html/rhel7.2         修改yum源指向
gpgcheck=0

8.开机自动挂在iso

打开 /etc/rc.d/rc.local
在里面添加挂载命令

或者直接 echo “mount rhel-server-7.1-x86_64-dvd.iso /var/www/html/rhel7.1” >>/etc/rc.d/rc.local

:wq退出后记得给权限才能生效:
chmod +x /etc/rc.d/rc.local

9.第三方软件仓库的搭建

把所有的rpm软件包放到一个目录中,这个目录中只能存放rpm文件

createrepo -v /rpm存放目录      //在企业版7中-v参数可以省去
vim /etc/yum.repos.d/yum.repo    //**在这个文件原有内容的下面添加**  
[Software]
name=software
baseurl=file:///rpm存放目录            
gpgcheck=0
//createrepo 也要yum clean all  才能生效

如图所示为createrepo后出现的显示,扫面里面的rpm文件

  • 另外,如果想要在下载时,屏蔽掉一些不要的东西,可以在 /etc/yum.conf里面添加exclude=…
    比如不想要x86_64后缀的任何东西,不想要linuxqq.i386,可以设置

    //之后,即使去搜索软件包,也不会显示
    • 添加之前:
    • 添加之后:

client指向端

vim /etc/yum.repos.d/xxxx.repo      //仓库指向文件位置"
[xxxx]                  //自定义软件仓库名称
name=xxxx               //自定义软件仓库描述
baseurl=ftp://|http://|file://      //server配置的仓库位置
//比如要刚刚server配置的地方填写:
"baseurl=http://172.25.254.166/rhel7.2"
gpgcheck=0              //不检测gpgkey
                    //gpgkey表示软件的出品logo

yum clean all ##清空yum缓存识别新配置


yum命令

yum     install     softwarename    ##安装
        repolist            ##列出设定yum源信息
        remove      softwarename    ##卸载
        list        softwarename    ##查看软件源中是否有次软件
        list all            ##列出所有软件名称
        list installd           ##列出已经安装的软件名称
        list available          ##列出可以用yum安装的软件名称
        clean all           ##清空yum缓存
        search      softwareinfo    ##根据软件信息搜索软件名字
##yum search 时是在搜索数据库 repodate在就还是能搜索到的,但是安装时就不会出现了
        whatprovides    filename    ##在yum源中查找包含filename文件的软件包      
        update              ##更新软件
        history             ##查看系统软件改变历史
        reinstall   softwarename    ##重新安装
        info        softwarename    ##查看软件信息
"yum info ...
= : 安装过的
+ : 必选安装,默认会选择安装的
- : 在安装时将会被安装的,需要手动安装
但是要考虑各软件依赖关系,即使安装也不一定能用。
"
        groups list         ##查看软件组信息
        groups info softwaregroup   ##查看软件组内包含的软件
        groups install  softwaregroup   ##安装组件
        groups remove   softwaregroup   ##卸载组件

//yum用来寻找安装包

//查看yum历史记录


安装包的拆解

rpm2cpio         xxxx.rpm  |  cpio   -id

在管理文件时不小心把那个配置文件年删除了,那么可以拆解相应软件包,将少的东西直接用拆解下来对应的文件添加上去就恢复了。


如果将/usr/bin/wps删除了,可以直接将这个wps放到/usr/bin/下 完成恢复
如果觉得有问题,不妨 vimdiff wps(拆解出来的) /usr/bin/wps 对比一下

//两个文件一模一样,可以替换


附上自动配置yum源的脚本


发布了55 篇原创文章 · 获赞 38 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/mon_star/article/details/76339414