获取yum源
查看yum
cat /etc/yum.conf
查看yum安装包位置,centos7一般情况都在这个位置
ll /var/cache/yum/x86_64/7/
进入yum配置文件目录
- cd /etc/yum.repos.d/
备份配置文件(重新命名 mv 原文件名 新文件名 )
- mv CentOS-Base.repo CentOS-Base.repo.backup
下载网易163的yum源配置
可选到阿里开源镜像站点下载系统对应版本的repo文件,并重命名
- wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
清除系统yum缓存并生成新的yum缓存
- yum clean all && yum makecache
查看yum安装包:
- rpm -qa|grep yum
yum-metadata-parser-1.1.4-10.el7.x86_64
yum-3.4.3-154.el7.centos.noarch
yum-utils-1.1.31-50.el7.noarch
yum-plugin-fastestmirror-1.1.31-42.el7.noarch
有的话卸载
rpm(redhat package manager), rpm包,由“-”、“.”构成,包名、版本信息、版本号、运行平台,
--nodeps
(不验证相互关联性)
- rpm -e
软件名.rpm
--nodeps #单个卸载 - rpm -qa|grep yum|xargs rpm -e --nodeps #批量卸载
进入centos镜像网站找到自己对应系统需要的yum包
查看系统平台信息:
- cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
查看系统的位数:
- file /bin/ls
下载yum包推荐网易163镜像网站
注意:旧的包和预下载的包,名字有不同,主要是版本和操作系统位数的不同,要按URL/路径一步步检索,如第一个包只搜索
centos,第二个包搜索7.7.1908
- wget http://mirrors.163.com/centos/7.7.1908/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
- wget http://mirrors.163.com/centos/7.7.1908/os/x86_64/Packages/yum-3.4.3-163.el7.centos.noarch.rpm
- wget http://mirrors.163.com/centos/7.7.1908/os/x86_64/Packages/yum-utils-1.1.31-52.el7.noarch.rpm
- wget http://mirrors.163.com/centos/7.7.1908/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm
- wget http://mirrors.163.com/centos/7.7.1908/os/x86_64/Packages/yum-cron-3.4.3-163.el7.centos.noarch.rpm
Linux批量安装rpm包(单个下载,注意)
mv /root/原来的位/*rpm ./root #迁移
rpm -ivh --force --nodeps `软件名.rpm` #单删
rpm -ivh --force --nodeps yum-*rpm #多删
安装epel源
EPEL 是yum的一个软件源,里面包含了许多基本源里没有的软件了,但在我们在使用epel时是需要安装它才可以了,EPEL,即Extra Packages for Enterprise Linux的简称,是为企业级Linux提供的一组高质量的额外软件包,包括但不限于Red Hat Enterprise Linux (RHEL), CentOS and Scientific Linux (SL), Oracle Enterprise Linux (OEL),使用docker之前安装EPEL源。
切换到/etc/yum.repos.d/目录下
- cd /etc/yum.repos.d
下载好的有两个epel的.repo文件:
epel.repo
epel-testing.repo
备份
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
下载新repo 到/etc/yum.repos.d/,并重命名保存
- wget-O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
再次清除系统yum缓存,并重新生成新的yum缓存
- yum clean all && yum makecache fast
若上面两条命令有报错,一般为配置文件更改不完全,可根据错误信息查找配置文件中更改错误
查看系统可用的yum源和所有的yum源,安装源
- yum repolist enabled
- yum repolist all
更新所有
- yum update
linux 管道符号 |
&&
||
等等特殊符号笔记
重导向就是使命令改变它所认定的标准输出
>
可将结果输出到文件中,该文件原有内容会被删除,>>
则将结果附加到文件中,原文件内容不会被删除。<
可以改变标准输入。如:- cat data1.txt>>data2.txt(将data1.txt文件的内容加在data2.txt文件的后面)
- 管道
|
可将命令的结果输出给另一个命令作为输入之用:- man mtools|grep str (在mtools的帮助中搜索包含“str”的句子)
- man mtools|less(把输出用管道导入到一个叫做 less 的工具。less 是一个分页工具,它允许你一页一页地查看信息。)
连接符号:;
- 当有几个命令连续执行时,我们可以把它们放在一行内,中间用
;
分开。- mkdir myfile; cp /tmp/myfile.txt myfile
后台执行:&
当要把命令放在后台执行时,在命令的后面加上&
。
Linux shell的 && 和 ||
shell
在执行某个命令的时候,会返回一个返回值,该返回值保存在 shell
变量 $?
中。当 $? == 0
时,表示执行成功;当 $? == 1
时,表示执行失败。
有时候,下一条命令依赖前一条命令是否执行成功。shell 提供了 && 和 || 命令执行控制的功能,shell 将根据 && 或 || 前面命令的返回值来控制其后面命令是否执行。
-
&&(命令执行控制)
command1 && command2 [&& command3 ...]- && 连接命令,实现逻辑与的功能。
- 只有在 && 左边的命令返回真(命令返回值 $? == 0),&& 右边的命令才会被执行。
- 只要有一个命令返回假(命令返回值 $? == 1),后面的命令就不会被执行。
-
||(命令执行控制)
- 命令之间使用 || 连接,实现逻辑或的功能。
- 只有在 || 左边的命令返回假(命令返回值 $? == 1),|| 右边的命令才会被执行。这和 c 语言中的逻辑或语法功能相同,即实现短路逻辑或操作。
- 只要有一个命令返回真(命令返回值 $? == 0),后面的命令就不会被执行。
示例 2
@ubuntu:~$ rm ~/Desktop/1.txt || echo "fail"
在示例 2 中,如果 ~/Desktop 目录下不存在文件 1.txt,将输出提示信息。
示例 3
@ubuntu:~$ rm ~/Desktop/1.txt && echo "success" || echo "fail"
在示例 3 中,如果 ~/Desktop 目录下存在文件 1.txt,将输出 success 提示信息;否则输出 fail 提示信息。
() (命令组合)
语法格式:(command1;command2[;command3...])
- 同一行命令用
(;)
分隔。等同于多个独立的命令单独执行的效果。 ()
表示在当前 shell 中将多个命令作为一个整体执行。需要注意的是,使用()
的命令在执行前面都不会切换当前工作目录,也就是说命令组合都是在当前工作目录下被执行的,尽管命令中有切换目录的命令。- 命令组合常和命令执行控制结合起来使用。
示例 4
@ubuntu:~$ rm ~/Desktop/1.txt || (cd ~/Desktop/;ls -a;echo "fail")
在示例 4 中,如果目录 ~/Desktop 下不存在文件 1.txt,则执行命令组合。