20.文件压缩解压缩,软件包安装 - xiaoxiaoxuegao/rhcsa GitHub Wiki

一.前置知识

1.文件的归档

2.文件的压缩和解压缩

压缩文件命令:(默认情况不能对目录进行压缩)

1). gzip 文件名 :可以将文件压缩成以.zg结尾的压缩文件,默认源文件会消失,会产生一个压缩文件

2).bzip2 文件名 :可以将文件压缩成以.bz2结尾的压缩文件,默认源文件会消失,会产生一个压缩文件

解压缩命令:

1).gunzip 文件名.zg :可以将文件解压,默认压缩文件会消失,产生一个解压后的文件

2).bunzip2 文件名.zg2 :可以将文件解压,默认压缩文件会消失,产生一个解压后的文件

压缩目录:linux会将目录先打包成一个文件再将普通文件压缩成gz 或bz2的格式

1)打包命令:tar 参数(cvf) 打包后的文件名 打包前的文件名 打包后文件和压缩包都在

例:tar cvf test.tar test

2)压缩: gzip test.tar --》test.tar.gz bzip2 test.tar --》test.tar.bz2

3). 解压:gunzip test.tar.gz --》test.tar bunzip2 test.tar.bz2 --》test.tar

4).解包命令:tar xvf 压缩包(test.tar)

只要带tar的源文件都在

5).打包加压缩成zg: tar zcvf 打包加压缩后文件名.gz 打包前文件

6).解包加解压:tar zxvf test.tar.zg

7).打包加压缩成.bz2的文件:tar jcvf 压缩后文件名.bz2(test.tar.bz2) 源文件(test)

8).解压解包bz2的文件:tar jxvf 压缩后文件名.bz2(test.tar.bz2)

考试题:

1.先回root家目录

2.tar jcvf sysconfig.tar.bz2 /etc/sysconfig

二.软件包的安装

Linux软件包和widows完全不一样

window里软件安装包 .exe .setup .msi 绿色软件(不用安装)

1.Linux里的软件包安装方式:

1).二进制的软件包安装方式

a.最常见的二进制安装包:rpm包(redhat package management)以前叫红帽包管理器

(rpm packagement management )现在叫rpm包管理器

b.优点:速度快(因为别人包软件包源码编译好的,所以不需要用户编译,因此安装速度快)

c.缺点:功能固定(源码到二进制可以,二进制恢复源码不可能,改不了源码因此功能固定)

2).源码包安装

a.优点:对软件功能不满意可以自己修改,灵活增加或删除功能

总能下到最新的源码包,总能体验到最新功能

b.缺点:对用户来说,源码包需要编译,对非技术人员来说,编译是什么都不知道

编译的过程中容易出现问题,对非技术人员来说根本解决不了

编译速度非常慢,一般都是先编译再运行再安装

2.二进制安装包介绍

1)rpm包命名规则:先安装主包,再安装辅包,其他的不是辅包就是依赖包

例如:httpd开头的包很多,软件安装的时候,安装名后面直接时数字的,因为该数字是版本号。其他非数字的包是辅包

httpd -2.4.6-17.e17.el7.x86_64.rpm (主包)

总体叫做包全名 httpd叫包名 2.4.6是版本号 -17表示该软件发布过多少次 .el7该软件使用的平台是rhel7 x86_64该软件适合于x86架构的64位系统(.noarch表示该软件适用于任何平台)

3.二进制软件包安装

1).光盘连接:包在光盘里,必须将光盘连山,网连上 光盘在/dev/sr0 sr0表示第一个光盘

2).光盘挂载:在Linux中绝大多数情况下,存储设备放在Linux系统中的时候,要想使用必须挂载

a.挂载:块设备挂到目录上的这个动作叫做挂载,这个目录叫做挂载点,块设备叫做设备,动作叫做挂载,若挂载成功,那么目录里就记录着该块设备里面的所有数据

(例如在windows里把f盘盘符删除,用目录代替(目录会变成快捷方式图标),那f盘里的数据都自动放到文件目录里了)

b.挂载命令: mount 挂载设备 挂载点(/mnt/ Linux给了挂载目录,都挂在这个目录里)

例:mount /dev/sr0 /mnt/

c.卸载命令: umount /dev/sr0

包位置: cd /mnt/Packages/里

4.rpm安装命令

先执行挂载命令:mount /dev/sr0 /mnt/

rpm -ivh 包全名: 安装一个软件包

注意:包全名必须打对,否则不能卸载,卸载就得加包全名

rpm -evh 包名 : 卸载一个软件包

rpm -q 包名 :查看一个软件包是否安装(query )

rpm -qa : 查看所有安装的软件包

rpm -qa |grep 关键字 :查看想要查看的某个包(query all)

rpm -ql 包名 :查看一个软件包的安装路径

rpm -qf 文件 :f是file查看该文件从哪个安装包出来的(误删时)

rpm -qi 包名 :查看该软件包的信息(qi 查询的事已经安装的软件的信息)

rpm -qpi 包全名 :查看该软件包的信息(qpi 查询的事没有安装的软件的信息)

rpm安装的依赖问题:rpm在安装某些软件的时候存在以下依赖关系

a.树型依赖:解决:从最底层的装

b.环型依赖:解决:同时装

c.模块依赖:(安装一个软件时需要安装另一个软件里的某个组件(以so或0结尾的),模块的依赖问题在于,你不知道需要的组建属于哪个软件:解决:百度;rpmfind.net(可以查到组件属于哪个安装包)

  1. 使用yum来安装软件(yellow dog updater manager 黄狗更新管理器,大学生叫黄狗)

1).yum能自动解决依赖关系,本质是索引数据库,包来源,一般都是在本地,需要挂载,./mnt/挂载点就是一个目录

解决原因:yum创建了一个目录 /etc/yum.repos.d/file.repo 该文件指向了软件包仓库的位置,挂载点上有一个目录,该目录时repolist(repodata)目录,该目录记录下了软件仓库的所有软件的依赖关系索引,该索引被yum进程查看,当使用yum安装软件时,yum进程会自动根据索引里的记录解决依赖关系

2)最简方法:

第一步:光盘连接

第二步:光盘挂载:mount /dev/sr0 /mnt/

进入目录cd /etc/yum.repos.d/

第三步:yum-config-manager - -add-repo=repodata的路径(yum-config-manager - -add-repo=file:///mnt:自动生成yum关键文件,生成文件位置存在/etc/yum.repos.d/下)

第四步:echo “gpgcheck=0” >> /etc/yum.repos.d/mnt.repo

[root@student yum.repos.d]# cat mnt.repo

[mnt]

name=added from: file:///mnt

baseurl=file:///mnt 指定repodata的位置

enabled=1 软件仓库可用,没有默认可用

“gpgcheck=0” 软件包安装不做校验

3)yum命令: yum -y 参数会直接安装 不用选yes |no

a.yum install 安装软件包

b.yum remove 卸载软件包

c.yum history 能查看安装历史

d.yum list 刷新安装包

4).如何使用公网

网卡改成nat模式 nmcli connection add 加一个 nmcli up