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(可以查到组件属于哪个安装包)
- 使用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