linux学习笔记18-管好软件包
linux学习笔记18-管好软件包
使用红帽软件包管理器RPM来管理软件包
早期linux使用源代码的方式来分发软件,因为linux发行版本太多,开发者在一个发行版编写的软件可能直接在另一个发行版上难以运行,但是这种方式需要软件安装者有一定编程基础,需要重新编译源代码才能安装软件
red hat package manager ---RPM
软件二进制文件、依赖的动态库文件、配置文件打包压缩到一个文件,即RPM 软件包
RPM在安装的时候,把RPM包解压缩放到目标系统中,同时还可能生成一些新文件。但是RPM只能管理以这种方式封装的软件包。这种方式极大简化软件安装
软件包的命名格式
eg:tsclient-2.0.2-10.el6.x86_64 其中前面部分是软件名,中间是版本号,最后是适用的硬件架构,硬件架构方面可能分为32位硬件架构(i386、i586、i686),64位硬件架构,noarch架构,即不分架构,均可以。
安装opera
首先搜索得到opera12的rpm格式的安装包的下载链接
然后使用wget命令跟下载地址
然后ll查看是否下载完成
然后rpm -q 查询opera是否安装
rpm -ivh 安装包名称,其中 i 表示安装,v 表示显示安装信息,h 表示用 # 来表示进度条
卸载软件 rpm -e 安装包全名(包括所有的版本号和硬件架构号)
但是 rpm有个最大的问题:不能解决软件包的依赖问题
[stu@localhost ~]$ rpm -ivh opera-stable_83.0.4254.27_amd64.rpm
warning: opera-stable_83.0.4254.27_amd64.rpm: Header V4 RSA/SHA512 Signature, key ID 8de1b7a0: NOKEY
error: Failed dependencies: #出错,软件依赖出错,意思是必须先安装以下软件包才能安装opera
libatk-bridge-2.0.so.0()(64bit) is needed by opera-stable-83.0.4254.27-0.x86_64
libatspi.so.0()(64bit) is needed by opera-stable-83.0.4254.27-0.x86_64
libc.so.6(GLIBC_2.14)(64bit) is needed by opera-stable-83.0.4254.27-0.x86_64
libc.so.6(GLIBC_2.15)(64bit) is needed by opera-stable-83.0.4254.27-0.x86_64
libc.so.6(GLIBC_2.16)(64bit) is needed by opera-stable-83.0.4254.27-0.x86_64
libc.so.6(GLIBC_2.17)(64bit) is needed by opera-stable-83.0.4254.27-0.x86_64
libnss3.so(NSS_3.22)(64bit) is needed by opera-stable-83.0.4254.27-0.x86_64
libxkbcommon.so.0()(64bit) is needed by opera-stable-83.0.4254.27-0.x86_64
原因是安装opera83版本时候的二进制软件包已经编译好了,如果要安装此软件包,需要重现当时编译此软件包时候的安装环境,为了解决此问题,引入了新的软件来解决此问题,即:yum
yum: yellowdog updater modified黄狗更新器
只是解决软件包依赖的工具,并不是一种封装格式,下面是用yum命令查看、安装、卸载、更新软件包
yum是首先分析软件包的header内容,在yum服务器(内有软件包索引、软件包、依赖关系数据库)上查询软件包的依赖关系数据库,获取查询结果后,一次性把所有依赖的软件包都下载下来
首先 yum clean,然后 yum makecache以提高本地搜索软件包的速度
安装指令:yum install 【软件包名】 yum -y install【软件包名】不经过询问,直接安装软件
查询指令:yum list 【软件包名】
yum list installed yum list available 这两个指令的输出结果较多,建议跟上管道结合less命令来查看
yum info 【软件包名】
卸载指令:yum remove 【软件包名】
更新指令:yum update 【软件包名】
只有root用户可以安装、卸载、更新软件,普通用户只能查看软件
配置yum第三方软件源
默认是centos官方源,原则是“和”、“稳”,所以官方源的软件数量少,如果不进行额外配置,很难安装管理一些常用软件,推荐以下6个软件源:
EPEL、Remi、ATrpms、RPMFusion、RepoForge、ELRepo源
原教程的做法是找到RepoForge的官网,然后下载centos6的rpm软件包,使用rpm -ivh命令安装,然后就可以在/etc/yum.repos.d文件夹中看到rpmforge.repo文件,表示增加了一个第三方的软件源,此文件是第三方软件源的配置文件。
实际上由于centos6在2020年底就停止维护了,到了EOL(end of life),所以我按照教程的方式去安装repoforge会遇到404错误,根本找不到页面,下载不了rpmforge安装包。后来在csdn上找到切换为阿里云的维护的软件源,具体是参考了这篇帖子,用了几行简单的命令。
《Centos 6无法使用yum解决办法 2020.12月之后都可使用 之前的方法都已失效》
原文链接:https://blog.csdn.net/zhs260133172/article/details/111403417
sed -i "s|enabled=1|enabled=0|g" /etc/yum/pluginconf.d/fastestmirror.conf
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.repo https://www.xmpan.com/Centos-6-Vault-Aliyun.repo
yum clean all
yum makecache
CentOS 6已经随着2020年11月的结束进入了EOL(Reaches End of Life),不过有一些老设备依然需要支持,CentOS官方也给这些还不想把CentOS6扔进垃圾堆的用户保留了最后一个版本的镜像,只是这个镜像不会再有更新了
官方便在12月2日正式将CentOS 6相关的软件源移出了官方源,随之而来逐级镜像也会陆续将其删除。
不过有一些老设备依然需要维持在当前系统,CentOS官方也给这些还不想把CentOS6扔进垃圾堆的用户保留了各个版本软件源的镜像,只是这个软件源不会再有更新了。
再往下,教程里面要设置官方软件源和第三方软件源的优先级,但是实际上官方源已经用不了了,下面只是学学方法
- 安装 yum-plugin-priority插件
- 文本编辑器打开/etc/yum.repos.d/CentOS-Base.repo文件进行配置,在[base] [updates] [extras]三个软件仓库的末尾增加一行 priority=1,表示优先级最高,保存退出。
- 文本编辑器打开同目录下的第三方软件源的配置文件,在相同的地方增加priority=10,表示优先级次之,保存退出
- 然后尝试安装 mplayer mplayer-gui,安装完成后,输入gmplayer打开播放器即可。