|
| 1 | +--- |
| 2 | +typora-copy-images-to: img |
| 3 | +--- |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | +## 扩展-Linux操作命令【不要求,学有余力可以了解】 |
| 8 | + |
| 9 | +## 查看命令的使用方法,或者查看命令的说明 |
| 10 | + |
| 11 | +- `man 命令` : |
| 12 | + |
| 13 | +  |
| 14 | + |
| 15 | +- `info 命令 ` |
| 16 | + |
| 17 | +  |
| 18 | + |
| 19 | +- `命令 -help` : 如果该方式不能使用,则建议使用man或者info。 |
| 20 | + |
| 21 | +  |
| 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 | +  |
| 47 | + |
| 48 | +- `find / -name mysql` : 表示在根目录/下面按名字全文匹配mysql |
| 49 | +- `find / -name mysql*` : 表示在根目录/下面按名字模式匹配mysql开头的任意资源 |
| 50 | + |
| 51 | +- 结果比较如下: |
| 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 | +-  |
| 101 | + |
| 102 | +- **vim** **/etc/fstab** **#在文档最后,添加以下内容:** |
| 103 | + |
| 104 | + **/dev/cdrom** **/mnt** **iso9660 defaults 0 0** |
| 105 | + |
| 106 | +- **mount -a** |
| 107 | +- **ls /mnt/** **#如果查看到该目录下有内容,则说明磁盘已经挂载成功** |
| 108 | + |
| 109 | + |
| 110 | + |
| 111 | + |
| 112 | + |
| 113 | + |
| 114 | + |
| 115 | +## 【多学一招-配置yum源】 |
| 116 | + |
| 117 | +### 配置本地yum源 |
| 118 | + |
| 119 | +- yum 源一般配置在 ==**/etc/yum.repos.d**== 目录,可以cd进去;yum源配置文件必须以==.repo== 结尾(可以理解是一个仓库的意思,有点类似maven的仓库镜像地址) |
| 120 | + |
| 121 | +  |
| 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 | +  |
| 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 | + |
0 commit comments