安装软件包的三种方法

rpm包介绍

先把光盘连接到Linux系统里边来,在进行一个挂载一个光驱

image.png

挂载mount /dev/cdrom /mnt/

image.png

cd /mnt/目录下

image.png

Packages文件下边有很多。rpm的文件,这些就是rpm包

Linux软件包安装和卸载(yum)_第1张图片

rpm包格式:包名、版本号、发布版本号、平台、后缀名(包名后边是版本号,发布版本号el7证明是centOS7的centOS7默认就是7)

image.png

用法:安装 rpm -ivh rpm(包名)

image.png

升级包 rpm -Uvh rpm

卸载 rpm -e  后边直接跟包名字

image.png

查询已经安装的包 rpm -qa

rpm -q 包名,查询指定的包是否安装

image.png

rpm -qi 查询指定的包信息,例如:

Linux软件包安装和卸载(yum)_第2张图片

rpm -ql包名,列出包安装的文件

Linux软件包安装和卸载(yum)_第3张图片

rpm -qf文件绝对路径,查看一个文件是由哪个包安装的,查询这个命令是有谁安装的

image.png

假如说不知道一个命令的绝对路径,我们可以用``(键盘左上角那个键)来查询,因为which就是用来查询一个命令的绝对路径的:rpm -qf `which cd`   

image.png


yum工具用法

后边只需要跟包名

yum list 列出可用的rpm包

ls /etc/yum.repos.d/  yum的配置文件,CentOS-Base.repo是最核心的配置文件。

image.png

yum search #搜索包例如搜索vim或者network相关的包

[root@aaa-01 Packages]# yum search vim
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.huaweicloud.com
================================ N/S matched: vim ================================
protobuf-vim.x86_64 : Vim syntax highlighting for Google Protocol Buffers
                    : descriptions

yum list  | grep #过滤字符串的一个工具,精准搜索,例如搜索vim

[root@aaa-01 Packages]# yum list |grep 'vim'
vim-common.x86_64                           2:7.4.160-4.el7            @base    
vim-enhanced.x86_64                         2:7.4.160-4.el7            @base    
vim-filesystem.x86_64                       2:7.4.160-4.el7            @base    
vim-minimal.x86_64                          2:7.4.160-2.el7            @anaconda
protobuf-vim.x86_64                         2.5.0-8.el7                base     
vim-X11.x86_64                              2:7.4.160-4.el7            base     
vim-minimal.x86_64                          2:7.4.160-4.el7            base

yum install -y #安装一个包

yum grouplist #把可用的组全列出来,

因为安转虚拟机的时候没全部安装,现在也可以安装,他显示的是中文,也可以把中文改成英文,LANG=en

[root@aaa-01 Packages]# yum grouplist
已加载插件:fastestmirror
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.huaweicloud.com
可用的环境分组:
   最小安装
   基础设施服务器
   计算节点
   文件及打印服务器
   基本网页服务器

转换成英文的,

可以对应着上边的汉语安装需要的图形操作界面,例如:你要安装‘计算节点’,yum groupinstall -yInfrastructure Server不加-y就是看一看这个套件里有多少个包

假如说是一个单词就不用加单引号,要是有单词组成的带空格的就要加上单引号

[root@aaa-01 Packages]# LANG=en
[root@aaa-01 Packages]# yum grouplist
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.huaweicloud.com
Available Environment Groups:
   Minimal Install
   Compute Node
   Infrastructure Server
   File and Print Server
   Basic Web Server


yum groupinstall -y #安装这个套件里边的包,如果是有一个单词的话就不用加‘’单引号,如果有两单词带空格的就加上

yum remove -y  #卸载包

yum update -y   #升级包

如果不加包名,他会把你系统里的所有rpm包升级,连带着你的系统内核一起升级,这个操作我们一般是在刚装完系统的时候做,但是等你已经装完运行了一些服务的时候就不要做了

yum provides "/*/vim"   #如果你只知道这个命令但你的系统上没有安装,并且你不知道这个命令是用哪个包安装的,简单来说就是搜一个命令能用哪个包来安装到他,例如vim.


yum搭建本地仓库

