Linux的软件安装

Linux的软件安装方式有三种:

        1、基于rpm的方式

        2、基于yum的方式

        3、基于makefile

基于rpm的安装方式

        rpm就类似于windows的添加删除程序,它是一个完整的软件包的管理工具,可以安装,卸载,还可以查询,rpm中有比较常用的几个参数:1、-i 表示安装 2、 -e 表示删除 ,3、 -q 表示查询

        rpm -qa –>表示查询系统中的所有的安装包,此时查询出来的内容非常多,可以通过管道|和grep来进行筛选

        rpm -qa | grep sudo–>表示筛选所有的sudo的安装文件

        [root@localhost ~]# rpm -qa | grep sudo

        sudo-1.8.6p7-20.el7.x86_64

        这个安装包的名称是有规律的

        sudo–>表示安装包的名称,这个名称用来做卸载,更新等操作

        1.8.6p7–>表示的是版本号

        -20.el7–>表示的更新次数

        x86_64–>针对的是64位的基于intel的cpu

通过 -e可以卸载一个软件

        rpm -e sudo

        通过rpm -i 就可以安装这个软件

        rpm -ivh xxxxx.rpm–>表示安装一个rpm的文件,i表示安装,v表示显示详细的安装信息。h表示显示进度

rpm的安装并不是自动帮助我们安装依赖,所有的依赖都需要手动安装,而且版本还有明确的规定。如果版本不兼容,就有可能导致软件不能使用,所以使用rpm安装,不建议在网络中下载,而是建议使用cdrom来安装,在服务器中,可以考虑将Packages拷贝到一个文件夹中,将来要安装的时候在这个文件夹中进行安装,这样的所有的版本依赖都是合理的。

后面会讲解yum,yum就等于一个自动的rpm,他会自动帮我们安装依赖包,yum需要网络,如果没有网络,我们可以创建自己的yum工厂,以光盘中的packages文件夹来创建。

rpm的查询

        rpm -qa –>查询所有的安装包

        rpm -qf –>查询某个命令属于哪个安装包

        [root@localhost Packages]# rpm -qf /usr/bin/vi

        vim-minimal-7.4.160-1.el7.x86_64

        表示vi这个命令的安装包是vim-minimal这个安装包

通过rpm -ql 软件名称 可以查询某个软件的安装文件的路径,注意linux中,任意一个软件都不会安装在一个位置,而是安装在多个位置,这些位置是有linux帮我确定的,一般来说会把可执行文件安装/usr/bin中。帮助文档会安装在/usr/share/man中,其他的依赖包,日志这些都会安装在相应的文件夹下

        [root@localhost Packages]# rpm -ql samba-client

        /usr/bin/cifsdd

        /usr/bin/dbwrap_tool

        /usr/bin/nmblookup

        /usr/bin/oLschema2ldif

        /usr/bin/regdiff

        /usr/bin/regpatch

        /usr/bin/regshell

        /usr/bin/regtree

        /usr/bin/rpcclient

        /usr/bin/samba-regedit

        /usr/bin/sharesec

        /usr/bin/smbcacls

        /usr/bin/smbclient

        /usr/bin/smbcquotas

        /usr/bin/smbget

        /usr/bin/smbprint

        /usr/bin/smbspool

        /usr/bin/smbtar

        /usr/bin/smbtree

        /usr/libexec/samba

        /usr/libexec/samba/cups_backend_smb

        /usr/share/man/man1/dbwrap_tool.1.gz

        /usr/share/man/man1/log2pcap.1.gz

        /usr/share/man/man1/nmblookup.1.gz

        /usr/share/man/man1/oLschema2ldif.1.gz

        /usr/share/man/man1/regdiff.1.gz

        /usr/share/man/man1/regpatch.1.gz

        /usr/share/man/man1/regshell.1.gz

        /usr/share/man/man1/regtree.1.gz

        /usr/share/man/man1/rpcclient.1.gz

        /usr/share/man/man1/sharesec.1.gz

        /usr/share/man/man1/smbcacls.1.gz

        /usr/share/man/man1/smbclient.1.gz

        /usr/share/man/man1/smbcquotas.1.gz

        /usr/share/man/man1/smbget.1.gz

        /usr/share/man/man1/smbtar.1.gz

        /usr/share/man/man1/smbtree.1.gz

        /usr/share/man/man5/smbgetrc.5.gz

        /usr/share/man/man8/cifsdd.8.gz

        /usr/share/man/man8/samba-regedit.8.gz

        /usr/share/man/man8/smbspool.8.gz

在实际的使用中,我在安装某个软件之前,可能就需要了解一下这个软件的安装包的位置,(此时还没有安装),可以通过rpm -qlp 来查询,-p表示package意味着是要查询软件的安装包(rpm文件)

        rpm -qlp samba-4.4.4-9.el7.x86_64.rpm##由于该安装包并没有安装在linux中,所以需要使用rpm的文件来查询

使用rpm -qi 软件名称 可以查询一个软件的功能

        [root@localhost Packages]# rpm -qi samba-client

        Name        : samba-client

        Epoch      :0

        Version    :4.4.4

        Release    :9.el7

        Architecture: x86_64

        Install Date: Tue10Apr201811:13:30 AM CST

        Group      : Applications/System

        Size        :1826831

        License    : GPLv3+and LGPLv3+

        Signature  : RSA/SHA256, Mon21Nov201604:38:35 AM CST, Key ID 24c6a8a7f4a80eb5

        Source RPM  : samba-4.4.4-9.el7.src.rpm

        Build Date  : Mon07Nov201606:31:03 PM CST

        Build Host  : worker1.bsys.centos.org

        Relocations : (not relocatable)

        Packager    : CentOS BuildSystem

        Vendor      : CentOS

        URL        : http://www.samba.org/

        Summary    : Samba client programs

        Description :

        The samba-client package provides some SMB/CIFS clients to complement

        the built-in SMB/CIFS filesysteminLinux. These clients allow access

        of SMB/CIFS shares and printing to SMB/CIFS printers.

同理 rpm -qip 软件包 这表示查询未安装的软件包的基本信息

        rpm -qip samba-client-4.4.4-9.el7.x86_64.rpm

使用-qd和-qc可以快速的查询出samba的帮助文档和配置文件的位置

rpm的常用安装选项是使用– –nodeps(表示不添加依赖直接安装,但是这样安装出来,90%都是无法使用的)  –excludedocs:安装的时候不安装文档  –replacepkgs:覆盖安装  –replacefiles:安装时覆盖文件

    原文作者:少帅yangjie
    原文地址: https://www.jianshu.com/p/3130fe613d19
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