Linux基础:Linux软件安装

Posted Linux俱乐部

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基础:Linux软件安装相关的知识,希望对你有一定的参考价值。

再不点蓝字关注,机会就要飞走哦


(一) 常用Linux发行版的派系之分

  • RedHat系:CentOSRedHatRHELFedora 

  • Debian系:Debian Ubuntu 

  • Gentoo系:GentooSabayon 

  • 其他Arch


(二)不同派系使用的包管理工具

  •  RedHat系:使用rpmyum两个工具进行软件包的安装管理 

  •  Debian系:使用dpkgapt-get两个工具进行软件包管理 

  •  Gentoo系:使用Portage进行软件包管理,常用包管理命令为emerge 

  •  Arch使用pacman来管理软件包。 

由于企业大多数使用RHEL系列作为其企业版本使用,在个人中Ubuntu用户量也占多数, 
因此我们这里就将RedHat系和Debian系两个派系的包管理工具。


(三)安装

Linux安装软件有三种方式:源码安装单包安装自动解决依赖安装。 
我们以
vim为例,来演示三种安装方式: 
<1>源码安装 
咱们来试试
vim的最新版本vim-8.0

1.      卸载系统的自带的vim

1.      yum -y  remove vim-common

2.      yum -y  remove vim-minimal 

2.      确认vim已被卸载

运行vim确认

vim


-bash: /usr/bin/vim: 没有那个文件或目录

确认没有包含vimrpm

1.      rpm -qa |grep vim

3.      获取最新 vim-8.0 安装包

由于Linux是类Unix的,ftp的目录中并没有linux目录,因此我们下载unix的即可

1.      wget ftp://ftp.vim.org/pub/vim/unix/vim-8.0.tar.bz2

4.      解压,进入目录

1.      tar xf vim-8.0.tar.bz2

2.      cd vim80

5.      进行安装

不同的软件,使用源码编译安装的方式可能有所不同, 
我们一般可以通过查看README以及INSTALL文件来确定使用什么方式安装, 
就如vim80目录下我们使用 ls -F 查看到这层目录有很多的README文件。

但是没有INSTALL文件, 

Linux基础(三):Linux软件安装

那我们就先看README文件,这么多README文件,我们先看README.txt这个主文件(有的软件里的README文件是没有后缀的,README.md的内容是和README.txt一样的,只是使用了Markdown语法来写,使用支持Markdown的编辑器来看,格式会更美观) 我们的vim卸载了,我们用什么来查看文件呢,别急,我们有nano编辑器还可以使用

1.      nano README.txt

我们在README.txt中找关于install的一些关键点,找到了这里:

If you obtained a binary distribution you don't need to compile Vim. If you 
obtained a source distribution, all the stuff for compiling Vim is in the 
"src" directory. See src/INSTALL for instructions.

翻译之后大概是这样的:

如果您获得了二进制发行包,则不需要编译Vim。如果您 
获得了一个源码包,所有用于编译Vim的东西都在 
" src "目录。请看 src/INSTALL 的说明。

由于我们获得的是源码包,所以按照指引,我们去看 src/INSTALL 的说明。 
我们找到Unix部分

2.Unix

=======

 

Summary:

1. make              run configure, compile and link

2. make install         installation in/usr/local 

我们看到,如果要简易安装,我们只需要运行

1.        make

2.        make install

当然,INSTALL文件后面还有提到许多选项, 

比如最常用的configure的 --prefix 选项,如果我们执行

1.      ./configure --prefix=~/linuxvim

2.      make

3.      make install

就会把软件安装在 ~/linuxvim 目录下,这里就不一一说了 
大家可以看文档 
很多软件的源码安装方式是一样的,下面这三步(如果你看到目录里有configure文件,基本可以确定可以用这种方式安装了呦):

1.        ./configure [一些参数]

2.        make

3.        make install

这里的简易安装我们没有运行

./configure 

,原因是vim软件在Makefile里对configure进行了配置, 
如果不需要做额外的配置,make命令默认帮你执行了默认的配置, 

当然,这次安装算是非常顺利,没有编译报错什么的,因为咱们在安装系统的时候已经把很多能用到的库、软件什么的都已经安装了,否则这里就会出现许多依赖的库或其他工具没有安装、安装的依赖库或工具和要安装的软件所需要的版本匹配不上等问题,这就要我们先去安装依赖的库或工具、要么是找到匹配的版本或者进行移植,然后再安装该软件了,对于这种问题如果自己解决不掉可以通过在网上查资料、查wiki、查手册,发帖求助等方式来得到解决。


源码安装删起来就比较麻烦,使用包管理工具找不到软件在哪儿,我们可以根据安装时的信息,以及which等命令找到安装位置,都安装了哪些东西,这样显然比较麻烦,因此源码安装最好为这个软件指定一个单独的目录,如果要删除的时候就可以整个删除这个目录来完成卸载,减少很多麻烦。如果确实安的地方有一些其他很多别的软件,我们可以进入安装目录,执行ls -l,根据我们安装的时间,以及文件名等信息,找到我们安装的文件,进行删除。