有的时候你的yum不能用是因为没有联网,你安装了一个操作系统安装了一个cenOS,但是yum不能联网因为我们默认的仓库是需要进行远程连接资源的从一个网站去下载这个rpm包然后再去安装

如果没有联网的时候,这时候就需要我们搭建一个本地仓库,让他来本的路径来找这个rpm包,首先我们要把光盘挂载在mnt目录下,然后mnt目录下的Packages目录下有很多rpm包,我们就可以把这些包作为他的一个仓库

你这些操作的前提是你要有一块光盘光驱镜像文件(下图),然后把他连接上,在进行挂载你才能访问到里边的rpm包

image.png

①首先要挂载镜像到/mnt目录

②cp -r /etc/yum.repos.d /etc/yum.repos.d.bak #因为可能会删除一些文件所以要先做备份先拷贝

③rm -f /etc/yum.repos.d/* #然后把yum.repos.d目录下的文件全部删掉

④然后编辑配置文件vim /etc/yum.repos.d/dvd.repo

⑤再把下边这些内容写到里边

[dvd]#最右侧仓库的名字

name=install dvd#自定义的描述字符串

baseurl=file:///mnt#rpm包的路径光驱的路径

enable=1#yum源仓库是否可用1:可用,0:不可用

gpgcheck=0#是否要检测1:检测,0:不检测

⑥yum cean all#在把之前做的一些缓存清除

⑦再看一下yum list |less#带@的表示已经安装过的,没安装的已经在dvd库了

image.png

image.png


yum更换国内源,更换yum仓库源

因为它自带的好多都是国外yum源下载他会很慢,我们可以给他搞一个国内yum源

ls /etc/yum.repos.d/

cd /etc/yum.repos.d/

首先要删除rm -f /yum.repos.d/dvd.repo

再把拷贝的考回来cp ../yum./yum.repos.d.bak/* .

再把最核心最基本的删掉:rm -f /etc/yum.repos.d/CentOS-Base.repo

image.png

在下载163镜像,用第二种,wget http://mirrors.163.com/.help/CentOS7-Base-163.repo 

· 或 者 

· curl -O http://mirrors.163.com/.heIp/CentOS7-Base-163.repo

Linux软件包安装和卸载(yum)_第4张图片

· yum list 看一下,跟上面的对应Base

image.png


安装扩展源epel

yum install -y epel-release

image.png

查看一下epel扩展包yum list |grep epel


yum 下 载 rpm 包 

--downloadonly#下载不安装

格式:yum install -y 包名--downloadonly

例如:我们下载一个zsh的包,yum install -y zsh --downloadonly

下载完的包在这个目录下:Is /var/cache/yum/x86-64/7/ 


--downloaddir#下载到指定的路径下:

例如:把zsh下载到tmp目录下,yum install -y 包名 --downloadonly --downloaddir= 路 径 


reinstall#重新下载安装过的包:

格式:yum reinstall -y 包名 --downloadonly --downloaddir= 路径

例如:我们下载vim的包:yum reinstall -y vim-enhanced --downloadonly --downloaddir=/tmp/

--downloaddir加上它的话意思就是仅下载不安装


源码包安装

以后源码包都放到这个路径里

cd /usr/local/src/

下载一个阿帕奇wget http://mirrors.cnnic.cn/apache/httpd/httpd- 

2.2.32.tar.gz

如果这个源码包地址失效了就到这个网址下载新的:源码包下载网址

然后解压它 tar -zxvf httpd-2.2.32.tar.gz 

解压完后到这个目录下去cd httpd-2.2.32  ls看一下

里边有个README  more  README 看一下

还有一个INSTALL more看下,这是安装文档,方法如下:

第一步,安装。

./configure --prefix=/usr/local/apache2 #运行完可以运行echo$?他会检测你上一条命令的对错,如果非0就证明错

他报错显示gcc no,证明gcc不存在,那先就安装,yum install gcc

image.png


第二步,编译。

make 


第三步

make install 

ls /usr/local/apache2#查看源码编译的包

image.png

卸载就是删除安装的文件 

如果你不知道你这条命令对不对可以用echo $? 命令 如果它显示的是非零的证明它不对