晚秋(lateautumn)
2023-11-02 18:45 Moderator
rpm包与咱深度系统,没有什么关联吧?我曾用过中兴新支点操作系统1个月,就属于rpm包,软件生态不如deb
Reply Like 0 View the author
rpm包与咱深度系统,没有什么关联吧?我曾用过中兴新支点操作系统1个月,就属于rpm包,软件生态不如deb
感谢分享知识。但deepin使用deb包,楼主可以重点介绍一下dpkg apt等知识
rpm包与咱深度系统,没有什么关联吧?我曾用过中兴新支点操作系统1个月,就属于rpm包,软件生态不如deb
我主要用的都是rpm,深度有直接软件商店,我后续应该会写一份deb的包管理工具
我主要用的都是rpm,深度有直接软件商店,我后续应该会写一份deb的包管理工具
中兴新支点也有软件商店,但很少有人用,现在感觉基本上不维护更新了。还好我撤退的很及时。
中兴新支点也有软件商店,但很少有人用,现在感觉基本上不维护更新了。还好我撤退的很及时。
他们家那系统我用不了,硬件不适配
我主要用的都是rpm,深度有直接软件商店,我后续应该会写一份deb的包管理工具
你主要用哪个发行版?
你主要用哪个发行版?
rhle,centos,uos-server,龙蜥,欧拉
如果是 rpm 系发行版用户的话,有兴趣的话可以考虑加入 dde-port SIG 小组,一起参与 openSUSE 或者 Fedora 的 DDE 移植 :)
rhle,centos,uos-server,龙蜥,欧拉
后几个我都知道,只有RHEL我没找到地方下载。
另外,我还知道中国的两个:中兴新支点、中国移动BCLinux。
Popular Events
More
软件包管理
一、软件包和RPM
(1)RPM软件包介绍
RPM包管理器最初是由红帽开发,该程序提供一种标准的方式打包软件进行分发。红帽为红帽企业Linux提供的所有软件包都以RPM软件包的形式提供。
RPM软件包文件名由四个元素组成再加上.rpm后缀:
name-version-release.arch
当我们从存储库中安装软件包的时候,只需要软件包的名称。如果存在多个版本,则会安装版本号高的软件包,如果一个版本存在多个发行版,则会安装发行版本号更改的软件包。
每个RPM软件包是包含以下三个组成部分:
软件提供商使用GPG密钥对RPM软件包进行数字签名。RPM系统通过确认软件包的GPG密钥签名来验证软件包的完整性。如果GPG签名不匹配,RPM系统拒绝安装软件包。
(2)RPM使用
rpm工具可以用来查看软件信息以及安装和更新软件包。
RPM查询
rpm安装与卸载
rpm的缺陷
以使用rpm安装samba来看,在下面的安装过程中,可以发现软件包直接存在依赖关系,rpm无法自动处理这里依赖关系,需要我们根据依赖关系先后去安装软件包。
依赖类型以及解决办法
二、dnf管理
使用rpm命令安装软件包不能自动解决依赖关系。为了解决这个问题,在基于RPM包管理上出现了新的软件包管理器。
RHEL8之前使用YUM进行软件包管理,RHEL8之后由YUM变成了DNF进行软件包管理。yum和dnf在命令上没有太大区别,从RHEL8开始已经逐渐开始转向DNF,但是yum也同意可以使用。
(1)yum和dnf介绍
(2)yum和dnf使用
yum list
(dnf list
):查看已经安装和可用的软件包dnf grouplist
dnf gorupinfo
dnf groupinstall
dnf groupremove
dnf groupupdate
(4)dnf仓库配置
不论是dnf还是yum来安装软件包的时候,都需要依靠软件包仓库来完成,红帽在默认情况下是没有配置任何软件包的仓库,除非将系统注册到订阅管理服务。所有在红帽中当我们没有订阅的时候,需要我们手动配置软件包仓库以便来使用dnf工具。
在系统关于仓库源的配置存放在
/etc/yum.repos.d/
目录下,文件必选以.repo
结尾.使用网络源
当我们设备可用连接到互联网的时候,我们可用去使用一些网络源,如红帽官方的软件源或者国内的阿里源,清华源等源仓库。下面以添加阿里源中docekr源仓库为例。
配置本地源
上述方式是我们在可以连接到互联网的时候,可以使用网络源,当我们的系统没有连接到互联网中,或者生产环境不允许连接互联网。那么我们就需要配置本地源仓库,来保证dnf的使用。下面分别介绍RHEL7和RHEL9的本地源配置
为什么本文中会使用RHEL7和RHEL9为例。各位在完成上面配置之后可以发现,在RHEL7中baseurl指定的路径就是我们光盘挂载的目录,而RHEL9在挂载目录的基础之上后面还有AppStream目录和BaseOS目录。这是因为在RHEL8开始,镜像文件中将软件包分别放在两个目录当中。在镜像文件中我们的软件包都保存在一个名为
Packages
的目录中。那么我们是依据Packages目录来决定路径的吗?实际上我们并不是根据此路径来决定的,在镜像文件中还存在一个很重要的目录repodata。回到之前提到的,为什么dnf可用自动解决依赖问题。dnf就是依据repodate目录中的内容来解决软件包之间的依赖问题,所以我们的路径是依据repodate所在目录来决定我们配置文件中的路径。
三、搭建本地软件包源
在上面配置软件源仓库中提到,不论在什么情况下,都可以有软件源仓库使用。但是在镜像文件中的软件包数量是比较少的,且部分软件在软件包中是没有的,如MySQL,docker,kubernetes,nginx等。所以在内网情况下,我们可能所以搭建一个自己内网仓库,来给内网中设备提供网络源。以centos7中配置内网仓库为例