Linuxe包管理工具与软件安装

包管理工具与软件安装

  • 课程知识点
  1. 包管理工具的使用
  2. 软件安装的方法
  • 技术目标
  1. 掌握文件的打包、压缩、解压缩的方法
  2. 掌握软件安装的方法
  • 课程内容

一、文件的打包、压缩与解压缩

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

相关推荐
Curtis09801 小时前
RHCE——Ubuntu Linux操作系统
linux·服务器·ubuntu
青瓷看世界1 小时前
华为HarmonyOS 让应用快速拥有账号能力 -- 1 华为账号一键登录
服务器·华为·harmonyos·应用账号能力
18.Show4 小时前
有趣的Docker
运维·docker·容器
wuzuyu3654 小时前
docker.io连接超时的处理,用代理网站
运维·docker·容器
zz-zjx4 小时前
nerdctl:与 Docker 兼容的 containerd CLI
运维·docker·容器
YRr YRr4 小时前
在Ubuntu 20.04和ROS中使用RViz进行数据可视化:详解Fixed Frame参数的选择与应用
linux·ubuntu·信息可视化
Hansel_Zhang4 小时前
CentOS 7 docker部署jar包
linux·docker·centos
MXsoft6184 小时前
智能运维视角下的网络设备监测与数据分析
大数据·运维·数据库
搬砖的果果5 小时前
HTTP代理有那些常见的安全协议?
服务器·python·网络协议·tcp/ip
运维&陈同学5 小时前
【Dubbo03】消息队列与微服务之dubbo-admin 二进制与编译安装
linux·运维·服务器·后端·微服务·云原生·架构·dubbo