一、YUM
1.1 什么是YUM
在CentOS系统中,软件管理方式通常有三种方式:rpm安装、yum安装以及编译(源码)安装。
编译安装,从过程上来讲比较麻烦,包需要用户自行下载,下载的是源码包,需要进行编译操作,编译好了才能进行安装,这个过程对于刚接触Linux的人来说比较麻烦,而且还容易出错。
好处在于是源码包,对于有需要自定义模块的用户来说非常方便。
Yum(全称为YellowdogUpdater,Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。
基于rpm包管理,能够从指定的服务器(yum源)自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
==应用商店== ==谷歌商店:默认的==
案例:想象一下,你在超市购物,YUM就像是一个购物助手,它会帮你找到所有需要的商品(软件包),并且确保你买到的商品是可以一起使用的(解决依赖关系)。
1.2 YUM的基本用法
搜索软件包
使用 yum search
命令可以搜索软件包。
yum search 软件名称的关键词
案例:搜索阿里云仓库中的vim软件。
yum search vim
1.3 为什么需要换源?
在使用YUM时,默认的YUM源(国外的yum源)可能会因为网络问题、速度慢或不稳定而导致安装和更新软件包的过程变得缓慢。换源就是将默认的YUM源替换为更快、更稳定的源。
形象解释:想象一下,你在一个城市的超市购物,超市的货物供应不稳定,常常缺货,导致你无法顺利购买到所需的商品。换源就像是你换到了一个更大的超市,这个超市的货物供应充足,价格合理,购物体验更好。
在中国,阿里云的YUM源通常比默认源更快,因此很多用户会选择将YUM源换成阿里云的镜像源。
1.4 YUM源配置(重点)
YUM源配置文件所在路径 => /etc/yum.repos.d 文件夹。这个文件夹中包含了系统中所有的YUM源配置文件,每个文件都定义了一个或多个软件包源。
第一步:进入yum的配置文件夹
cd /etc/yum.repos.d-- 查看文件夹的内容
ll
以下是一些常见的YUM源配置文件及其说明:
-
CentOS-Base.repo:这是默认的YUM源配置文件,包含了CentOS的主要软件包源。它提供了大多数用户所需的基本软件包。
-rw-r--r--. 1 root root 1664 11月 23 2020 CentOS-Base.repo
CentOS-CR.repo:这个文件包含了CentOS的持续更新(CR,Continuous Release)源。它提供了最新的更新和修复,适合希望获得最新软件包的用户。
-rw-r--r--. 1 root root 1309 11月 23 2020 CentOS-CR.repo
CentOS-Debuginfo.repo:这个文件包含了调试信息的源,主要用于开发和调试目的。它提供了软件包的调试信息,帮助开发者在调试时使用。
-rw-r--r--. 1 root root 649 11月 23 2020 CentOS-Debuginfo.repo
CentOS-fasttrack.repo:这个文件包含了快速通道的源,提供了一些快速更新的软件包,适合需要快速获取更新的用户。
-rw-r--r--. 1 root root 314 11月 23 2020 CentOS-fasttrack.repo
CentOS-Media.repo:这个文件用于配置本地媒体源,通常用于从光盘或USB驱动器安装软件包。
-rw-r--r--. 1 root root 630 11月 23 2020 CentOS-Media.repo
CentOS-Sources.repo:这个文件包含了源代码的YUM源,适合需要编译软件包的用户。
-rw-r--r--. 1 root root 1331 11月 23 2020 CentOS-Sources.repo
CentOS-Vault.repo:这个文件包含了旧版本的YUM源,适合需要访问旧版本软件包的用户。
-rw-r--r--. 1 root root 8515 11月 23 2020 CentOS-Vault.repo
CentOS-x86_64-kernel.repo:这个文件包含了针对x86_64架构的内核源,适合需要特定内核版本的用户。
-rw-r--r--. 1 root root 616 11月 23 2020 CentOS-x86_64-kernel.repo
通过这些配置文件,YUM能够从不同的源获取软件包,用户可以根据需要选择合适的源进行安装和更新。
1.5 在YUM镜像源中添加阿里云镜像源。
在更换YUM源之前,你需要了解两个常用的命令行工具:curl
和 wget
。
-
curl:
curl
是一个用于在命令行中与服务器进行数据传输的工具。它支持多种协议,包括HTTP、HTTPS、FTP等。使用curl
可以方便地下载文件或与API进行交互。 -
wget:
wget
是一个用于从网络上下载文件的命令行工具。它支持HTTP、HTTPS和FTP协议,能够在下载过程中自动处理重定向和断点续传。
接下来,你可以使用以下步骤将YUM源更换为阿里云的镜像源:
第一步:备份Centos-Base.repo这个源(更改后缀名.repo=>.repo.bak)
mv CentOS-Base.repo CentOS-Base.repo.bak第二步:使用wget命令下载阿里云的镜像文件
wget -O /etc/yum.repos.d/Centos-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
选项说明:
-O:指定文件下载的位置以及名称第三步:清理YUM缓存
yum clean all第四步:重新建立缓存(让新YUM源生效)
yum makecache
安装软件包
使用 yum install
命令可以安装软件包。
基本语法:
yum install 软件名称[选项]选项:
-y:yes缩写,确认安装,不提示。
案例:使用yum命令安装httpd。
yum install httpd
卸载软件包
使用 yum remove
命令可以卸载软件包。
yum remove 软件名称[选项]选项:
-y :yes缩写,确认卸载,不提示。
更新软件包
使用 yum update
命令可以更新软件包。
基本语法:
yum update 软件名称[选项]选项:
-y :yes缩写,确认更新,不提示。
查看已安装软件包
使用 yum list installed
命令可以查看已安装的软件包。
yum list installed
扩展:EPEL源配置
当你下载软件没有yum方式下载,可以尝式换源或者下载扩展源,也可以使用源码安装和rpm安装
什么是EPEL源?
答:EPEL是对官网源的一个扩展。
CentOS-Base.repo文件 => 基础源(官方在带的YUM源)
epel.repo文件 => 扩展源,是对官方YUM源的一个补充
yum install epel-release -y
比如:会跑的小火车就是在epel源中
yum install sl -ysl
1.6 特定软件的YUM(Nginx、MySQL、Zabbix)源配置
比如特殊的几个软件,如Nginx、MySQL、Zabbix
Nginx: nginx(纯前端网页)
nginx:Linux 软件包
按照步骤即可
最后测试
-- 关闭防火墙
systemctl stop firewalld-- 打开nginx
systemctl start nginx-- 访问nginx
curl localhost-- 查询自己的ip
ifconfig
将自己ip输入到网址去
MySQL: https://www.mysql.com/
第二步:
yum install 上面图片复制的yum install mysql-server -y
第三步:查看下载的mysql仓库
cd /etc/yum.repos.dll
第四步:
ctrl + d退出mysqlmysql -uroot -p 使用新密码登录
到这里mysql安装完了
Zabbix: Zabbix :: The Enterprise-Class Open Source Network Monitoring Solution
找到官方文档,把YUM源配置,写入到一下文件中(repo文件)
#cd /etc/yum.repos.d
#vim nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/Sreleasever/Sbasearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
清理缓存:
yum clean all
yum makecache
安装Nginx:
yum install nginx -y
1.7 本地YUM配置
使用光盘镜像作为YUM源仓库
下载很多软件,使用软件包作为YUM源仓库
使用光盘镜像作为YUM源仓库
第一步:在VMware系统中装在CentOS7.6系统的光盘镜像
第二步:把光盘挂载到某个目录下
cd ~
rm -rf /mnt/*
mount -o ro /dev/sr0 /mnt
选项说明:
-o:挂载方式ro代表以readonly=>只读的方式进行挂载rw代表以read/write=>读写的方式进行挂载#lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part├─centos-root 253:0 0 17G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sr0 11:0 1 9.6G 0 rom /mnt
第三步:把光盘挂载添加到开机启动文件中
chmod +x /etc/rc.localecho 'mount -o ro /dev/sr0 /mnt' >> /etc/rc.local
/etc/rc.local,属于系统的开机启动文件。系统启动后,会自动加载并执行这个文件
第四步:编写本地YUM仓库文件
cd /etc/yum.repos.d/
创建一个以*.repo结尾的文件,名称任意vim local.repo[local]
name=local yum
baseurl=file:///mnt
gpgcheck=0
enabled=1注:file://本地协议路径,后面跟仓库的具体路径
yum clean allyum makecacheyum repolist all
yum仓库的标准格式[仓库标识名称],名称任意,在一个文件中可以拥有多个标识name=仓库名称baseurl=仓库的路径,支持多种格式,file://本地路径,ftp://,http:// 或https://gpgcheck=gpg密钥,值可以是0(代表不检测),1(代表检测,如果是1,下方还要定义一个gpgkey=密钥链接)enabled=是否启动当前仓库,值可以0,也可以是1,默认为1,代表启动仓库
第五步:测试本地YUM仓库是否可用
yum install httpd -y
二、源码安装的配置过程
在Linux系统中,源码安装一共分为三步
使用centOS7系统要先下载下面两个东西
-- 下载编译器
yum install gcc-- 用于需要编译和链接 OpenSSL 库的开发环境中
yum install openssl-devel
OpenSSL 是一个开源的加密工具包,广泛应用于网络通信中,提供对称和非对称加密、数字签名等功能,确保数据传输的安全性
它主要由三个部分组成:SSL协议库、应用程序命令工具和密码算法库
基本功能1、SSL协议库:实现了SSL和TLS协议,用于加密传输数据,确保通信的私密性和完整性
2、应用程序命令工具:提供了丰富的命令行工具,用于加密、解密、生成密钥和证书等操作
3、密码算法库:包含了多种对称和非对称加密算法,如AES、DES、RSA等
第一步:配置过程(配置软件的安装路径)
第二步:编译过程(把软件由源代码编译成可以安装的程序)
第三步:安装过程(把编译后的程序进行安装
2.1 axel源码安装
第一步:获取axel多线程下载软件
第二步:上传axel软件包到Linux系统中
对软件进行解压缩操作
这里注意压缩包是什么结尾的,这里小编以axel(多线程下载工具,结尾为 .bz2结尾的来演示)
#tar -zxf axel-2.4.tar.gz
或
#tar -xf axel-2.4.tar.gztar -jxvf xx.tar.bz2
使用cd命令切换到axel目录中
# cd axe1-2.4
设置axel软件的安装路径为/opt/axel
# ./configure --prefix=/opt/axel
配置过程(定制)
# cd 软件源码包
# ./configure [选项]
# ./configure --help--prefix=... Directories to put files in [/usr/local] 软件家目录
--bindir=... $prefix/bin 命令的目录
--etcdir=... $prefix/etc 配置文件的目录 也可能安装到系统/etc目录下 (httpd => /etc/httpd/httpd.conf)
--mandir=... $prefix/share/man man 文档路径
--locale=... $prefix/share/locale 语言编码----------
./configure --prefix=/opt/cmatrix
第三步:安装axel软件(源码安装三步走 --> 配置+编译+安装)
对axel软件进行编译与安装
make (编译)
make install (编译并安装)或make && make install
&&:逻辑与,如果make编译成功会立即执行右边的makeinstall安装程序,如果make编译失败,则以上程序会停止执行,然后抛出错误。
设置 " 快捷方式 "
以源码形式安装的软件
执行命令需要使用全路径执行
设置类似于【快捷方式】
连接 linkln -s /opt/axel/bin/axel /usr/bin