Linux学习笔记之软件安装管理

来源:互联网 发布:空中救援队 知乎 编辑:程序博客网 时间:2024/05/24 16:16

Linux学习笔记之软件安装管理

1.软件包分类    源码包        脚本安装包    二进制包(RPM包、系统默认包)    源码包的优点:        - 开源,如果有足够的能力可以修改源代码        - 可以自己选择所需的功能        - 软件是编译安装,所以更加适合自己的系统,更加稳定,效率也越高        - 卸载方便    源码包的缺点:        - 安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误        - 编译过程时间较长,安装比二进制安装时间长        - 因为是编译安装,安装过程中一旦报错新手很难解决    PRM包        二进制包的优点:            - 包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载            - 安装速度比源码包安装快得多        二进制包缺点:            - 经过编译,不再可以看到源代码            - 功能选择不如源码包灵活            - 依赖性(非常麻烦    脚本安装包        所谓的脚本安装包,就是把复杂的软件包安装过程写成了程序脚本,初学者可以执行程序脚本实现一键安装。但实际安装的还是源码包和二进制包        优点:安装简单、快捷        缺点:完全丧失了自定义性

RPM包的来源    - RPM包的来源        RPM包在光盘中            1、先在虚拟机中设置光盘的iso镜像            mkdir /mnt/cdrom            mount /dev/sr0 /mnt/cdrom            cd /mnt/cdrom            cd Packages/    - RPM包命名原则        http-2.2.15-15.el6.centos.1.i686.rpm            - httpd 软件包            - 2.2.15 软件版本            - 15 软件发布的次数            - el6.centos 适合的Linux平台            - i686 适合的硬件平台            - rpm rpm包扩展名    - RPM包依赖性        - 树形依赖: a->b->c        - 环形依赖: a->b->c->a        - 模型依赖: 模块依赖,查询网站:www.rpmfind.net     包全名、包名的区别        - 包全名:操作的包是没有安装的软件包时,使用包全名。包括: 路径/包名.rpm        - 包名:操作已经安装的软件包时,使用包名,是搜索/var/lib/rpm/中的数据库    - RPM命令规则        rpm -ivh 包名/包全名     //安装命令            -i 安装            -v 显示详细信息            -h 显示进度            --nodeps 不检测依赖性,实际安装中,不允许使用          例如:              rpm -ivh httpd      //安装apache        rpm -Uvh 包全名          选项:              -U      //升级          rpm -e 包名        //rpm准备了这个卸载命令的原因是,我们安装时根本不知道这个包装了在哪里(要知道linux下的安装的软件的文件散布多个地方的,很难一一找),而rpm知道,所以干脆就为我们准备了这条便利的命令。        3) window下卸载软件,往往容易留很多垃圾数据难以除完,例如注册表等等。而linux中不会出现这个问题,只要把软件的安装目录所有都删除掉,就不会有残留。        rpm -q 包名   //查询包是否安装            -q  //查询        rpm -qa //查询所有已经安装的RPM包            -a  //所有        rpm -qi 包名            -i  //查询软件信息            -p  //查询未安装包信息        rpm -ql 包名            -l //列表            -p //查询未安装包的信息        rpm -qf 系统文件名            -f  //查询系统文件属于那个软件包        RPM包默认安装位置:            /ect/   //配置文件安装目录            /usr/bin/   //可执行的命令安装目录            /usr/lib/   //程序所使用的函数库保存位置            /usr/share/doc/     //基本的软件使用手册保存位置            /usr/share/man/     //帮助文件保存位置        rpm -V 包名       //检验文件类型            c   //配置文件            d   //普通文档            g   //ghost file            L   //授权文件            r   //描述文件        rpm2cpio 包全名 | cpio -idv .文件绝对路径        - rpm2cpio  //将rpm包转换cpio格式的命令        - cpio  //是一个标准工具,它用于创建软件档案和从档案文件中提取文件         系统文件丢失的处理方法:            rpm -qf /bin/ls //查询ls命令属于哪个软件包            mv /bin/ls/tmp  //造成ls命令误删除假象            rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls     //提取RPM包中ls命令道当前目录的/bin/ls下            cp /root/bin/ls /bin/   //把ls命令复制到/bin/目录,修复丢失文件

    - Yum在线安装:yum源文件        1、yum的优点:将所有软件包放到官方服务器上,当进行yum在线安装时,可以自动解决依赖性问题。(rpm缺点:安装过程中,rpm包依赖性太强)        2、redhat的yum在线安装需要付费,centOS不需要。        3、在【/etc/yum.repos.d/】目录中,默认有4个yum源文件,其中【CentOS-Base.repo】是基本yum源文件,如果我们能上网,那它是默认生效的,而其他的都是默认不生效的。        4、[base]:名字可以随便起。        5、name:名字也是随便起。        6、mirrorlist和baseurl一个是主站点,一个是辅助站点,这两个有一个就行。可以找一个163或清华大学的yum源更换。        7、enabled:默认最后一个容器不生效,其他容器都生效。        8、gpgcheck:一般都要开启,开启后安装时会验证rpm包是否是官方的,以保证系统安全。        9、gpgkey:默认系统安装后,在目录【/etc/pki/rpm-gpg】下都会存在数字证书。注:前面的【file://】表示文件协议,后面的【/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6】是数字证书的位置。    - 光盘yum云搭建        - 挂载光盘         mkdir /mnt/cdrom   //建立挂载点         mount /dev/cdrom /mnt/cdrom    //挂载光盘        - 使网络yum源失效         cd /etc/yum.repos.d/   //进入yum源目录         mv CentOS-Base.repo CentOS-Base.repo.bak   //修改yum源文件后缀名,使其失效        - 使光盘yum源生效         vim CentOS-Media.repo         [c6-media]         name=CentOS-$releasever - Media         baseurl=file:///mnt/cdrom/   -->将baseurl设置为实际光盘挂载地址(另外两个要注释掉,否则会因为找不到光盘而报错。【#】注释时,必须写在行开头)         # file:///media/cdrom/         # file:///media/cdrecorder/         gpgcheck=1         enabled=1  -->将enabled设置为1,使这个yum源配置文件生效         gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6         编辑后保存退出即可。    常用yum命令        1.查询            yum list    //查询所有可用软件包列表            yum search 关键词  //搜索服务器上所有和关键词相关的包         2.安装            yum -y install 包名            选项:                install //安装                -y      //自动回答yes            yum -y install gcc         3.升级            yum -y update 包名            选项:                update  //升级                -y  //自动回答yes        4.卸载            yum -y remove 包名            选项:                remove  //卸载                -y  //自动回答yes    YUM软件组管理命令        yum grouplist   //列出所有可用的软件组列表        yum groupinstall 软件组名   //安装指定软件组,组名可以由grouplist查询出来        yum groupremove 软件组名    //卸载指定软件组
0 0