包管理工具与软件安装
- 课程知识点
- 包管理工具的使用
- 软件安装的方法
- 技术目标
- 掌握文件的打包、压缩、解压缩的方法
- 掌握软件安装的方法
- 课程内容
一、文件的打包、压缩与解压缩
1.1 TAR工具的使用
TAR(Tape Archive,TAR)是 Linux 下的包管理工具,具有 5 种功能:打包、查询、释放、更新、追加。
命令格式:tar [主选项+辅助选项] [文件或目录]
|------------|------------------|
| 选项 | 说明 |
| -c | 创建新的tar 包 |
| -t | 列出tar 包文件的列表 |
| -x | 从tar 包中释放文件 |
| -r | 把备份文件追加到已备份文件的末尾 |
| -f | 备份文件或设备,必选项 |
| -v | 显示命令执行的详细信息 |
| -z | 用gzip 来压缩/解压缩文件 |
| -j | 用bzip2 来压缩/解压缩文件 |
| -C | 指定文件解压后的存放路径 |
【举例】/mnt/目录下有s1、s2、s3和1.txt四个文件,现完成以下打包和解包要求:
(1)将这4个文件打包成bak.tar放在/mnt/目录下
(2)将这4个文件打包成bak2.tar放在/mnt/bak目录下
(3)将这4个文件分别以gzip和bzip2方式压缩为bak.tar.gz和bak.tar.bz2
(4)存放在/mnt/bak目录下
(5)查看各个包文件内的文件列表,并将这4个文件删除。
(6)向tar包中追加/mnt/newfile文件
(7)对包文件进行解压
1.2 ZIP 工具的使用
centOS7系统默认就已经安装了zip压缩工具,可以直接使用。
压缩文件:# zip -r files.zip files
解压文件到当前目录:# unzip wp.zip
解压文件到指定目录:#unzip -d /mnt/ wp.zip
1.3 RAR 工具的使用
Rar工具需要我们手动安装才能使用。
命令格式:rar <命令> -<选项1>...-<选项N> <操作文档> <文件...> <@文件列表...> <解压路径>
选项说明:
a 添加文件到操作文档
c 对操作文档添加说明注释
d 从文档中删除文件
e 将文件解压到当前目录
df 文档操作后删除源文件
ed 不添加空目录
(1)下载rarlinux-x64-5.7.1.tar.gz:https://www.rarlab.com/download.htm
(2)解压后将rar文件复制到/usr/local目录下
(3)然后执行以下命令
ln -s /usr/local/rar/rar /usr/local/bin/rar
ln -s /usr/local/rar/unrar /usr/local/bin/unrar
(4)文件的压缩与解压缩
****压缩文件:****如果test.rar文件不存在,则压缩,如果存在则添加文件到压缩包。
rar a test.rar 1.txt 2.txt 3.txt 压缩后保留原文件
rar a -df test.rar 1.txt 2.txt 3.txt 压缩后删除原文件
#rar a -ed test.rar dir1 不对空目录进行压缩
****解压文件:****将文件解压到/mnt/目录下,加上-y就不再出现确认提示。
rar e test.rar /mnt -y
二、Linux系统下安装软件的方法
在Linu系统中常见的有RPM包安装、YUM源安装、源代码安装等软件安装方法,接下来将分别介绍这些软件安装的方法。
2.1 RPM包安装
2.1.1 RPM包管理工具介绍
****·****RedHat软件包管理工具(RedHat Package Manager,RPM)
****·****RPM软件包工具常用于软件包的安装、查询、更新升级、校验、卸载以及生成.rpm格式
的软件包等操作。
****·****RPM软件包工具只能管理后缀是.rpm的软件包。软件包的命名格式:
****·****软件名称-版本号(包括主版本号和次版本号).软件运行的硬件平台.rpm
例:telnet-server-0.17-59.el7.x86_64.rpm。
2.1.2 RPM工具的使用
RPM主要有5种基本功能:查询、安装、升级、刷新、卸载。
命令格式:rpm [选项] [文件]
|-----|-------------------------|
| 选项 | 说明 |
| -a | 显示所有软件包 |
| -q | 查询功能 |
| -i | 安装指定的软件包,通常和-v,-h选项结合使用 |
| -e | 删除指定的软件包 |
| -f | 查询拥有指定文件的软件包 |
| -i | 显示软件包的相关信息,通常和-q选项结合使用 |
| -l | 显示软件包的文件列表 |
| -p | 查询待安装的软件包 |
| -R | 显示软件包的关联性信息 |
| -s | 显示文件状态,通常结合-l选项使用 |
| -U | 升级指定的软件包 |
| -v | 显示指令执行过程 |
| -h | 在安装过程中将显示一系列的#来表示安装进度 |
| -vv | 详细显示指令执行过程,便于排错 |
| F | 刷新软件 |
【举例1】软件包的查询功能
查询系统中已经安装的所有RPM 软件包。
rpm -qa
在已经安装的软件包中查询包含lib关键字的软件包的名称。
rpm -qa | grep lib
查询openssh-server软件包是否已经安装。
rpm -q openssh-server
查询openssh-server和telnet-server两个软件是否已经安装。
rpm -q openssh-server telnet-server
查询已安装的openssh-server软件包的信息。
rpm -qi openssh-server
查询openssh-server软件包中有哪些文件,以及这些文件安装在系统的位置。
rpm -ql openssh-server
查询/var/empty/sshd目录是安装哪一个软件包而创建的
rpm -qf /var/empty/sshd
【举例2】安装软件(rpm -ivh 软件包名称)
安装telnet-server-0.17-59.el7.x86_64.rpm软件包
#rpm -ivh telnet-server-0.17-59.el7.x86_64.rpm
【举例3】升级是先将低版本的软件包卸载,再安装高版本的软件包。
升级telnet软件为telnet-server-0.17-59.el7.x86_64.rpm软件包。
#rpm -Uvh telnet-server-0.17-59.el7.x86_64.rpm
【举例4】 刷新,如果选项指定软件包的版本更高,会升级安装。如果未安装该软件包,刷新选项不会安装软件包。
刷新telnet-server-0.17-59.el7.x86_64.rpm软件包
#rpm -Fvh telnet-server-0.17-59.el7.x86_64.rpm
【举例4】卸载软件
将telnet-server软件从系统中卸载。
#rpm -e telnet-server
2.1.3 常见问题分析
·在执行#rpm -qa命令时,如果输出信息过多,不易查找指定信息。
解决办法:使用rpm -qa | grep
·在查询软件包信息或文件时,想保存执行结果。
解决办法:使用输出重定向
·"软件名称"和"软件包名称"。
解决办法:安装软件时使用软件包名称,查询与卸载时使用软件名称
·软件包依赖问题
解决办法:可以使用 --nodeps选项忽略,但安装时建议不用
·RPM数据库损坏
解决办法:rpm数据库存放在/var/lib/rpm目录下,使用rpm -rebuilddb修复
·软件安装的时间问题
解决办法:安装软件时如果系统提示"warning:clock skew detected"
使用date -s "2019-5-9" 14:00修改系统时间
使用hwclick -w 将更新时间写入CMOS
2.1.4 使用RPM管理telnet-server软件包
第一步:在服务器端安装telnet-server和xinetd,启动相应的服务。
#rpm -q telnet-server xinetd
#mount /dev/sr0 /mnt/cdrom
#cd /mnt/cdrom
rpm -ivh telnet-server xinetd
systemctl start telnet.socket xinetd.service
systemctl status telnet.socket xinetd.service
第二步:在服务器端开启防火墙(图形界面与命令)。
systemctl status firewalld.service
firewall-cmd --zone=public --add-port=23/tcp --permanent
systemctl restart firewalld.service
systemctl stop firewalld//关闭防火墙
第三步:在客户端访问(默认不允许root用户telnet登录)。
开始--运行--cmd
telnet 192.168.64.128
2.2 YUM 源安装
2.2.1 YUM工具简介
(1)YUM(Yellow dog Upadate Modifie)是改进版的RPM管理器,很好地解决了RPM软件包的依赖问题。
(2)YUM可以从很多源中搜索软件以及他们的依赖包,并自动安装相应的依赖软件。
(3)YUM安装软件时至少需要一个YUM源,YUM源就是存放有很多RPM软件的目录。
用户可以使用HTTP、FTP或本地目录的方式访问YUM源。
2.2.2 设置 本地 YUM源
(1)挂载光盘到/mnt/cdrom
(2)创建自定义yum文件:#vim /etc/yum.repos.d/media.repo
[media]//仓库名
name=CentOS7
baseurl=file:///mnt/cdrom
enabled=1//允许安装
gpgcheck=1//是否进行检查
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
2.2.3 YUM工具的使用
YUM工具主要有查询、安装、升级、刷新、卸载软件包等功能。
命令格式:yum [选项] [指令] [软件包]
install package1 [package2][...] 使用YUM源安装软件包。
update [package][packge2][...] 使用YUM源升级软件包。
check-update 检查YUM源中所有可用的升级。
remove|erase package1 [package2][...] 卸载软件包。
list[...]系统中已经安装的以及YUM源中所有可用的软件包。
info[...] 查看软件包信息。
clean all 清空所有的缓存信息。
makecache all 生成所有的缓存信息
groupinstall group1 [group2] [...] 使用YUM源安装组包。
groupremove group1 [group2] [...] 卸载组包。
2.2.4 常见问题
(1)创建YUM源
首先安装createrepo,其次将所有软件包保存在一个目录,如:/mysoft/,
最后执行:#createrepo /mysoft创建该目录的yum源,再修改yum配置文件即可。
(2)YUM繁忙问题
在错误提示中找到PID进程号,使用kill -9 进程号即可
2.3 源代码安装软件
2.3.1 源码安装软件的步骤是:
(1)对下载的码包进行解压
(2)进入解压目录执行configure命令做相关设置
(3)执行make进行编译
(4)执行make install进行安装
2.3.2 源码安装ntfs-3g软件
(1)下载ntfs-3g软件:http://www.onlinedown.net/soft/170545.htm
(2)解压ntfs-3g软件到/mnt目录下
(3)安装安装相关依赖包
yum -y install cmake bison git ncurses-devel gcc gcc-c++
(4)进入ntfs-3g目录执行:./configure对安装环境进行配置
(5)执行make命令进行编译
(6)执行make install命令进行安装
(7)挂载ntfs分区
#mount -t ntfs-3g /dev/sdb1 /mnt/sdb1
(8)如果要卸载ntfs-3g软件,就进入安装目录执行:make uninstall