Linux下rpm、yum、源码包的安装

版权声明:创作者:LIHAO,未经本人允许,不可转载。 https://blog.csdn.net/a1766855068/article/details/85217151

Linux下rpm、yum、源码包的安装

一、rpm安装

rpm:redhat packages manager红帽软件包管理工具,它的安装方式类似于windows下安装.exe格式的文件比较像。在Linux操作系统下,几乎所有的软件均通过RPM进行安装、管理和卸载。
本节我们来就以安装、卸载其中的一个安装包为例来讲解rpm包的安装过程。
1、挂载 :先将镜像文件挂载至mnt目录下使用命令:mount /dev/sr0 /mnt,然后使用命令ll来查看光盘中有哪些东西,sr0就指的是镜像文件,也就是光盘。
在这里插入图片描述
2、我们使用命令 ls /mnt/Packages/ 来查看Packages中有哪些软件的安装包。由于软件包太多,这里我就只截取部分来进行示例。
在这里插入图片描述
3、 安装rpm: 然后我们安装一个tree包吧,使用命令 rpm -ivh tree-1.6.0-10.el7.x86_64.rpm
命令中:i指的是install安装,v指的是详细信息,h指的是hash在安装时列出标记“#”
然后回车如下图:
在这里插入图片描述
现在我们可以试一下tree这个命令是干嘛的。我们输入命令:tree /home
在这里插入图片描述
我们最后发现这个tree命令是以树形显示列出目录下的文件和目录的。
4、 卸载rpm : 安装完以后,我们把它在卸载了吧。这里所卸载的是Linux下一种可执行文件,相当于windows下安装的程序,而不是删除安装包。可执行文件在 /usr/bin/ 目录下,我们使用的卸载的命令是rpm -e tree,卸载后,自然**/usr/bin** 底下的可执行文件会被删除。
在这里插入图片描述
图中的一步是我们切换到可执行目录,第二步将安装的可执行文件删除,第三步为验证卸载后命令是否还可用,第四步也是验证卸载后的可执行文件是否还存在。我们从图中可以看到可执行文件tree以绿色高亮的方式呈现出来。到第四步以后由于tree被删除,就不再存在了。
5、有关rpm包查看:
(1)查看已安装的包: 然后我们再把tree再安装回去,我们可以使用命令: rpm -qa | grep tree 查询安装tree的软件包,也可以使用 rpm -qa 查看安装的所有的软件包。
在这里插入图片描述
(2) 查看生成了哪些文件: 安装包安完之后,查看软件包释放文件的详细位置。使用命令rpm -ql tree
在这里插入图片描述
生成的文件有文档、许可证、关于tree的信息,以及tree的帮助手册。
(3)查看某个文件是哪个软件包释放的rpm -qf 文件名 :这条命令与上一条有些像只不过有点反。
在这里插入图片描述
6、升级rpm包: 我们使用命令 rpm -Uvh 升级软件包,升级一定要有软件包。

二、yum安装

