Linux包管理指南:从tar到yum

发布时间:2026/6/30 22:54:46

Linux包管理指南:从tar到yum 目录打包压缩解压tar打包 文件后缀.tar常用选项压缩解压打包过程中压缩借助tar解压缩的同时解包软件包管理软件包格式rpm包下载的途径rpm包命名规则常用选项yum/dnf包管理配置本地仓库配置网络软件包仓库配置yum管理包命令管理软件包组yum日志文件源码包/二进制包实践源码包安装nginx打包压缩解压tar打包 文件后缀.tar格式tar 参数 压缩包名 文件/目录名#将/etc/passwd和/etc/group和/etc/gshadow和/etc/shadow文件打包为/opt/etc.tar文件 tar -cf etc.tar /etc/passwd /etc/group /etc/shadow /etc/gshadowtar --help | less常用选项-c 创建文件-f 指定包文件的路径-v 显示详细信息-C 指定解包的路径组合-cvf 创建归档文件-xvf 解压归档文件-czvf gzip压缩-xzvf gzip解压-tvf 查看归档内容-rvf 添加新文件-file 查看文件类型压缩压缩包的格式有多种tar将需要的文件内容打包起来压缩成压缩包的形式后再解压整个过程是先打包——压缩——解压gzip、bzip2、xz、zip //最明显的区别在于压缩文件后的大小不一样-k 保留源文件解压gunzip、unbizp2、unxz、unzip打包过程中压缩借助tartar -cf 打包-z //gzip压缩 -czf-j //bzip2 -cif-J //xz压缩 -cjf把/etc目录打包并且压缩生成后的文件路径/opt/etc-1.tar.gz [rootlab1 opt]# tar -czf /opt/etc-1.tar.gz /etc 创建一个名为/root/backup-YYYY-MM-DD.tar.bz2格式的tar包用来压缩/usr/local目录进行备份 [rootlab1 opt]# tar -cjf /root/backup-$(date %F).tar.bz2 /usr/local解压缩的同时解包-xf也可与-C配合tar -xf etc-1.tar.xz //解压当前文件夹 tar -xf archive.tar -C /path/to/dir# 解压 tar.gz tar -xzf file.tar.gz # 解压 tar.bz2 tar -xjf file.tar.bz2 # 解压 tar.xz tar -xJf file.tar.xz软件包管理软件包管理系统是Linux 系统中用于安装、更新、删除和维护软件的工具。它通过管理软件包及其依赖关系确保系统的稳定性和一致性。不同的 Linux 发行版使用不同的包管理器主要分为两大阵营基于.deb的 Debian 系和基于.rpm的 Red Hat 系。软件包格式RHEL软件包格式rpm中包含 rpm、yum/dnfrpm和yum区别是rpm有依赖要下载B没有A的依赖执行出来的命令会报错yum没有依赖DEBIAN(bebian)软件包格式deb 包含dpkg、apt/*了解window软件包格式是msi平常下载软件时都会看见 .exe后缀的文件它是一个可执行的文件现在的windows系统上exe已经成为了主流的软件包安装方式无论是msi还是exe对于我们来说都是点击下一步下一步下一步。、*/rpm是一个软件包的格式也是软件包管理工具rpmRPM Package Manager红帽包管理器rpm是由红帽开发的现在rpm是开源技术rpm包下载的途径1.红帽官网access.redhat.com2.国内的各大开源镜像站开源镜像站国内的产商或者学校 将国外的这些软件拉取到国内自己的站点阿里云开源镜像站、华为云开源镜像站、腾讯云开源镜像站清华开源镜像站、中科大开源镜像站3.第三方软件包网站rpmfind.net4.操作系统自带的应用商店rpm包命名规则vsftpd-3.0.5-5.el9.x86_64.rpm —rpm包文件vsftpd包名字3.0.5软件包的版本号5软件包修订次数el9el enterprise linux 9 在什么平台上进行编译开发的x86_64软件包支持的架构x86amd/intel aarch支持arm架构_64支持的操作系统位数。现在7之后的版本只有64位32位操作系统最大只支持4GB内存64位操作系统支持超过4GB内存.rpm包文件的后缀常用选项rpm --help-qa 已安装包列表-qi 软件包详细信息-ql 软件包包含的文件-q 软件包是否已经安装-qc 显示包的配置文件-qd 包的帮助文档文件-qf文件来自哪个包组合选项-ivh //-i 安装 -v显示详细信息 -h安装进度条-evh //-e 卸载-Uvh // -U 更新操作系统已经安装的软件包版本没有安装软件包-U相当于-i 安装rpm -ivh --reinstall //重新安装(重新安装不会覆盖原来安装的rpm)yum/dnf包管理dnf是yum命令工具的Plus改进的版本在yum工具上优化了代码使得执行的效率更高占用内存更小。yum引入了仓库的概念用于解决rpm包之间的依赖关系。路径/etc/yum.repos.d后缀要是.repos从RHEL8版本开始没有了yum工具在RHEL8执行yum命令仅仅只是dnf的快捷方式配置本地仓库配置RHEL8之后需要配置BaseOS和AppStream仓库文件实现本地软件仓库进入/etc/yum.repos.d vim dvd.repo[BaseOS] //仓库名字 nameBaseOS //仓库的描述信息 baseurlfile:///media/BaseOS/ #仓库repodate的上一级目录仓库地址 #file本地仓库 http https ftp是网络仓库 gpgcheck1 //安装仓库软件包是否被校验1 校验0不校验是1后面必须要加上gpgkey gpgkeyfile:////etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release #指定密钥文件的路径 #file 密钥文件在本地http、https、ftp密钥文件在网络上 enable1 //是否开启这个仓库1开启0关闭 [AppStream] nameAppStream baseurlfile:///iso/AppStream/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release enable1验证 yum clean all //清理系统缓存数据 yum makecache //生成缓存检验仓库配置是否有问题有问题执行这一步命令会出错 #效果 [rootrhel9 yum.repos.d]# yum clean all Updating Subscription Management repositories. Unable to read consumer identity This system is not registered with an entitlement server. You can use subscription-manager to register. 0 files removed [rootrhel9 yum.repos.d]# yum makecache Updating Subscription Management repositories. Unable to read consumer identity This system is not registered with an entitlement server. You can use subscription-manager to register. baseos123 136 MB/s | 2.0 MB 00:00 app123 228 MB/s | 6.5 MB 00:00 Metadata cache created.网络软件包仓库配置repoddate目录不在本机上在其他主机上需要通过网络才能访问到repodate的上一级目录本质区别是baseurl写法不同[baseos] namebaseos123 baseurlhttp://lab.example.com/BaseOS gpgcheck0 enabled1 [appstream] nameapp123 baseurlhttp://lab.example.com/AppStream gpgcheck0 enabled1yum管理包命令yum install httpd //安装 yum remove httpd //卸载 yum update httpd //更新 后面不接内容更新的是所有软件包版本如果接 更新指定包版本 yum reinstall httpd //重装 #查询 yum list //列出仓库的所有包(安装过的和没有安装过的) yum info httpd //查看包的详细信息 yum provides */vsftpd //#根据文件搜索来源包是什么(和rpm -qf区别在于yum provides 找的文件可以不存在rpm -qf 找的文件必须存在) yum search network //根据关键字搜索包名字 #管理仓库 yum repolist //列出已经启用的仓库 yum repolist all //列出所有状态的仓库管理软件包组包组一系列软件包的组合在Linux系统上实现虚拟化能力的话我需要安装virt-manager、qume-img、qemuxxx很多个软件包为了方便管理于是将相同功能的一些软件包集成为了一个包组yum grouplist //列出包组 yum groupinstall Development Tools //安装包组 yum groupremove Development Tools //卸载包组yum日志文件/var/log/dnf.log记录了yum命令的相关操作/var/log/dnf.rpm.log记录了包的安装情况[rootrhel9 log]# ll /var/log/ | grep -i dnf | grep -v dnf.librepo.log -rw-r--r--. 1 root root 426492 Mar 21 16:08 dnf.log -rw-r--r--. 1 root root 27357 Mar 21 16:08 dnf.rpm.log源码包/二进制包安装软件包是为了得到软件和程序让系统拥有对应的功能软件包有很多种发展的先后顺序源码包看到的全部是源代码文件要自行编译才能得到二进制文件二进制包已经编译好的文件重新打包直接解压缩等到二进制文件需要手动将二进制文件放入/bin/ /usr/bin/sbin 才能使用命令执行rpm开发者使用源码包进行二进制开直接使用yum install 或rpm -i 去安装自动会对应配置文件和二进制文件存放到指定目录下实践源码包安装nginxnginx是一个web服务软件部署网站的、反向代理、负载均衡、邮件代理服务器https://nginx.org/源码包安装顺序1. 预配置指定软件的安装路径以及需要什么功能2. 编译基于源码和指定的上面的预配置做编译的操作得到文件3. 编译安装将编译得到的文件放到预配置对应的目录下#下载nginx [rootrhel9 ~]# wget https://nginx.org/download/nginx-1.29.6.tar.gz [rootrhel9 ~]# tar -xf nginx-1.29.6.tar.gz //解压锁源码包 [rootrhel9 ~]# yum install gcc make pcre pcre-devel zlib zlib-devel -y //安装依赖软件 [rootrhel9 nginx-1.29.6]# ./configure --prefix/usr/local/nginx //进行配置 [rootrhel9 nginx-1.29.6]# make //编译 #编译安装 [rootrhel9 nginx-1.29.6]# make install [rootrhel9 nginx-1.29.6]# ll /usr/local/nginx/ total 4 drwxr-xr-x 2 root root 4096 Mar 21 17:09 conf drwxr-xr-x 2 root root 40 Mar 21 17:09 html drwxr-xr-x 2 root root 6 Mar 21 17:09 logs drwxr-xr-x 2 root root 19 Mar 21 17:09 sbin--森brigh

相关新闻