1、软件包安装
1、rpm包安装
- 自己解决依赖性
- 查询相关依赖
rpm包命名规则
命令
rpm -ivh 完整包名
- 选项
- -i install安装
- -v 显示更详细的信息
- -h 打印显示安装进度
- 生成环境不允许是用—nodeps
- —force会强制重新安装一下
- 默认安装路径
- 不指定安装位置就会由作者决定安装在哪里
- 不一定都是在下面的目录下
启动服务
rpm -Uvh 包名
- 升级安装,如果没有安装过,会安装
rpm -Fvh 全包名
-
4、查询
查询包
- rpm -q 包名
- -q 查询
- rpm -qa
- 查询所有包
- -a 查询所有
- rpm -qa | grep 包名
- 查询所有并且搜索是否安装过某个包
- rpm -q 包名
- 查询软件信息
- 安装的包名
- rpm -qi 包名
- -i 查询软件包的信息
- 查询没有安装的软件包信息
- rpm -qip 包全名
- 安装的包名
- 查询安装位置和文件列表
- rpm -ql 包名
- 查询未安装软件包的文件列表和打算安装的位置
- rpm -qlp 包全名
- -p 查询没有安装的软件包的信息
- rpm -qlp 包全名
- 查询系统文件属于哪个RPM包
- rpm -qf 系统文件名
- -f 查询系统文件属于哪个软件包
- rpm -qf 系统文件名
查询软件包所依赖的软件包
rpm -V 包名
- -V 校验指定RPM包中的文件
rpm -Vf 系统文件名
/etc/yum.repos.d/
[root@localhost yum.repos.d]# ls /etc/yum.repos.d/ CentOS-Base.repo CentOS-Media.repo CentOS-fasttrack.repo CentOS-CR.repo CentOS-Sources.repo CentOS-x86_64-kernel.repo CentOS-Debuginfo.repo CentOS-Vault.repo docker-ce.repo
这个目录下有很多yum源配置文件,默认情况下CentOS-Base.repo文件生效。 ```shell [root@iZbp1e7fv9j03792bdhg1qZ yum.repos.d]# cat CentOS-Base.repo.rpmsave
CentOS-Base.repo
[BaseOS] name=CentOS-$releasever - Base baseurl=http://mirrors.cloud.aliyuncs.com/$contentdir/$releasever/BaseOS/$basearch/os/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
[root@iZbp1e7fv9j03792bdhg1qZ yum.repos.d]#
- [base]:容器名称,一定要放在[]中
- name:容器说明,可以自己随便写
- mirrorlist:镜像说明,可以自己随便写
- baseurl:我们的yum源服务器的地址。默认是CentOS官方的yum源服务器,是可以使用的,如果你觉得慢,则可以改成你喜欢的yum源地址
- enabled:此容器是否生效,enabled=1表示此容器生效,0表示不生效
- gpgcheck:1则表示RPM的数字证书生效;如果为0则表示RPM的数字证书不生效
- gpgkey:数字证书的公钥文件保存位置。不用修改
<a name="U65FN"></a>
#### 2、yum 查询
- yum list [包名]
- yum search [包名]
<a name="V38qK"></a>
#### 3、安装
- yum -y install 包名
- -y 自动帮回答yes
<a name="Smr7K"></a>
#### 4、升级
- yum -y update 包名
- yum -y update
- 升级本机所有软件包,内核也会升级,请慎重使用
<a name="m3V6o"></a>
#### 5、卸载
- yum remove 包名
- 卸载的时候别用-y
- 因为装是装的该软件包和包下所有依赖
- 但是卸载是卸载当前软件包的上级包。并不卸载自己包的依赖
<a name="SCB7j"></a>
#### 6、软件组命令
- 查询
- yum grouplist
- 查询软件组内信息
- yum groupinfo 软件组名
- 安装
- yum groupinstall 软件组名
- 卸载
- yum groupremove 软件组名
<a name="Hqidk"></a>
## 2、源码包安装
<a name="rd34I"></a>
### 1、安装
<a name="tvUtn"></a>
#### 1、前置环境
- 进入源码包,查看是否有命令configure
- 可以在源码包中查看一个文件INSTALL这个是安装文档
- ./configure
- 生成Makefile文件
- ./configure --prefix=安装路径
- 编译
- make
- 安装
- make install
- 如果报错需要删除安装目录。
- 清理
- make clean
- 删除
- 直接删除安装目录
<a name="jviVH"></a>
## 3、脚本程序安装
<a name="KCqWa"></a>
# 2、用户
<a name="s3xXO"></a>
# 3、Shell
<a name="nxhHZ"></a>
## 1、什么是shell
<a name="wKzzr"></a>
## 2、echo
- 打印内容
- 选项
- -e 支持反斜线控制的字符转换(参考下表)
- -n 取消输出后行末的换行符号(就是内容输出后不换行)
- 
<a name="mrrWA"></a>
## 3、Shell脚本的执行
- 相对路径运行
- ./hello.sh
- 绝对路径运行
- /root/sh/hello.sh
- 通过Bash调用脚本
- bash hello.sh
<a name="pW45H"></a>
## 4、Bash基本功能
<a name="B0Tge"></a>
### 1、历史命令
- history [选项] [历史命令保存文件]
- 选项
- -c 清空历史命令
- -w 把缓存中的历史命令写入历史命令保存文件
- 默认历史命令保存文件
- ~/.bash_history
- vi /etc/profile
- HISTSIZE=1000 保存了.bash_history中存储多少条历史命令
<a name="JV9fi"></a>
### 2、命令别名
- 查询别名列表
- alias
- 设置别名
- alias 别名='原命令'
- 别名永久生效
- 写入~/.bashrc文件中
- 命令的执行优先级
- (1)执行用绝对路径或相对路径执行的命令
- (2)执行别名
- (3)Bash的内部命令
- (4)按照$PATH环境变量定义的目录查找顺序找到的第一个命令
<a name="hTdMQ"></a>
### 3、Bash常用快捷键

<a name="Kh3sQ"></a>
### 4、输入输出重定向
<a name="fOvIA"></a>
#### 1、Bash的标准输入输出

<a name="Rjzx2"></a>
#### 2、输出重定向
- 一般使用
- 命令 >> 文件 2>&1

<a name="g8iKV"></a>
#### 3、输入重定向

<a name="cZPi5"></a>
### 5、多命令顺序执行

<a name="UH1YD"></a>
### 6、管道符
<a name="qHMdV"></a>
#### 1、行提取命令grep
- grep [选项] "搜索内容" 文件名

<a name="AxS1x"></a>
### 7、Bash中其他特殊符号

<a name="iW0EE"></a>
### 8、Bash的变量
<a name="J1UJW"></a>
#### 1、什么是变量
- 变量名称由字符、数字和下划线组成,不能以数字开头
- 变量的默认类型都是字符串,如果要进行数字运算符,则必须制定变量类型为数值类型
- 变量用等号连接值,等号左右两侧不能有空格
- 增加变量的值
- test=123
- test="$test"456
- echo $test
<a name="S067o"></a>
#### 2、变量分类
- 用户自定义变量
- 环境变量
- 用户自定义环境变量
- 系统自带环境变量
- 位置参数变量
- 预定义变量
- 是Bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的
| 变量分类 | 名称 | 作用 | 内容 |
| --- | --- | --- | --- |
| 用户自定义变量 | 自定义 | 自定义 | 自定义 |
| 用户自定义环境变量 | 自定义 | 自定义 | 自定义 |
| 系统自带环境变量 | 确定 | 确定 | 自定义 |
| 位置参数变量 | 确定 | 确定 | 自定义 |
| 预定义变量 | 确定 | 确定 | 自定义 |
<a name="FN1l5"></a>
#### 3、用户自定义变量
- 变量定义
- name=shen chao
- 变量调用
- echo $name
- 变量查看
- set 命令
- 选项
- -u 如果设定此选项,调用未声明变量时会报错
- -x 如果设定此选项,在命令执行之前,会把命令先输出一次
- 变量删除
- unset 变量名
<a name="cQf5C"></a>
#### 4、环境变量
- 环境变量设置
- export age="18"
- 环境变量查询和删除
- 删除
- unset age
- 查询可以用 env和set
- set命令可以查看所有变量
- env命令只能查看环境变量
- PATH变量:
- 系统查找命令的路径
- 用:分割的路径
- PS1变量
- 命令提示符设置
```shell
[root@localhost sh]# echo $PS1
[\u@\h \W]\$
- read [选项] [变量名]
- 选项
- -p 提示信息
- -t 秒数,默认会一直等,加了该参数就指定等待时间
- -n 字符数,接收到了指定的字符数就直接执行
- -s 隐藏输入的数据。
变量名
数值运算
- 数组变量类型
- 只读属性
- 只要设置了这个变量就不能修改了。
查询变量属性和取消变量属性
$((运算式))
- (推荐用这种)
支持的运算符
用来加载配置文件
- 调用过程