<2>单包安装

[1] rpm常用命令总结:

安装rpm包,输出常规信息

1.        rpm -ivh xxx.rpm

假如我们要安装aaa 遇到下面的错误:

  • conflict with :这次安装会覆盖原有的一些文件,运行后默认是没有安装的。

  • bbb is needed by aaa : 说明安装aaa依赖于bbb,我们要先安装bbb。

当然使用下面命令能不检查任何依赖安装aaa,但是最好不要这样来安装,这样无法保证aaa安装后可以完全正 常的工作。


1.        rpm -i --force --nodeps aaa

在已安装列表中列出名字包含xxx的包

1.        rpm -qa |grep xxx

卸载xxx        

1.        rpm -e  xxx

升级xxx

1.        rpm -U  xxx 


[2] dpkg常用命令总结:

#安装deb软件包

  • dpkg -i xxx.deb

#删除deb软件包

  • dpkg -r xxx

#删除deb软件包(配置文件一起删除)      

  • dpkg -P xxx    

#显示与该包关联的文件

  • dpkg -L xxx    

#显示当前已安装的包中包含xxx的包  

  • dpkg -l |grep xxx  

大家如果有兴趣可以使用

  • man rpm

  • man dpkg

或者在网上找相应的wiki进行更深入的了解。 

[3] rpm安装vim安装:

既然我们要安装rpm包,就需要先找到rpm包 
(1)本地查找 

RHEL6 以及Centos6的rpm包都在映像文件的Packages目录下,


1.        cd /media/CentOS_6.4_Final/Packages

2.        ls vim*

我们看到四个安装包

vim-common-7.2.411-1.8.el6.x86_64.rpm 
vim-minimal-7.2.411-1.8.el6.x86_64.rpm 
vim-enhanced-7.2.411-1.8.el6.x86_64.rpm 
vim-X11-7.2.411-1.8.el6.x86_64.rpm

(2)网络查找 

如果在映像文件中找不到怎么办,比如我们要安装一个vim-filesystem的包,我们可以到rpm包的搜索网站上去找,比如 
http://rpmfind.net 
我们通过一些特定的条件,就可以找到我们想要的rpm包, Centos 6版本的包基本上是通用的比如6.9的包也可以在6.4上安装

Linux基础(三):Linux软件安装

找到之后,我们复制下载链接,然后使用wget进行下载

  1. cd ~/

  2. wget ftp://rpmfind.net/linux/centos/6.9/os/x86_64/Packages/vim-filesystem-7.4.629-5.el6_8.1.x86_64.rpm

(3)安装 

我们发下这次找的四个包很精准,因此我们直接使用下面命令进行安装

1.        cd ~

2.        rpm -ivh vim-filesystem-7.4.629-5.el6_8.1.x86_64.rpm

3.        cd /media/CentOS_6.4_Final/Packages

4.        for file in `ls vim*`

do

rpm -ivh $file

done

(4)查找已安装的rpm包 

列出已安装rpm包中包含vim的包:

1.        rpm -qa |grep vim


vim-common-7.2.411-1.8.el6.x86_64 
vim-X11-7.2.411-1.8.el6.x86_64 
vim-minimal-7.2.411-1.8.el6.x86_64 
vim-filesystem-7.4.629-5.el6_8.1.x86_64 
vim-enhanced-7.2.411-1.8.el6.x86_64

(5)卸载

1.        rpm -e vim-common

2.        rpm -e vim-X11

3.        rpm -e vim-minimal

4.        rpm -e vim-filesystem

5.        rpm -e vim-enhanced

在卸载vim-common时遇到错误:

error: Failed dependencies: 
vim-common = 2:7.2.411-1.8.el6 is needed by (installed) vim-enhanced-2:7.2.411-1.8.el6.x86_64 
vim-common = 2:7.2.411-1.8.el6 is needed by (installed) vim-X11-2:7.2.411-1.8.el6.x86_64

明vim-enhancedvim-X11 这两个包需要vim-common这个包。

我们确定vim-enhancedvim-X11这两个包是不再需要的之后,

可以使用以下两种方法的其中一种进行卸载。

  • 先卸载vim-X11和 vim-enhanced然后卸载vim-common,

在这个例子里,也就是调整卸载的顺序

  • 使用rpm -e --nodeps vim-common 进行卸载


但是,假设这里vim-common是被gcc依赖,而gcc又是我们要使用的,那就不能使用上面的方法卸载了,卸载之后就会导致gcc不能用不了,或者缺少了一部分功能。


由于我们源码安装的vim默认安装在了/usr/local/bin/目录下,而这次安装的vim/usr/bin/下,所以这两个版本可以共存,但是运行vim命令,只能有一个运行,我们可以将另一个设置别名让他们并存,也可以删除一个,留另一个。


<3>自动解决依赖安装

[1] yum 常用选项:

1.        -y:对所有的询问都用“y”回复;

[2] yum常用参数:

1.        install            #安装rpm软件包;

2.        groupinstall       #安装组

3.        localinstall        #本地安装

4.        update           #更新rpm软件包;

