Skip to content

Commit c4b5f3e

Browse files
committed
yum源配置
1 parent 21d51db commit c4b5f3e

19 files changed

+563
-216
lines changed

Linux/5-yum源配置.md

Lines changed: 251 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,251 @@
1+
---
2+
typora-copy-images-to: img
3+
---
4+
5+
6+
7+
## 扩展-Linux操作命令【不要求,学有余力可以了解】
8+
9+
## 查看命令的使用方法,或者查看命令的说明
10+
11+
- `man 命令`
12+
13+
![1576057981486](img/1576057981486.png)
14+
15+
- `info 命令 `
16+
17+
![1576058065143](img/1576058065143.png)
18+
19+
- `命令 -help` : 如果该方式不能使用,则建议使用man或者info。
20+
21+
![1576058227429](img/1576058227429.png)
22+
23+
## `!$`
24+
25+
`!$` 表示获取==上一条命令的最后一个参数==
26+
27+
- 示例:
28+
29+
```shell
30+
#前一条命令
31+
mv /root/apache-tomcat-8.5.32.tar.gz /usr/local/tomcat
32+
# 使用 !$ ,则等效于 cd /usr/local/tomcat
33+
cd !$
34+
```
35+
36+
- 场景: 如果用于前面命令的参数表较长的时候,后面的命令又要用到时,则可以很方便
37+
38+
## `find`
39+
40+
find 命令用于查找信息
41+
42+
- 语法: ` find [PATH] [表达式]` ; 默认路径为当前目录;
43+
44+
- 示例:
45+
46+
![](img/1576057511502.png)
47+
48+
- `find / -name mysql` : 表示在根目录/下面按名字全文匹配mysql
49+
- `find / -name mysql*` : 表示在根目录/下面按名字模式匹配mysql开头的任意资源
50+
51+
- 结果比较如下:![](img/1576057781943.png)
52+
53+
## `yum`
54+
55+
yum和rpm有些类似,也是用于包管理的命令,但是它可以解决包之间的依赖关系,rpm则是独立的包,yum下载安装包时可以把相关的包也一同下载安装好。==yum 命令后面加上 -y 可以减少交互(即全部默认同意)==。可以**==自动处理依赖性关系,并且一次安装所有依赖的软体包==**
56+
57+
>**Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。**
58+
59+
- 几个常用的命令:==clean、install、list、search、update、upgrade、remove==
60+
61+
- clean : 清空缓存文件; yum会将下载下来的 包文件rpm和头文件header存盘在 本地机器的硬盘 缓存中,这个将占用 硬盘空间, 可以将这些内容清除掉, 以释放磁盘空间:
62+
63+
`yum clean headers`: // 释放头文件
64+
`yum clean packages`: // 清除包文件
65+
`yum clean all `: // 清除所有
66+
67+
- `yum install 包` : 会从指定的yum源安装指定的包;(yum源有点类似于包的地址,想象一下maven的仓库)
68+
- `yum list` : 会列出当前可用的安装包
69+
- `yum search 包`: 可以搜索指定的包
70+
- `yum update`:升级所有包同时也升级软件和系统内核 【如不是很明确要升级,则**慎用**该命令】
71+
- `yum upgrade`:只升级所有包,不升级软件和系统内核
72+
- `yum remove 包` : 移除指定的包
73+
74+
- ```shell
75+
yum list all ##列出所有安转包
76+
yum list installed ###列出已经安装的
77+
yum list available ###列出没有安装的
78+
yum remove software ###卸载软件
79+
yum install software ###安装软件
80+
yum search 关键字 ###搜索与关键字相关的软件
81+
yum whatprovides 文件 ###搜索包含此文件的包
82+
yum reinstall software ###从新安装软件
83+
yum localinstall 第三方软件 ##安装该软件并解决依赖关系
84+
yum info software ###查询软件信息
85+
yum groups list ###列出软件组
86+
yum groups install ###安装组
87+
yum groups remove ###卸载组
88+
yum groups info ###查看组信息
89+
```
90+
91+
## 查看系统版本:
92+
93+
- `cat /etc/redhat-release `
94+
- `uname -a`
95+
96+
## ==挂载本地磁盘==
97+
98+
需要注意,在虚拟机上做以下设置才行(`虚拟机`--》`设置`):
99+
100+
- ![1576114390863](img/1576114390863.png)
101+
102+
- **vim** **/etc/fstab** **#在文档最后,添加以下内容:**
103+
104+
**/dev/cdrom** **/mnt** **iso9660 defaults 0 0**
105+
106+
- **mount -a**
107+
- **ls /mnt/** **#如果查看到该目录下有内容,则说明磁盘已经挂载成功**
108+
109+
![1576061730124](img/1576061730124.png)
110+
111+
![1576061785195](img/1576061785195.png)
112+
113+
114+
115+
## 【多学一招-配置yum源】
116+
117+
### 配置本地yum源
118+
119+
- yum 源一般配置在 ==**/etc/yum.repos.d**== 目录,可以cd进去;yum源配置文件必须以==.repo== 结尾(可以理解是一个仓库的意思,有点类似maven的仓库镜像地址)
120+
121+
![1576115489482](img/1576115489482.png)
122+
123+
- 通过命令`cat CentOS-Base.repo` 可以查看系统的基本yum源文件里面配置了好一些yum源:
124+
125+
```shell
126+
[base]
127+
name=CentOS-$releasever - Base
128+
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
129+
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
130+
gpgcheck=1
131+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
132+
133+
#released updates
134+
[updates]
135+
name=CentOS-$releasever - Updates
136+
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
137+
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
138+
gpgcheck=1
139+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
140+
141+
.....
142+
```
143+
144+
- 这里要说明一下参数的含义
145+
146+
- **`[base]`** : 是id,在该服务器必须是唯一的; 这里配置了很多如base、updates
147+
- **`name`**=CentOS-$releasever - Base : name属性表示取名
148+
- **`baseurl`** 属性:**yum源的路径,提供方式包括FTP(ftp://...)、HTTP(http://...)、本地(==file:///==...** **光盘挂载目录所在的位置)**
149+
- **enabled** 属性: 为1表示启用yum源,为0表示禁用
150+
- **gpgcheck ** 属性:为1,表示使用公钥检验rpm包的正确性;为0则不校验
151+
- **gpgkey** 属性: 指定进行rpm校验的公钥文件地址
152+
153+
- 首先需要挂载磁盘、挂在镜像(挂载磁盘参考上面的知识点)
154+
155+
- 检查虚拟光驱中有加载镜像
156+
- `mount /devcdrom /mnt`
157+
- `ls /mnt`
158+
159+
-`/etc/yum.repos.d` 目录创建一个自己的文件: CentOS6==.repo==
160+
161+
- 插入以下内容:
162+
163+
```shell
164+
[CentOS6]
165+
name=CentOS6
166+
baseurl=file:///mnt
167+
enable=1
168+
gpgcheck=0
169+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
170+
```
171+
172+
173+
174+
### 配置网络yum源
175+
176+
网络yum源的配置是使用网络上的资源,所以需要下载,比如可以使用阿里的镜像:https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.53322f701oDDMo
177+
178+
#### 1. 备份本地基本yum源
179+
180+
```shell
181+
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
182+
```
183+
184+
#### 2.下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/
185+
186+
```shell
187+
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
188+
# 该命令表示下载将路径:http://mirrors.aliyun.com/repo/Centos-6.repo 表示的文件下载好后保存到/etc/yum.repos.d/CentOS-Base.repo文件中,其实就是覆盖了原来的这个文件
189+
```
190+
191+
**==wget== 命令表示下载文件 ,==-O== 将wget下载的文件,保存到指定的位置,保存时可以重新起一个名字,或者直接写一个要保存的路径,这样还用原来的文件名。**
192+
193+
#### 3.查看
194+
195+
此时可以使用命令**vim** **/etc/yum.repos.d/CentOS-Base.repo**查看,内容已经发生改变了:
196+
197+
```shell
198+
[base]
199+
name=CentOS-$releasever - Base - mirrors.aliyun.com
200+
failovermethod=priority
201+
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
202+
http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
203+
http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
204+
gpgcheck=1
205+
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
206+
207+
#released updates
208+
[updates]
209+
name=CentOS-$releasever - Updates - mirrors.aliyun.com
210+
failovermethod=priority
211+
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
212+
http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
213+
http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
214+
gpgcheck=1
215+
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
216+
```
217+
218+
这里有几个变量要说明下:
219+
220+
- **$releasever** 表示系统的版本
221+
- 等于 **cat /etc/centos-release** 得到的值: `CentOS release 6.5 (Final)`
222+
- **$basearch** 表示位数:32机器: `i386` 、 64位机器: `x86_64`
223+
224+
#### 4. 替换
225+
226+
==如果下载后不能使用==,则修改一下里面的 `$releasever`值全部替换为阿里云镜像对应的版本的最新值:
227+
228+
- **http://mirrors.aliyun.com/centos/** 找到centos6,找到最新的值`6.9`进行替换;如果是centos7的话可以换成`7.7.1908`
229+
230+
![1576117675409](img/1576117675409.png)
231+
232+
快速替换的方式:
233+
234+
```shell
235+
sed -i 's/$releasever/6.9/g' /etc/yum.repos.d/CentOS-Base.repo
236+
# 该sed命令意思是 在/etc/yum.repos.d/CentOS-Base.repo文件中全部(g)搜索并替换$releasever为6.9
237+
```
238+
239+
#### 5. 查看是否生效
240+
241+
- **yum clean all** : **清空一下yum缓存**
242+
- **yum list** : **查看列表**
243+
244+
### yum报错的常用注意事项
245+
246+
**1、确定光盘是否链接,光盘是否挂载**
247+
248+
**2、配置文件中格式是否正确,字母,符号有没有少写,挂载点和配置文件中设置的是否一致**
249+
250+
**3、网络源需要联网,操作和RPM类似,只是会自动安装依赖项**
251+

Linux/img/1576057399279.png

20.3 KB
Loading

Linux/img/1576057511502.png

86.2 KB
Loading

Linux/img/1576057711660.png

46 KB
Loading

Linux/img/1576057716311.png

46 KB
Loading

Linux/img/1576057723337.png

46 KB
Loading

Linux/img/1576057726913.png

46 KB
Loading

Linux/img/1576057730548.png

46 KB
Loading

Linux/img/1576057740616.png

46 KB
Loading

Linux/img/1576057781943.png

260 KB
Loading

0 commit comments

Comments
 (0)