【Linux】安装软件的三种方式--rpm、yum、源码包

说明:此文首发于本人原创公众号【媛测】中,如有转载,请著明出处!

在windows系统下安装软件很简单,下载软件包后双击.exe文件,点击下一步即可。然而在linux安装软件就没那么容易了,不同的Linux发行版有所差异,下面以centos7系统为例说明,如何在linux下安装软件。

linux系统下安装软件一般有3种方法:①rpm工具    ②yum工具    ③源码包安装

目录

一、三种安装方式

二、 rpm包及rpm工具使用

二、yum工具用法

三、源码包安装:


一、三种安装方式

在Linux下安装软件包,主要有3种办法

(1)rpm工具(redhat package manager,手动安装,难点在于包的依赖关系

rpm包类似于windows下的.exe文件,安装路径和文件名基本都是固定的。

扫描二维码关注公众号,回复: 4052374 查看本文章

rpm -ivh [rpm完整包名] 

(2)yum工具(python开发出来的工具,操作对象rpm包,能自动解决软件包的依赖关系,是最常用的方式

yum install -y 【包名简称】

(3)源码包(需要通过编译器把该源码包编译成可执行的文件)【安装难度大

./configure---->make---->make install

二、 rpm包及rpm工具使用

要想使用rpm工具,得先有rpm包。

1、rpm包格式说明

上图所示:

abrt是包名、2.1.11是版本信息、48.el7.centos是发布版本号、x86_64是运行平台;

另外有一些rpm包没有写具体平台而是noarch:说明没有平台限制。

2、rpm工具用法

  (1)rpm常用选项:

        -a:查询所有已安装rpm包

        -e:删除指定rpm包

        -f:查询指定rpm包

        -i:显示指定rpm包的详细信息

        -h:显示安装rpm包列出标记

        -v:显示指令的执行过程,即可视化过程

        -U:升级指定rpm包

        -q:使用询问模式

        -l:显示指定rpm包的文件列表

(2)常用命令

安装rpm包:rpm -ivh [rpm包名] ; 【注意包名一定要写全到.rpm,不能简写】

升级rpm包:rpm -Uvh [rpm包名]; 【注意同上】

卸载rpm包:rpm -e [rpm包名] ;如:rpm -e bc;【这里需要注意的是:卸载可以不用写全包名】

查看已安装rpm包:rpm -q [指定rpm包名] 或者rpm -qa 表示列出所有已安装包    如:rpm -q vim-enhanced;查询所有:rpm -qa;

查看已安装rpm包的具体信息:rpm -qi [rpm包名]    如:rpm -qi vim-enhanced

列出rpm包的安装文件:rpm -ql [rpm包名]    如:rpm -ql vim-enhanced

查看某个文件属于哪个rpm包安装的:rpm -qf [文件绝对路径]    如:rpm -qf /usr/bin/vim

当某个命令忘记了绝对路径,又不想分2步来查询。那么可以后面跟which cd(这里的符号时反引号):rpm -qf `which cd` /这里写入的命令不能是带有alias的

【温馨提示】

    当你执行rpm -ivh 安装rpm包的时候你会发现,其实rpm安装需要很多的依赖包,并且需要手动安装依赖后才能rpm -ivh安装。执行rpm -e 也是一样的;所以一般也很少使用rpm进行软件的安装,最常用的安装工具是yum。

二、yum工具用法

yum工具相比rpm工具的优势是:yum安装会联网自动安装依赖包,不需要手动安装依赖。还有一个好处是使用yum安装时,仅仅是写入包名即可,而rpm安装时,是需要写入包全名的。

yum配置文件路径:/etc/yum.repos.d/

1、常见的yum用法:

列出所有可用的rpm包:yum list (第一列是包名,第二列是版本号,第三列是配置文件/etc/yum.repos.d/中配置的仓库名)

精准搜索指定的rpm包:yum list | grep 'vim' (只显示出包名中包含vim的rpm包)

搜索指定名称相关的所有rpm包:yum search vim (显示所有包名和介绍中包含vim的rpm包,比较模糊)

yum安装rpm包:yum install -y 【包名简称】;-y表示安装时不再询问是否安装

yum卸载rpm包:yum remove 【包名简称】;//卸载时不要加-y选项,因为如果要卸载的依赖包又是系统所需要的,那么继续卸载有可能会导致系统异常,不加-y也可以查看到它所依赖的包都有哪些

yum更新rpm包:yum update 【包名简称】;//使用在刚安装完系统可以使用。如果系统中有已经运行了一段时间的服务,那么这时去升级可能会出现问题【注意:如果直接yum update 不加包名,则会直接升级所有包和升级系统】

查询一个命令是由哪个包来安装的:yum provides "/*/vim"

2、yum使用光盘搭建本地仓库:

当Linux不能联网的时候,我们就不能使用联网的yum源了。这时需要自己在系统中使用光盘制作yum源, 搭建本地的yum源,让它在本地中寻找RPM包。具体步骤如下:

    (1)挂载光盘镜像到/mnt目录:mount /dev/cdrom /mnt

    (2)删除/etc/yum.repos.d/目录下的所有repo文件(删除前注意先备份,不然等下无法还原了)

cp -r /etc/yum.repos.d/ /etc/yum.repos.d_bak/

rm -rf /etc/yum.repos.d/*

    (3)创建新文件dvd.repo

            vim /etc/yum.repos.d/dvd.repo,加入如下内容:

(enabled--是否可用,1可用,0不可用; gpgcheck--是否检测,0不检测,1检测)

(4)清理之前的缓存:yum clean all

(5)yum list 查看本地仓库是否配置成功(能看到自己配置的仓库名,就是成功了)

    这时就能安装你需要的rpm包了!

3、配置yum.conf 保留下载的rpm包

可以设置使yum保留已经下载的rpm包,供以后升级或者重新安装时使用 。只需

修改/etc/yum.conf即可(这是个新文件)

[main]

cachedir=/home/soft1/yumcache

keepcache=1

debuglevel=2

其中cachedir是放置下载的包的地方,可以自定义

keepcache=1表示保存已经下载的rpm包,0表示不保存

到这里,你应该熟悉yum工具了。不知道你有没有注意到使用yum安装的时候会非常慢,那是因为默认的yum源是使用国外的yum仓库的。

下面我们来介绍使用国内的仓库作为yum源。

在操作之前,我们先恢复之前的yum源,否则使用的yum时会出问题的。操作如下:

rm -rf /etc/yum.repos.d

mv /etc/yum.repos.d_bak /etc/yum.repos.d

yum list    (这一步必须执行,生成缓存,方便下次使用。)

4、更改国内yum仓库源:

    (1)进入yum配置目录,删除CentOS-Base.repo(注意备份:mv CentOS-Base.repo CentOS-Base.repo_bak)

   (2)下载一份新的国内的CentOS-Base.repo文件代替

            wget http://mirrors.163.com/.help/CentOS7-Base-163.repo  或者 curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo

可以打开查看一下这个文件的内容:

    (3)替换成功后,安装一个rpm包测试一下,例如: yum install -y zsh

除了CentOS-Base.repo这个标准的rpm源外,还可以安装yum扩展源epel

     yum install -y epel-release

5、利用yum工具下载rpm包:

    (1)下载rpm包不安装:yum install [包名] -y --downloadonly ;

默认存放路径为/var/cache/yum/x86_64/7/xxx/packets ; xxx为仓库源,如:base、epel、dvd等等

    (2)下载rpm包不安装,指定存放路径:yum install [包名] -y --downloadonly --downloaddir=/usr/local/src

    (3)如果是已安装的rpm包:yum  reinstall -y [包名] --downloadonly

三、源码包安装:

1、获取源码

下载软件源码包,一般存放在/usr/local/src,解压源码包。

2、查看INSTALL与README文件

解压后查看INSTALL与README文件,这两个文件中详细介绍了本软件的安装方法和注意事项。

3、执行configure,生成Makefile文件

执行./configure命令,生成Makefile文件。

./configure --prefix=/usr/local/xxx

         常用prefix参数指定软件安装目录,当执行make install命令时,会将软件安装在此路径中。

4、执行make,从Makefile中读取指令,编译源码成二进制文件

make clean;make

PS:make clean命令用来清除上一次编译生成的目标文件。这个步骤可有可无,但为了确保编译的成功,还是加上为好。防止由于软件中含有残留的目标文件导致编译失败。

5、执行make install,将软件安装到指定目录

make install

此时二进制文件会被安装到先前configure prefix参数设置的路径中去。

 

 

说明:此文首发于本人原创公众号【媛测】中,如有转载,请著明出处!

猜你喜欢

转载自blog.csdn.net/lijing742180/article/details/83998024