您的当前位置:首页>新品 > 正文

天天热头条丨Linux中软件包的类型及使用方法(上)

来源:CSDN 时间:2023-03-03 11:07:26

文章目录


(资料图)

一、Linux中软件包的类型二、软件包的名称结构三、rpm 命令管理软件包四、本地软件仓库的搭建五、部署共享型软件仓库六、dnf 的使用方法七、下载安装包八、第三方软件共享仓库的搭建

一、Linux中软件包的类型

DEB适用于   UBlinux   DEBlinuxRPM适用于   redhat   centOS   fadorabz2 | gz | xz压缩包           需要源码安装需要编译           绿色软件直接可用           ntfs-3_ntfsprogs-2017.3.23.tgz需要编译 “configure”           Firefox-latest-x86_64.tar.bz2绿色

绿色软件如何直接可用:tar jxf Firefox-latest-x86_64.tar.bz2解压 会生成 firefox目录,进入目录会有 firefox脚本,打开可直接运行软件

如何让用 configure 编译:tar zxf ntfs-3_ntfsprogs-2017.3.23.tgz会生成 ntfs-3_ntfsprogs-2017.3.23目录,在目录中有 README文件,写明了软件的安装方式 在该目录下先 ./configure执行对环境的检测 再 make,再 make install,软件就安装好了 如果需要卸载用 make uninstall,软件就卸载了

二、软件包的名称结构

dhcp-server-4.3.6-40.el8.x86_64.rpm--------------- | --------- | ---- | ------- | ----

软件名称软件版本软件的授权协版本软件架构软件类型后缀

wget http://172.25.254.250/rhel8.2…在某个网站下载安装包

三、rpm 命令管理软件包

rpm -ivh安装参数组合 install verbose hash

rpm -q查询 rpm -a所有,-qa查询所有安装了的软件

rpm -f文件

rpm -p软件包

rpm -l软件安装文件列表

rpm -e卸载

rpm -c配置文件

rpm -d说明

rpm --info软件信息

rpm --force强制

rpm --nodeps忽略依赖性

rpm --script查询软件在安装或卸载过程中的运行脚本

rpm -Kv检测软件md5校验码

rpm -V检测已安装软件在系统中的文件被修改信息

四、本地软件仓库的搭建

下载软件:进入浏览器打开下载地址进行下载

在安装过程中有可能出现两个软件相互依赖等问题 rpm 不能解决依赖关系,如果需要软件在安装过程中自动解决依赖关系,需要搭建系统软件仓库

yum 和 dnf 都能执行,效果一样

如果系统有网:登陆阿里云 ==> 开发者工具 ==> 镜像站 ==> 系统centos ==> 找到CentOS 8 ==> 下载文件 目前阿里云镜像站还在更新,敬请期待 文件中的内容也都是网站,只有有网的时候才能用

如果没有网:使用下载的镜像搭建本地软件仓库

查看系统版本 hostnamectl需要配套

在根下新建一个目录 mkdir /glass再把下载的镜像挂载在该目录下 mount /iso/rhel-8.2-x86_64-dvd.iso /glass/

进入 cd /glass/在查看 ls,就能看到镜像里的东西了 其中有 AppStream(应用软件)和 BaseOS(系统的基础组件)

要告诉系统我们挂载了镜像,必须在该目录下写文件 cd /etc/yum.repos.d/,文件名后必须以 repo 结尾 vim kaikai.repo,编辑文件内容为: 其中: gpgcheck=1 表示只能安装系统认证的软件,别的软件不能装,有安全保证 gpgcheck=0 表示所有软件都能装,gpgcheck 是一个授权标识 对文件保存退出即可 命令 dnf repolist可以看到仓库 id 和仓库名 命令 curl file:///glass/AppStream查看地址是否能访问,能访问就不报错 (注意看在目录中有没有其他 repo 类型的文件,可能会影响软件仓库的搭建)

命令dnf clean all把之前读取过的信息都清掉,清除的是 /var/cache/dnf/目录里面的部分东西 然后就可以直接安装了! 比如要下载 gcc 编译器,用命令 dnf install gcc安装 如果要卸载,用命令 dnf remove gcc-8.3.1-5.1.el8.x86_64

开机启动挂载镜像:虽然手动挂载成功了,但重启系统后挂载的东西就消失了我们需要开机的时候自动执行挂载命令