5.        check-update     #检查是否有可用的更新rpm软件包;

6.        remove           #删除指定的rpm软件包;

7.        groupremove      #删除程序组group1

8.        list               #列出所有软件包;

9.        grouplist          #列出所有软件组

10.     clean             #清理yum过期的缓存;

[3] apt-get常用参数

1.        #安装包

2.        apt-get install 包名

3.        #删除包

4.        sudo apt-get remove 包名

5.        #更新源

6.        sudo apt-get update 

7.        #更新已安装的包

8.        sudo apt-get upgrade

9.        #清理无用安装包

10.     sudo apt-get clean

[4] 使用yum安装vim

(1)本地安装

1.        cd /media/CentOS_6.4_Final/Packages

2.      yum -y install vim*.rpm

yum就会自动判断依赖关系,判断谁在前谁在后自动安装。

(2)使用yum源安装vim 

列出源中所有包含vim的包

1.        yum list |grep vim


vim-X11.x86_64 2:7.4.629-5.el6_8.1 base 
vim-common.x86_64 2:7.4.629-5.el6_8.1 base 
vim-enhanced.x86_64 2:7.4.629-5.el6_8.1 base 
vim-filesystem.x86_64 2:7.4.629-5.el6_8.1 base 
vim-minimal.x86_64 2:7.4.629-5.el6_8.1 base

 我们在没有安装vim-common的前提下用rpm -ivh vim-enhanced 安装vim-enhanced是会报错的,我们用yum安装试一下:

1.        yum -y install vim-enhanced


Installed: 
vim-enhanced.x86_64 2:7.4.629-5.el6_8.1

Dependency Installed: 
vim-common.x86_64 2:7.4.629-5.el6_8.1 
vim-filesystem.x86_64 2:7.4.629-5.el6_8.1

根据结果看,在使用yum安装 
vim-enhanced.x86_64 2:7.4.629-5.el6_8.1 的同时,

也自动帮助安装了vim-enhanced.x86_64 2:7.4.629-5.el6_8.1依赖的包
这样就大大方便了我们的安装。 

其他没有安装的几个包,同样适用yum -y install 即可安装。

(3)卸载 

 我们知道vim-common是被vim-enhanced 依赖的,那么我们使用rpm卸载vim-common就会报错 

而我们使用yum 卸载,我们这次不使用 -y ,看一下效果

  1. yum remove vim-common 


Loaded plugins: fastestmirror, refresh-packagekit, security 
Setting up Remove Process 
Resolving Dependencies 
--> Running transaction check 
---> Package vim-common.x86_64 2:7.4.629-5.el6_8.1 will be erased 
--> Processing Dependency: vim-common = 2:7.4.629-5.el6_8.1 for package: 2:vim-enhanced-7.4.629-5.el6_8.1.x86_64 
--> Running transaction check 
---> Package vim-enhanced.x86_64 2:7.4.629-5.el6_8.1 will be erased 
--> Finished Dependency Resolution

Dependencies Resolved

===================================== 
Package Arch Version Repository Size 
===================================== 
Removing: 
vim-common x86_64 2:7.4.629-5.el6_8.1 @base 21 M 
Removing for dependencies: 
vim-enhanced x86_64 2:7.4.629-5.el6_8.1 @base 2.2 M

Transaction Summary 
===================================== 
Remove 2 Package(s)

Installed size: 23 M 
Is this ok [y/N]:

不使用-y,我们看到yum提示我们会有两个包被卸载一个是他本身,一个是依赖他的包:vim-common和 vim-enhanced,我们输入y就会卸载这两个包。

Is this ok [y/N]: y 
Downloading Packages: 
Running rpm_check_debug 
Running Transaction Test 
Transaction Test Succeeded 
Running Transaction 
Erasing : 2:vim-enhanced-7.4.629-5.el6_8.1.x86_64 1/2 
Erasing : 2:vim-common-7.4.629-5.el6_8.1.x86_64 2/2 
Verifying : 2:vim-enhanced-7.4.629-5.el6_8.1.x86_64 1/2 
Verifying : 2:vim-common-7.4.629-5.el6_8.1.x86_64 2/2

Removed: 
vim-common.x86_64 2:7.4.629-5.el6_8.1

Dependency Removed: 
vim-enhanced.x86_64 2:7.4.629-5.el6_8.1

Complete!


#全部自动回复`y`,卸载

1.        yum  -y remove vim-common

(4)升级


#升级所有的安装包,以及所有它们的依赖

1.        yum -y update

#升级vim-common以及依赖vim-common的包和vim-common依赖的包

2.        yum -y update vim-common


下一篇我们将一起学习vim的配置和使用,敬请期待。


长按二维码识别可以关注我呦~~~



以上是关于Linux基础:Linux软件安装的主要内容,如果未能解决你的问题,请参考以下文章

Linux基础三(软件安装管理)

Linux基础:Linux软件安装

linux复习基础之软件管理

Linux基础-12day-Linux系统软件管理

Linux(RadHat)基础学习—软件安装

Linux基础·基本软件的安装