您的位置 首页 > 数码极客

Linux如何做本地资源库

Linux操作系统对于我们技术人员,不管是开发,测试还是运维都应该是耳熟能详的一个操作系统。既然如此,那么就绕不开在Linux操作系统下安装软件包。在Linux下安装软件包的方式有三种,分别是rpm安装、源码编译安装、yum安装。接下来我们就重点介绍一下最常用、最好用的一种安装方式,即yum方式安装,因为它能够帮助我们解决软件包之间的依赖关系来提高工作效率哦。

一、yum知多少

1. yum是如何安装软件的

l yum仓库(也称yum源)用于存放各种rpm的软件包以及软件包之间的依赖关系(repodata目录)

l 需要安装软件的计算机连接到指定yum仓库来安装软件包

2. yum源作用

软件包管理器,类似Windows下的软件管家。

3. yum源优势

解决软件包之间的依赖关系,提高运维人员的工作效率。

4. yum源分类

① 本地yum源

所谓本地yum源是指yum仓库在本地,一般是本地系统光盘或镜像文件。

② 网络yum源

所谓网络yum源是指yum仓库在远程(不在本地),需要联网才能安装。

  • 国内较知名的网络源(aliyun源,163源,sohu源,知名大学开源镜像等)
  • 国外较知名的网络源(centos源、redhat源、红帽扩展epel源等)
  • 特定软件相关的网络源(Nginx、MySQL、Zabbix等)

二、yum源配置

说明:以下操作系统以Centos 6.5为例,其他Linux系统类似。

1. 本地yum源配置

① 挂载镜像到本地操作系统

手动挂载光盘到指定目录

[root@Heima ~]# mount -o ro /dev/sr0 /mnt

开机自动挂载

[root@Heima ~]# echo "mount -o ro /dev/sr0 /mnt" >> /etc

或者

[root@Heima ~]# echo "/dev/sr0 /mnt iso9660 defaults,ro 0 0" >> /etc/fstab

说明:

1. /etc文件是操作系统开机最后读取的一个文件,该文件需要有可执行权限,开机时系统会帮你自动挂载,建议使用该方式。

2. /etc/fstab文件也可以,但是如果修改错误可能会导致系统起不来。

② 通过配置文件指定yum仓库

进入到指定目录里,清空操作系统默认的Centos源

[root@Heima ~]# cd /etc

[root@Heima yum.re]# rm -f ./*

在该目录下创建以.repo结尾的文件

[root@Heima yum.re]# vim local.repo

[local] 仓库的名字,不要有特殊符号(自定义)

name=local yum 仓库描述,可以不写

baseurl=file:///mnt 指定yum仓库的路径(重要),file://表示本地仓库

enabled=1 表示启用该仓库,1表示启用;0表示不启用

gpgcheck=0 不用校验仓库里软件包的签名,0表示不校验;1表示校验

2. 网络yum配置

① 方法1:

直接通过修改配置文件来指定yum仓库即可。

特定软件的网络源:

[root@Heima yum.re]# cat nginx.repo

[nginx]

name=nginx repo

baseurl=$basearch/

gpgcheck=0

enabled=1

基本软件的网络源:

[root@Heima yum.re]# cat 163.repo

[163]

​name=163 network yum

baseurl=

enabled=1

gpgcheck=1

gpgkey=RPM-GPG-KEY-CentOS-6

[root@Heima yum.re]# cat aliyun.repo

[aliyun]

name=aliyun

baseurl=

enabled=1

gpgcheck=1

gpgkey=RPM-GPG-KEY-CentOS-6

② 方法2:

通过安装软件包,自动创建.repo文件(自动配置)。

配置epel源为例:

1)下载epel源软件包

[root@Heima ~]# wget -P /tmp --no-check-certificate

--2019-02-20 09:42:41--

Resolving mirrors.aliyun.com... 119.96.206.232, 116.211.153.230, 116.211.153.236, ...

Connecting to mirrors.aliyun.com|:443... connected.

WARNING: certificate common name “img.ucdl.” doesn’t match requested host name “mirrors.aliyun.com”.

HTTP request sent, awaiting response... 200 OK

Length: 14540 (14K) [application/x-redhat-package-manager]

Saving to: “/tm”

100%[================================================================================>] 14,540 --.-K/s in 0.03s

2019-02-20 09:42:41 (538 KB/s) - “/tm” saved [14540/14540]

2)安装软件包

[root@Heima ~]# rpm -ivh /tm

warning: /tm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY

Preparing... ########################################### [100%]

1:epel-release ########################################### [100%]

3)检查配置文件

[root@Heima ~]# ls /etcepel*

/etcepel.repo /etcepel-testing.repo

三、yum工具相关命令

# yum install package -y

默认是安装来自仓库里的软件,指定的是软件名字。多个包空格隔开;-y (取消交互)

# yum install .

或者

# yum localinstall .

安装来自本地指定路径下的rpm包,而不是来自仓库

# yum remove 或者 erase package

卸载软件包

# yum update

更新仓库里所有比本机已经安装过的软件要的软件

# yum update package

指定升级的软件

# yum search mysql

搜索出所有软件名字“mysql”关键字的软件

# yum provides "libaudio;

找出模块由哪些软件包提供

# yum clean all

清空之前的yum列表缓存

# yum makecache

创建新的缓存

# yum list

列出仓库里的所有软件包

# yum repolist

列出已配置的软件仓库

# yum list |grep 关键字

@代表已经安装成功

# yum list installed

查看已安装的包

# yum grouplist

查看包组

# yum groupinstall "包组"

安装包组

# yum groupremove "包组"

四、总结

1. yum是Linux下用于安装rpm软件包的一个工具,要使用它安装软件包,必须提前配置yum源。

2. yum源分为本地yum源和网络yum源。本地yum源指软件仓库在本地;网络yum源指软件仓库在远程。

3. 软件仓库里既有软件包也要有repodata目录,即存放软件之间的依赖关系

4. yum工具安装rpm软件包的最大优势就是解决软件包的依赖关系,提高工作效率。

学习资源:

Linux从入门到精通

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“Linux如何做本地资源库”边界阅读