编辑文件 vim /etc/rc.d/rc.local在文件中书写指令 mount /iso/rhel-8.2-x86_64-dvd.iso /glass/命令 sh /etc/rc.d/rc.local查看文件写的是否正确再给文件命令一个可执行权限 chmod +x /etc/rc.d/rc.local再重启就还会有镜像的挂载, df查看挂载情况

五、部署共享型软件仓库

怎样在持有镜像的主机上把镜像通过网页的形式共享出去?

先搭建好本地源,上部分有详细说明安装软件 dnf install httpd -y软件用于共享文件,提供超文本传输协议关掉火墙 systemctl disable --now firewalld打开服务 systemctl enable --now httpd此时在网页中就能访问本机 192.168.1.50只是共享了本机 /var/www/html/目录下的文件 建立目录 mkdir /var/www/html/sharefile卸掉原来的挂载 umount /glass再挂载到共享目录下 mount /iso/rhel-8.2-x86_64-dvd.iso /var/www/html/sharefile此时在网页中就能访问本机镜像目录 192.168.1.50/sharefile/指定软件仓库到本机,进入目录写文件 cd /etc/yum.repos.d/,文件名后必须以 repo 结尾 vim kaikai.repo,编辑文件内容为: 保存退出 此时所有在该网段下的人都可以安装镜像中的所有软件!开机启动挂载镜像: 编辑文件 vim /etc/rc.d.rc.local在文件中书写指令 mount /iso/rhel-8.2-x86_64-dvd.iso /var/www/html/sharefile再给文件命令一个可执行权限 chmod +x /etc/rc.d.rc.local再重启就还会有镜像的挂载只要该主机开机,网段下的所有主机就都能用这个镜像

六、dnf 的使用方法

dnf repolist列出仓库信息 dnf clean all清除系统中已经加载的仓库缓存信息

dnf list all列出所有软件 dnf list all | wc -l统计所有软件个数 dnf list available列出未安装软件

dnf list installed列出已安装软件

dnf install dhcp-server安装dhcp软件 dnf remove dhcp-server卸载软件

dnf reinstall dhcp-server重新安装

dnf search web搜索web软件的相关信息 dnf whatprovides /bin/ls搜索包含该文件的软件包 dnf historydnf 执行历史 dnf history info 10 dnf执行历史的第10条详细信息

dnf info dhcp-server查看软件的详细信息 软件组:有的功能是多个软件完成的,就会有软件组 dnf group list列出软件组

dnf group list --installed列出已安装软件组

dnf group list --available列出未安装软件组

dnf group list --hidden列出隐藏软件组 dnf group install "Virtualization Tools"安装(虚拟化)软件组 dnf group info GNOME查看(图形)软件组信息

七、下载安装包

工具的下载:dnf whatprovides */yumdownloader找这个功能在哪儿 dnf install yum-utils-4.0.12-3.el8.noarch下载这个工具,有这个工具才能使用 yumdownloader yumdownloader 工具的作用是下载安装包到本机指定位置

命令的使用:yumdownloader httpd下载仓库中指定软件 httpd 的安装包到当前目录 yumdownloader httpd --destdir=/mnt下载仓库中指定软件的安装包到指定 /mnt 目录 yumdownloader httpd --destdir=/mnt --resolve下载仓库中指定软件安装包和软件依赖性到指定 /mnt 目录

八、第三方软件共享仓库的搭建

软件仓库只能管理 rpm 格式的软件建立第三方软件共享仓库为了自动的解决软件的依赖性

如果需要共享,要先下载 dnf install httpd -y软件 关掉火墙 systemctl disable --now firewalld打开服务 systemctl enable --now httpd建立共享目录 mkdir /var/www/html/software把所有第三方软件存放到 /var/www/html/software中 如果是 mnt 下全都是 rpm 格式的软件,用 cp /mnt/* /var/www/html/software拷到这个目录下安装 dnf install createrepo用来采集数据的工具 扫描目录 createrepo -v /var/www/html/software采集第三方软件数据后在该目录下就生成了 repodate目录 此时就搭建好了第三方软件共享仓库在测试主机中指定第三方共享源,进入目录写文件 cd /etc/yum.repos.d/,文件名后必须以 repo 结尾 vim kaikai.repo,编辑文件内容为: 保存退出 此时 dnf install linuxqq就能下载第三方软件了!

标签:

最新新闻:

新闻放送
Top