环境准备
2.挂载光驱设备(临时挂载)
mount /dev/cdrom /mnt
ls /mnt
ls /mnt/Packags 软件包一般都会以.rpm结尾
RPM软件包管理
RPM的含义
·RPM Package Manager
·RPM包文件名特征
firefox - 52.7.0-1 . el7 . centos.x86_64 . rpm
RPM包的一般安装位置(都是默认的,不需要安装者进行选择安装包路径)
查询软件信息
查询已安装的RP软件包的信息
- 格式:rpm -q[子选项] [软件名称]
常用的子选项
- -a 列出已安装的所有软件包
- -i 查看指定软件的详情信息
- -l 查看指定软件的文件安装清单
- -f 查询某个目录/文件是哪个RPM包带来的
- 格式:rpm -qf [文件路径]...(即使目标文件被删除,也可以查询)
查询已经安装的软件包
rpm -qa 当前系统中所有已经安装的软件包
rpm -q bash 查看bash软件是否安装
rpm -qi bash 查看bash软件信息
rpm ql bash 查看bash软件安装了哪些内容(安装清单)
rpm ql bash | less
which vim 查询命令对应的执行程序
# /usr/bin/vim
rpm -qf /usr/bin/vim 查询某个目录/文件是哪个BPM包带来的
# vim-enhanced-7.4.629-8.el7_9.x86_64
rpm -q vim-enhanced 查看软件vim-enhanced是否已安装
# vim-enhanced-7.4.629-8.el7_9.x86_64
查询未安装的软件包
rpm -q vsftpd 查询vdftpd软件是否安装(未安装)
ls /mnt/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm
# /mnt/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm
rpm -qpl /mnt/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm 查询vdftpd软件包的安装清单
rpm -qpi /mnt/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm 查询vdftpd软件包的信息
导入红帽的签名信息(了解)
我们在查询部分安装包信息的时候有可能会出现警告信息,原因是因为没有红帽的官方认证,
可以导入红帽官方认证消除警告,如果我们不消除警告信息,也不会影响我们的安装和使用。
rpm --import /mnt/RPM-GPG-KEY-CentOs-7
rpm -qpi /mnt/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm 查询vdftpd软件包的信息
安装/卸载RPM软件
安装RPM软件
- 格式: rpm -i RPM包文件...
卸载RPM软件
- 格式: rpm -e 软件名...
辅助选项
- -v 显示细节信息
- -h 以#号显示安装进度
- --force 强制安装,覆盖安装
- --test 测试安装,不做真实安装动作
rpm -i /mnt/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm 安装vsftpd软件包(无任何提示信息)
rpm -ivh /mnt/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm 安装vsftpd软件包(显示安装信息和安装进度)
rpm -q vsftpd 查看vsftpd软件是否已经安装
rpm -e vsftpd 卸载vsftpd软件
--force 强制安装,覆盖安装
如果在操作系统中我们已经安装了一个软件,那么我们可以通过强制安装的方式覆盖安装原软件
rpm -ivh --force /mnt/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm 强制安装
--test 测试软件的兼容性(了解即可)
在实际安装之前,可以用测定安装的方法测试以下软件安装的兼容性等一系列问题(不是真实安装)
rpm -ivh --test /mnt/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm 测试安装
案例:
如果我们不小心删除了linux系统的命令,那么有什么恢复的办法
which hostname 查看hostname执行文件
# /bin/hostname
rm -rf /user/bin/hostname 删除hostname执行文件
hostname
# -bash: /bin/hostname: No such file or directory(找不到执行文件)
rpm -qf /user/bin/hostname 查看执行文件/user/bin/hostname由哪个软件包产生(-qf查询是在数据库中查询的,数据库会记录安装的记录和卸载的记录等等)
# hostname-3.13-3.el7_7.1.x86_64
rpm -ivh --force /mnt/Packages/hostname-3.13-3.el7_7.1.x86_64.rpm 重新安装执行文件软件包
软件依赖关系
· 解决依赖关系
· 忽略依赖关系
--nodeps
构建Yum软件仓库(重点!!!)
作用 : 自动解决依赖关系安装软件
服务 : 自动解决依赖关系安装软件
Yum软件就类似于手机的应用商城,只需要点击下载,会自动下载并安装软件
服务端(本机) :
1.众多的软件包(/mnt/Packages
) 2.仓库数据文件(/mnt/repodata
)
3. FTP 协议 或 HTTP协议
本地Yum仓库 : 服务端需要有光盘内容即可
客户端(本机) : 指定服务端位置
- 仓库配置 : /etc/yum.repos.d/*.repo
文件路径必须是/etc/yum.repos.d/
,文件结尾必须是.repo
结尾,/etc/yum.repos.d/
工作原理,系统会自动查找目录下文件。
- 错误的文件会影响正确的文件
如果在工作中出现错误的yum文件,建议使用mv移走
ls /etc/yum.repos.d/
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
# .repo结尾的文件都必须是连网才可以使用的,本机使用yum软件都必须先把.repo结尾的文件移动到其他目录下
# 如果不移动到其他目录下,那么.repo结尾的文件都是显示错误文件
ls /etc/yum.repos.d/bak
客户端文件配置内容
·.repo 基本配置项
- [源名称] 自定义名称,具有唯一性
- name : 本软件源的描述字串
- baseurl : 指定Yum服务端的URL地址 (file://固定格式,代表本地yum仓库的意思)
- enabled : 是否用此频道 (0不生效,1生效)
- gpgcheck : 是否验证待安装的RPM包 (检测红帽认证的签名:0不检测,1监测;检不监测都可以,不影响使用)
- gpgkey : 用于RPM软件包验证的密匙文件 (当gpgcheck:1时,需要写指定红帽签名的文件路径)
ls /mnt/RPM-GPG-KEY-CentOs-7 查看红帽认证签名的文件路径
# mnt/RPM-GPG-KEY-CentOs-7
vim /etc/yum.repos.d/mydvd.repo
[nana2008]
name=wanglala
baseurl=file:///mnt
enabled=1
gpgcheck=1
gpgkey=file:///mnt/RPM-GPG-KEY-CentOs-7
yum repolist # 列出仓库信息
总结 : 本地Yum仓库构建方法
yum命令--->/etc/yum.repos.d/*.repo--->baseurl=file:///mnt
Yum软件的使用
安装软件
# mkdir /mnt 创建/mnt目录
# mount /dev/cdrom /mnt 将光驱设备挂载到/mnt目录下
yum install *(如果不加-y则需要输入确认下载的信息)
yum -y install httpd 使用yum软件安装httpd包
rpm -q httpd 查看httpd包是否已经安装
yum -y install bind-chroot 使用yum软件安装bind-chroot包
rpm -q bind-chroot 查看bind-chroot包是否已经安装
yum -y install sssd 使用yum软件安装sssd包
rpm -q sssd 查看sssd是否已经安装
yum -y install gcc 使用yum软件安装gcc包
rpm -q gcc 查看gcc是否已经安装
yum -y install xorg-x11-apps 使用yum软件安装xorg-x11-apps包
rpm -q xorg-x11-apps 查看xorg-x11-apps包是否已经安装
rpm -ql xorg-x11-apps | less 查看目录下的文件安装清单
卸载软件
注意 : 我们在卸载软件的时候,不建议使用-y,很多软件与软件之间都存在依赖关系,
我们在卸载软件的时候,需要看清楚依赖关系再进行卸载,有些软件的依赖关系是跟数据库的软件有关联的。
yum remove * 卸载安装包
yum remove xorg-x11-apps 卸载xorg-x11-apps包以及相关的依赖包
yum remove gcc 卸载gcc包以及相关的依赖包
查询软件
yum list ftp 查询仓库是否有ftp软件
# Availables Packages 没有安装
# Installed Packages 已经安装
yum search ftp 包含ftp的软件就匹配(名字,功能含有ftp就算)
yum provides */ftp 仓库中哪个软件包产生了该文件(类似于rpm -qf *)
清空缓存
我们第一次运行yum软件的时候,会把/etc/yum.reposd/*.repo
文件加载到内存,下次运行yum软件的时候直接在内存里面找光盘的位置。
如果我们修改了配置文件的信息,我们需要让yum文件立刻读取我们修改过的配置文件信息,那么我们这个时候就需要先清空缓存的文件信息,让yum软件从硬盘中重新读取我们已经修改过的yum文件信息。
yum clean all 清空缓存
yum repolist 查看yum客户端配置文件的信息
yum被锁定了解决办法
Another app is currently holding the yum lock; waiting for it to exit...
The other application is: yum
Memory : 27 M RSS (963 MB VSZ)
Started: Mon Mar 15 11:03:17 2021 - 07:25 ago
State : Traced/Stopped, pid: 1639
使用yum下载的时候,出现以上报错,说明yum被锁住了。
可以使用 rm -rf /var/run/yum.pid 强制杀死进程来解决
上传与下载
wget 需要被下载的链接 # 默认下载到当前目录
--no-check-cretificate 取消验证ssl证书(当ssl链接不安全情况下使用)
wget https://repo.huaweicloud.com/python/3.7.1/python-3.7.1.exe python软件下载到当前目录下
选项: -O 下载到指定路径
wget -O /opt/python.exe https://repo.huaweicloud.com/python/3.7.1/python-3.7.1.exe 将python软件下载到opt目录下取名为python.exe
curl 需要被访问的链接
-k 取消验证ssl证书(当ssl链接不安全情况下使用)
选项-o 下载到指定路径
curl -o /opt/python.exe https://repo.huaweicloud.com/python/3.7.1/python-3.7.1.exe
curl与wget的区别
wget 下载文件
-O : 指定保存路径
curl 访问链接 # 显示链接源代码,并且会将链接的源代码在写入一个文本文件中保存
-o : 指定文件路径,从而达到下载文件的功能
上传下载到主机和个人电脑
需要安装 : lrzsz
安装命令 : yum -y install lrzsz
上传 rz -E
格式 : rz调出上传窗口,选择需要被上传的文件
下载 sz a.txt
格式 : zs服务器中的文件路径
命令补充
获取命令帮助
获取命令帮助
方式一:命令 --help
cat --help
方式二:man 命令
man cat 按q退出
man passwd 显示passwd命令帮助
man 5 passwd 数字5表示帮助类型,表示配置文件类型
历史命令
历史命令
history 显示历史命令列表
history -c 清空历史命令
history
cat /etc/redhat-release
ls /root
history
!cat 执行最近一次以cat开头的命令
!ls 执行最近一次以ls开头的命令
调整历史命令的数量
vim /etc/profile
HISTSIZE=1000 默认记录1000条
统计文件占用空间
du,统计文件的占用空间
- du [选项]... [目录或文件]...
- -s:只统计每个参数所占用的总空间大小
- -h:提供易读容量单位(k,M等)
du sh /etc 统计etc目录的总大小
date查看/调整时间
- date,查看/调整系统日期时间
· date +%F、date+%R
· date +"%Y-%m-%d %H:%M:%S" 修改系统的时间
· date -s "yyyy-mm-dd HH:MM:SS" 修改系统的时间
date +"2008-1-1 10:50:12" 修改系统的时间(方式一)
date -s "2021-3-15 8:30:50" 修改系统的时间(方式二)
date +%Y 显示年
date +%m 显示月
date +%d 显示日
date +%H 显示时
date +%M 显示分
date +%S 显示秒
date +%F 显示年月日(以-隔开,2021-03-15)
date +%R 显示时分(09:30)
- 同步互联网时间
yum install -y ntpdate 用yum包安装的ntpdate服务
ntpdate ntp.aliyun.com 同步互联网网络时间
- 系统硬件时钟
hwclock -r 查看服务器硬件主板的时间
# Fri 26 Mar 2021 04:35:18 PM CST -0.882678 seconds
- 系统软件时钟
date 查看当前Centos-7的系统时间
Fri Mar 26 16:36:20 CST 2021
- 将硬件时间同步到系统时间
hwclock -s 将硬件时间同步到系统时间
# Fri 26 Mar 2021 04:35:18 PM CST -0.882678 seconds
- 查看时区状态
timedatectl status 查看时区状态
# Local time: Fri 2021-03-26 16:38:50 CST
# Universal time: Fri 2021-03-26 08:38:50 UTC
# RTC time: Fri 2021-03-26 08:38:50
# Time zone: Asia/Shanghai (CST, +0800)
# NTP enabled: no
# NTP synchronized: no
# RTC in local TZ: no
# DST active: n/a
timedatectl set-timezone Asia/Shanghai 设置时区
软连接与硬链接
建立软连接只能使用绝对路径
制作连接(链接)文件(制作快捷方式) 软连接
格式:ln -s /路径/源数据 /路径/快捷方式的名称 # 软连接
ln -s /etc/sysconfig/network-scripts/ /ns 创建快捷方式/ns
#ln -s /etc/passwd / 如果根目录下不写名字,那么快捷方式名字就叫passwd
ls /
ls -l /ns 查看快捷方式的源数据信息
touch /ns/haha.txt 在快捷方式/ns创建haha.txt文件
touch /ns/nana.txt 在快捷方式/ns创建nana.txt文件
touch /ns/dudu.txt 在快捷方式/ns创建dudu.txt文件
ls /etc/sysconfig/network-scripts/ 查看源数据的目录,新增了haha.txt,nana.txt,dudu.txt三个文件
软连接优势:可以针对目录与文件制作快捷方式,支持跨分区
软连接缺点:源数据消失,快捷方式失效
硬链接
ln /路径/源数据 /路径/快捷方式的名称 硬链接
硬链接优势:源数据消失,快捷方式任然有效
硬链接缺点:只能针对文件制作快捷方式,不支持跨分区
软连接与硬链接的区别
rm -rf /opt/*
echo 123 > /opt/A.txt
ln -s /opt/A.txt /opt/B.txt 软连接B.txt
ln /opt/A.txt /opt/C.txt 硬链接C.txt
ls /opt 查看/opt目录下的文件和目录
rm -rf /opt/A.txt 删除源链接A.txt
cat /opt/B.txt 查看B.txt的文件内容,源链接被删除,B.txt直接无效
# cat: B.txt:No such file or directory
cat /opt/C.txt 查看C.txt的文件内容,源链接被删除,C.txt直接仍然有效
zip归档工具,跨平台
zip与tar的差别,tar只能在Linux系统中应用,zip在Linux和Windows系统都可以应用
归档 + 压缩操作:zip [-r] 备份文件.zip 被归档的文档...
[-r]: 被归档数据有目录,必须加上此选项
zip -r /opt/abc.zip /etc/passwd /home 将/etc/passwd和/home压缩至/opt.abc.zip中
ls /opt/ 查看/opt/目录内容
释放归档 + 解压操作:unzip 备份文件.zip [-d 目标文件夹]
mkdir /nsd20
unzip /opt/abc.zip -d /nsd20 将/opt/abc.zip释放至/nsd20中
[-l]: 只查看解压内容,不进行解压
unzip -l /opt/abc.zip 查看压缩包/opt/abc.zip里面压缩的内容