您的位置:首页 > 运维架构 > Linux

[Linux运维基础]全家桶详解!Linux中RPM包、wget下载、YUM安装、tar包、zip等包管理方式区别与参数详解,附wget下载源码包编译安装方法

2020-07-06 23:24 477 查看

文章目录

  • 二、wget
  • 三、YUM
  • 四、zip
  • 想要将Linux作为主力系统,或者从事Linux相关的工作(系统运维)等,包是一道绕不过的坎儿。Linux中提供了全面而强大的包与包管理,本文旨在捋清Linux包后缀区别、包管理、包下载使用。

    一、RPM、tar、gz

    在Linux中,rpm不仅是一种包的管理工具,也泛指包的后缀,所以就把tar包和gz包一并放在这里讲。

    1、rpm包格式

    从内容上来说,Linux的包可以分为两类,一类是源码包,即未经过编译的包,如后缀.tar,.gz,.zip,.rar;一类是二进制包,可以直接安装使用,而后缀为.rpm就是属于二进制包(通常而言,可以通过后缀判断是否为二进制或者源码包,真正区分是基于软件包里面的文件来判断)。

    RPM包命名格式

    • name-version-noarch.rpm 如:
    tzdata-java-2020a-1.el7.noarch
    • name-version-arch.src.rpm 如:
    libpng-1.5.13-7.el7_2.x86_64

    RPM包命名格式解析

    • name:软件名称,例如
      tzdata-java-2020a
      ,
      libpng
    • version:版本号,
      1.5.13-7
      分别是“主版本号、次版本号、修正好”,其中-7表示发布版本号,意味着该RPM包是第几次编译生成的。
    • arch:表示适用的硬件平台,RPM包支持
      i386、i586、i686、sparc、alpha
    • noarch:表示软件包可以在任意平台上安装
    • el7:软件包发行版本,el7表示该软件包适用于RHEL6.X | CentOS7.X
    • .rpm:已经编译好的二进制包,可以直接适用rpm命令安装,.src.rpm:源码包,编译生成.rpm后方可安装

    2、rpm包管理

    RPM工具命令参数详解

    • -a,-all:查询所有已安装软件包。

    • -q,query:表示询问用户,输出信息。

    • -l, -list: 打印软件包的列表。

    • -f, -file: file 查询包含file的软件包。

    • -i,–info: 显示软件包信息,包括名称,版本、描述。

    • -v,–verbose:打印输出详细信息。

    • -U, --upgrade: 升级RPM软件包。

    • -h,–hash: 软件安装,可以打印安装进度条。

    • –last:列出软件包时,以安装时间排序,最新的在上面。

    • -e, --erase: 卸载RPM软件包。

    • –force:表示强制,强制安装或者卸载。

    • –nodeps: RPM包不依赖。

    • –provides:列出软件包提供的特性。

    • -R,–requires:列出软件包依赖的其他软件包。

    • –scripts:列出软件包自定义的小程序。

    常用:i:软件信息,v:输出详细信息,h:安装包,U:升级 ,–nodeps:不检查依赖,q:查询,l:指定路径,e:卸载

    RPM工具命令格式

    安装:

    rpm {-i|--install} [install-options] PACKAGE_FILE ..
    [root@YiYu test]# rpm -ivh PACKAGE_FILE ..

    升级:

    rpm {-U|--upgrade} [install-options] PACKAGE_FILE ..
    [root@YiYu test]# rpm -Uvh PACKAGE_NAME

    卸载:

    rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts]   [--test] PACKAGE_NAME ...
    [root@YiYu test]# rpm -e --nodeps PACKAGE_NAME

    查询:

    rpm {-q|--query} [select-options] [query-options]
    [root@YiYu test]# rpm -qa | grep PACKAGE_NAME

    3、tar包管理参数

    • -c :创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
    • -r :把要存档的文件追加到档案文件的未尾。例如用户已经做好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。
    • -t :列出档案文件的内容,查看已经备份了哪些文件。
    • -u :更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。
    • -x :从档案文件中释放文件。
    • -b :该选项是为磁带机设定的,其后跟一数字,用来说明区块的大小,系统预设值为20(20×512 bytes)。
    • -f :指定档案文件名或设备名,这个选项通常是必选的。
    • -k :保存已经存在的文件。例如把某个文件还原,在还原的过程中遇到相同的文件,不会进行覆盖。
    • -m :在还原文件时,把所有文件的修改时间设定为现在。
    • -M :创建多卷的档案文件,以便在几个磁盘中存放。
    • -v :详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。
    • -w :每一步都要求确认。
    • -z :用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。

    常用命令:c:打包,d:比较与之前文件的不同之处,t:列出包内的目录,x:解压,z:带有gz的属性的压缩软件包,f:指定存档或设备(接文件路径),v:显示处理的详情,–delete:从存档中删除,r:追加到tar包中

    解包:

    [root@YiYu test]# tar -zxvf TAR_NAME

    打包:

    [root@YiYu test]# tar -cvf FILE_NAME

    打包+压缩:

    [root@YiYu test]#  tar -czvf FILE_NAME

    二、wget

    1、wget参数

    wget是Linux提供的在线下载工具,可以理解为Windows中的迅雷,一般是用作源码包的下载,完成后还需要用户编译安装。

    方法:

    wget [选项]... :列出rz命令由哪个软件包提供。
    
  • yum groupuplist: 查询可以用groupinstall安装的组名称。
  • yum groupinstall “Chinese Support”:安装中文支持。
  • yum groupremove Chinese Support" :删除程序组Chinese Support。
  • yum deplist lrzsz: 查看程序lrzsz依赖情况。
  • yum clean packages:清除缓存目录下的软件包
  • yum clean headers:清除缓存目录下的headers
  • yum clean all:清除缓存目录下的软件包和headers
  • 常用命令:search:查找搜索,remove:卸载,info:显示信息,update:内核升级或软件更新,update package:更新包,check update:检查可更新的包 ,clean all:清除缓存

    四、zip

    Linux zip 命令用于压缩文件。zip 是个使用广泛的压缩程序,压缩后的文件后缀名为 .zip。

    1、语法

    zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时间>][-<压缩效率>][压缩文件][文件...][-i <范本样式>][-x <范本样式>]

    2、部分参数

    • -D: 压缩文件内不建立目录名称。
    • -f :更新现有的文件。
    • -F: 尝试修复已损坏的压缩文件。
    • -q :不显示指令执行过程。
    • -r :递归处理,将指定目录下的所有文件和子目录一并处理。
    • -S: 包含系统和隐藏文件。
    • -v :显示指令执行过程或显示版本信息。
    • -V :保存VMS操作系统的文件属性。
    • -w :在文件名称里假如版本编号,本参数仅在VMS操作系统下有效。
    • -x:<范本样式> 压缩时排除符合条件的文件。
    • -X :不保存额外的文件属性。
    • -y :直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。
    • -z :替压缩文件加上注释。
    • -$ :保存第一个被压缩文件所在磁盘的卷册名称。
    • -<压缩效率> :压缩效率是一个介于1-9的数值。
    • …(以上是常用参数,全部参数见参考链接4)

    3、实例

    将 /home/html/ 这个目录下所有文件和文件夹打包为当前目录下的 html.zip:

    [root@YiYu ~]# zip -q -r html.zip /home/html

    从压缩文件 cp.zip 中删除文件 a.c

    [root@YiYu ~]# zip -dv cp.zip a.c

    参考链接:RPM包命令详解" target=_blank>... [/code]

    部分参数:

    • -V, --version 显示 Wget 的版本信息并退出。
    • -h, --help 打印此帮助。
    • -b, --background 启动后转入后台。
    • -e, --execute=COMMAND 运行一个“.wgetrc”风格的命令。
    • (一般直接使用wget+URL即可。更详细的见参考链接3)

    2、wget下载源码包后编译安装

    (1)进入目录

    [root@YiYu local]# pwd
    /usr/local

    (2)下载.tar.gz包

    [root@YiYu test]# wget url

    (3)解压包

    [root@YiYu test]#tar -zxvf TAR_NAME

    (4)进入包目录

    [root@YiYu test]# cd ./TAR_FILE

    (5)执行./configure预编译(源码包内都会有),需要GCC编译器,没有则使用yum安装

    [root@YiYu test]#yum -y install gcc
    [root@YiYu test]#yum -y install gcc-c++
    
    [root@YiYu test]# ./configure

    (6)使用make编译(包目录下)

    [root@YiYu test]# make

    (7)使用make install安装(包目录下)

    [root@YiYu test]# make install

    三、YUM

    YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

    1、YUM工作原理

    服务器(yum源)
    在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。
    客户端
    如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。

    2、 YUM参数大全

    • yum install lrzsz:安装lrzsz软件包。
    • yum search: YUM搜索软件包。
    • yum list lrzsz:显示指定程序包安装情况lrzsz.
    • yum list:显示所有已安装及可安装的软件包。
    • yum remove lrzsz:删除程序包lrzsz。
    • yum erase lrzsz:删除程序包lrzsz.
    • yum update:内核升级或者软件更新。
    • yum update lrzsz:更新lrzsz软件。
    • yum checkupdate:检查可更新的程序。
    • yum info lrzsz:显示安装包信息lrzsz。
    • yum provides:列出软件包提供哪些文件。
    • yum provides */rz":列出rz命令由哪个软件包提供。
    • yum groupuplist: 查询可以用groupinstall安装的组名称。
    • yum groupinstall “Chinese Support”:安装中文支持。
    • yum groupremove Chinese Support" :删除程序组Chinese Support。
    • yum deplist lrzsz: 查看程序lrzsz依赖情况。
    • yum clean packages:清除缓存目录下的软件包
    • yum clean headers:清除缓存目录下的headers
    • yum clean all:清除缓存目录下的软件包和headers

    常用命令:search:查找搜索,remove:卸载,info:显示信息,update:内核升级或软件更新,update package:更新包,check update:检查可更新的包 ,clean all:清除缓存

    四、zip

    Linux zip 命令用于压缩文件。zip 是个使用广泛的压缩程序,压缩后的文件后缀名为 .zip。

    1、语法

    zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时间>][-<压缩效率>][压缩文件][文件...][-i <范本样式>][-x <范本样式>]

    2、部分参数

    • -D: 压缩文件内不建立目录名称。
    • -f :更新现有的文件。
    • -F: 尝试修复已损坏的压缩文件。
    • -q :不显示指令执行过程。
    • -r :递归处理,将指定目录下的所有文件和子目录一并处理。
    • -S: 包含系统和隐藏文件。
    • -v :显示指令执行过程或显示版本信息。
    • -V :保存VMS操作系统的文件属性。
    • -w :在文件名称里假如版本编号,本参数仅在VMS操作系统下有效。
    • -x:<范本样式> 压缩时排除符合条件的文件。
    • -X :不保存额外的文件属性。
    • -y :直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。
    • -z :替压缩文件加上注释。
    • -$ :保存第一个被压缩文件所在磁盘的卷册名称。
    • -<压缩效率> :压缩效率是一个介于1-9的数值。
    • …(以上是常用参数,全部参数见参考链接4)

    3、实例

    将 /home/html/ 这个目录下所有文件和文件夹打包为当前目录下的 html.zip:

    [root@YiYu ~]# zip -q -r html.zip /home/html

    从压缩文件 cp.zip 中删除文件 a.c

    [root@YiYu ~]# zip -dv cp.zip a.c

    [url=https://blog.51cto.com/8950428/2103427]参考链接:RPM包命令详解
    [url=https://www.geek-share.com/detail/2689416320.html]参考链接:linux Tar 命令参数详解
    参考链接:wget命令详解
    参考链接:Linux zip命令

    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: 
    相关文章推荐