Linux 软件包管理

时间:2023-02-14 15:32:30

01、RPM包命名规则  =>  [包名] - [版本号] - [软件发布的次数] . [适合的Linux平台] . [适合软件平台] . [rpm包扩展名]

  例如:httpd-2.2.15-15.e16.centos.1.i686.rpm(包全名)

       httpd:软件包名              2.2.15:软件版本

       15:软件发布的次数  e16.centos:适合的Linux平台

       i686:适合的软件平台 rpm:rpm包扩展名

  RPM包依赖性:a -> b -> c -> d   装 a 包先装 b 包,装 b 先装 c 包,装 c 包先装 d 包;依赖性很麻烦。

02、RPM包管理 =>  yum在线包管理

03、包全名  =>  操作的包是没有安装的软件包时,使用包全名。而且要注意路径

  包名  =>  操作已经安装的软件包时,使用包名是搜索 /var/lib/rpm 中的数据库

04、RPM软件包安装  => rpm -ivh  包全名

    -i(install):安装

    -v(verbose):显示详细信息

    -h(hash):显示进度

      libdb_cxx-4.7.so库文件依赖,只需要去http://www.rpmfind.net搜索对应的安装文件安装即可。

05、RPM包升级  =>  rpm  -Uvh  包全名

    -U(upgrade):升级

06、包卸载  => rpm -e  包名(体现全报名和包名区别)

    -e(erase):卸载

07、RPM 包查询  => rpm  -q 包名 (用 rpm 查询)

    -q(query):查询

    -qa(all):所有

    -qi(information):查询已安装过软件包的信息

    -qip(package):查询未安装过软件包的信息(需要包全名,用处不多)

    例如:rpm -qa |grep httpd  => 查询所有关于httpd的安装包

08、查询包软件安装位置  =>  rpm -ql  包名

    -ql(list):列表

    -qlp:查询未安装包信息

09、查询系统文件属于哪个RPM包  =>  rpm -qf 系统文件名

    -f(file):反向查询系统文件属于哪个软件包

10、查询软件包的依赖性  =>  rpm -qR  包名

    -qR(requires):查询软件包的依赖性

    -qRp:查询为安装包的信息 

11、RPM包校验  =>  rpm  -V  已安装的文件

12、验证内容中的8个信息的具体内容下:

    S:文件大小是否改变

    M:文件的类型或者文件的权限(rwx)是否被改变

    5:文件MD5校验和是否改变(可以看成是文件内容是否改变)

    D:设备的中,从代码是都改变

    L:文件路径是都被改变

    U:文件的属主(所有者)是否改变

    G:文件的属组是否改变

    T:文件的修改时间是够改变

  文件类型:

    c(config file):配置文件

    d(documentation):普通文件

    g(ghost file):“鬼”文件,很少见,就是文件不应该被这个RPM包包含

    l(license file):授权文件

    r(read file):描述文件

13、RPM包中文件提取  =>  rpm2cpio  包全名  |\  cpio -idv. 文件绝对路径(\:代表一行没有输完换行;. 把指定的文件提取到当前文件下)

    rpm2cpio:将rpm包转换为cpio格式的命令

    cpio :是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件

      cpio  选项 < [ 文件 | 设备 ]

         -i:copy-in模式,。还原

        -d:还原时自动化新建目录

        -v:显示还原过程

    Linux 软件包管理

三:  防火墙配置 

01: 打开服务器监听端口为外部可访问  已 80 为例 ( 这个端口和上面配置的端口保持一致, 默认为 8080 )

02: 设置端口对外访问  =>  /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

03: 保存设置 => service iptables save

04: 重启防火墙 => service iptables restart