yum:yellow dog Updater,Modified黄狗管理器,更新管理器。它是一个在fedora 和Redhat以及CentOS中的shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载rpm包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。这种安装方式相对比较重要。
1、挂载: 先将镜像文件挂载至mnt目录下使用命令:mount /dev/sr0 /mnt
2、搭建本地yum:yum安装我们要使用yum安装,需要定义配置文件。配置文件在vim **/etc/yum.repos.d/**路径下。新定义的文件名的后缀最好是 .repo 的后缀,因为系统已经定义了 .repo 的后缀。
首先要写一个源标识的东西。你要安装的包在哪里以及名字。然后进行保存。格式如下:
在这里插入图片描述

base 源标识、base是仓库的名字,随便起,要唯一。
name 源名称、是仓库的描述。随便起,要唯一。
baseurl=file:///mnt 软件包的位置为本地,其中file还可以被替换为其他协议(FTP、HTTP)。/mnt指对应的位置
enable=1 启用这个仓库或者源,一个源可以有多个仓库(1表示打开、0表示不开)
gpgcheck=0 通过比对来校验是否为官方(1表示检验、0表示不检验)

注意:如果上面gpg签名为检查,还需要加一条配置在后面:gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
3、yum查看:我们使用 命令:yum repolist查看yum的源标识、源名称、源状态
在这里插入图片描述
其中:status一定要有值不能为0,我使用的是7.5的Redhat版本,因此它的数值为5099。如果数值为0说明yum的配置写的有问题。
4、yum安装: 使用命令:yum install tree.x86_64 ,来安装tree包。增加 -y 选项表示确认。
5、yum删除 :使用命令: yum remove tree.x86_64 e , 通过这个命令我们就可以移除在之前安装的tree包了,可以增加 -y选项表示对移除的确认,就可以省去输入下图中输入“y"的步骤了。
在这里插入图片描述

三、源码安装

源码安装:安装的是一种*.tar.gz的压缩文件,使用rz命令可以将windows的文件传给虚拟机中Linux中的当前目录。这里以tar-1.29.tar.gz为例进行源码安装。
1、将之前传到Linux中的tar-1.29.tar.gz包进行解压缩,使用命令:tar xvf tar-1.29.tar.gz -C /,解压之后会在根目录下生成一个tar-1.29的目录。
在这里插入图片描述
2、由第1步可知,我们的tar命令现在还是可以用的,因为在安装系统时候,默认已经安装好了,因此我们首先需要将tar命令移除。使用命令yum remove tar
3、放到根下面,然后我们就可以用普通用户去检测一下这个文件有没有缺什么东西,因为该文件的所属者是lihao。
(1)使用命令:su - lihao
(2)切到tar-1.29这个目录下,使用命令:cd /tar-1.29/
(3)然后输入 ./configure 检测下安装环境,发现缺少一些gcc开头的东西。
在这里插入图片描述
(4)然后我们退回root权限下,使用命令: yum install gcc * -y 安装关于gcc*的文件。
(5)安装完成之后,我们还需要继续在回到普通用户的模式 下进行检测 ,测试看是否还缺文件。
使用命令: ./configure

(6)我们 退回root 切换到解压的目录 cd /tar-1.29
(7)使用make命令进行编译,编译完成之后我们使用命令 make install
(8)完成之后我们 cd 到家目录下,将随便一个家目录下的压缩文件使用tar xvf 文件名.gz进行解压缩,发现出现 -bash:/usr/bin/tar:No such file or directory 的提示,是因为我们当时把最初的tar命令给移除,后创建的tar不在/usr/bin/tar这个目录。
(9)因此我们需要使用 which tar 来查找我们新安装的tar命令在哪里。最后显示新创建的tar命令在 /usr/local/bin/tar ,出现这样的原因是因为有缓存的存在,缓存我们叫做 hash
在这里插入图片描述
我们发现hash中显示了/usr/bin/tar使用次数,刚才在第(8)步使用tar命令的时候,它就去了/usr/bin/tar这个目录中去找了,但是没有找到,就会出现:没有这样的文件和目录的提示。而实际它去的目录是在/usr/local/bin/tar。
(10)最后我们使用 hash -r 清空缓存,再用tar命令进行检测解压一个*.tar.gz的压缩包。发现成功安装。

本节使用到的命令总结:

命令 注释
mount /dev/sr0 /mnt 挂载mnt下的光盘文件
rpm -ivh 文件名.rpm 安装rpm包的时列出标记同时显示详细信息
rpm -e tree 卸载安装的tree
rpm -qa丨grep tree 查看过滤有关tree的软件包
rpm -ql tree 查看tree安装包安完之后,会释放哪些文件到哪些位置
rpm -qf 文件名 查看某个文件是哪个包释放的
tar xvf tar-1.29.tar.gz -C / 解压tar-1.29到根目录下
yum repolist 查看yum的源标识、源名称、源状态
yum install tree.x86_64 安装tree.x86_64包
yum remove tree.x86_64 e 移除安装的tree命令
su - lihao 切换用户到普通用户
./configure 检测编译环境
make 在安装前进行编译
make install 编译后进行安装
which tar 寻找tar命令在哪个目录下
hash -r 清空哈希表

猜你喜欢

转载自blog.csdn.net/a1766855068/article/details/85217151