tar、rpm和yum总结

tar、rpm和yum总结

tar工具

tar是Tape ARchive的缩写,原意是磁带归档,进行数据备份。在linux中,用tar命令,可以把一大堆的文件和目录全部打包成一个文件,方便网络传输和备份数据。
tar不仅可以打包多个文件和目录,还可以对打包完的数据包进行压缩,进一步提升传输和备份质量。

选项

-c:设置新的备份文件
-t:列出备份文件的内容
-f:指定备份文件
-r:追加,添加文件到已经压缩的文件
-x:从备份文件中还原文件
-C(目录):这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项
-v:显示操作过程

案例 

[root@centos7 scripts]#tar -cf /server/backup1.tar /server/scripts/ <==把/server/scripts/下的所有文件打包
[root@centos7 server]#tar -zcf /server/backup2.tar.gz /server/scripts/ <==打包后,以 gzip格式压缩
[root@centos7 server]#du -sh .
64K   . <==原目录大小
[root@centos7 server]#ls -lh
-rw-r–r–. 1 root root  20K Aug  3 09:34 backup1.tar                   <==只打包,未压缩,20k
-rw-r–r–. 1 root root 1.3K Aug  3 09:36 backup2.tar.gz                <==压缩后的大小,仅为1.3k

在压缩的时候,可以通过选项-v来查显示打包的过程。上面例子中是选了一种压缩方式,也可以通过其他压缩方式进行压缩,注意每种压缩方式的后缀名不一样。
推荐使用的压缩方式
1:-j: bzip2(后缀名)
2:-z: gzip
3:-J: xz

在工作中我们可能会需要查看某个归档文件中的文件列表,甚至想添加文件到归档文件中并且不想解压。通过tar也可以实现上述两个问题.

[root@centos7 server]#tar -tf backup2.tar.gz <== -t可以实现查看文件列表(中间省略了一部分内容)
server/scripts/
server/scripts/.etc_2017-08-01.tar.gz
server/scripts/1.sh
server/scripts/test1.sh
server/scripts/08-01_expr.sh
[root@centos7 server]#tar -rf backup1.tar 1.txt <==-r 追加1.txt到打包文件中
[root@centos7 server]#tar -tf backup1.tar
server/scripts/
server/scripts/.etc_2017-08-01.tar.gz
server/scripts/1.sh
server/scripts/test.sh
server/scripts/test1.sh
server/scripts/08-01_expr.sh
1.txt <==可以看到新文件已经追加到包中,注意:不支持对压缩文件的追加!

解压包
tar -xf backup3.tar.bzip2 <==直接解压到当前路径
tar -xf backup3.tar.bzip2 -C /etc <==通过-C可以解压到指定路径

rpm

rpm软件包的管理工具,专门针对linux中程序包的安装、卸载、升级、查询、校验、数据库维护。

选项

-a: 所有包
-f: 查看指定的文件由哪个程序包安装生成
-p:针对尚未安装的程序包文件做查询操作
-i:显示套件的相关信息
-h:以#显示程序包管理执行进度
-c: 查询程序的配置文件
-l:显示套件的文件列表
-v:显示指令执行过程
-vv:详细显示指令执行过程,便于排错

rpm包管理

包文件组成: RPM包内的文件
RPM的元数据,如名称,版本,依赖性,描述等
安装或卸载时运行的脚本
数据库(公共):/var/lib/rpm
程序包名称及版本
依赖关系
功能说明
包安装后生成的各文件路径及校验码信息
管理程序包的方式:rpm,yum
获取程序包的途径:
(1) 系统发版的光盘或官方的服务器
CentOS镜像:
https://www.centos.org/download/ <==国外官方网站,访问较慢
http://mirrors.aliyun.com <==推荐使用国内服务器
http://mirrors.sohu.com
http://mirrors.163.com
(2) 项目官方站点:如apache,需要自己编译安装
(3)第三方组织:EPEL
推荐使用阿里云EPEL:http://mirrors.aliyun.com

案例

安装
rpm -ivh tree-1.6.0-10.el7.x86_64.rpm
查询包
1. [root@centos7 Packages]#rpm -q tree
tree-1.6.0-10.el7.x86_64
2. [root@centos7 rpm]#rpm -ql tree <==通过-l查看指定的程序包安装后生成的所有文件,跟包名。如果跟文件名需用-p
/usr/bin/tree
/usr/share/doc/tree-1.6.0
/usr/share/doc/tree-1.6.0/LICENSE
/usr/share/doc/tree-1.6.0/README
/usr/share/man/man1/tree.1.gz
3. [root@centos7 rpm]#rpm -qf /usr/bin/tree <==通过-f查看指定的文件由哪个程序包安装生成
tree-1.6.0-10.el7.x86_64
卸载
rpm -e tree <==后面跟包名,不用写完整的文件名

yum管理

相对于rpm来说,yum的优势在可以自动处理依赖性关系,一次安装所有依赖的软体包。

yum客户端配置

最小化配置
cd /etc/yum.repos.d/
vim base.repo <==创建一个repo的文件
[centos7] <==仓库的名字ID
name=centos 7.3
baseurl=http://172.16.0.1/centos/7/ <==仓库的路径。本地光盘路径file://misc/cd/(centos6)
gpgcheck=0 <==安装时不检查钥匙,不写或者为1安装时需要–import,否则安装报错
gpgkey=http://172.16.0.1/centos/7/RPM-GPG-KEY-CentOS-7 <==上面不写,也可以通过指定路径名指定下载key
enabled=0 <==1和不写代表启用。如果当前环境没网,可以=0暂时禁用
systemctl start autofs <==起自动挂载的服务,autofs需要安装
cd /misc/cd <==cd目录 通过df,可看到直接已经挂载
注意:baseurl可以是本地服务器,也可以是网络epel源,比如阿里云、网易。

相关选项 
yum repolist <==查看当前几个仓库,加all查看所有,不管禁用不禁用
yum list 包名  <==查看包名
yum remove <==卸载、
yum-config-manager –add-repo=file://misc/cdrom <==自动创建库文件
—-disable “仓库名” 禁用仓库
–enable “仓库名” 启用仓库
[misc_cdrom]
name=added from: file://misc/cdrom
baseurl=file://misc/cdrom
enabled=1 <==自动创建的内容列表
yum reinstall <==重新安装
yum clean all <==清理仓库数据 /var/cache/yum/x86_64/7/updates/packages/
yum info <==相当于rpm -qi 查看包的信息

如何卸载依赖包?
[root@centos7 ~]#yum history <==查看yum历史
Loaded plugins: fastestmirror, langpacks
Repository ‘centos7’ is missing name in configuration, using id
ID     | Login user               | Date and time    | Action(s)      | Altered
——————————————————————————-
     6 | root <root>              | 2017-08-03 19:27 | Install        |    1   
     5 | root <root>              | 2017-08-03 19:26 | Erase          |    1   
     4 | root <root>              | 2017-08-03 17:50 | Install        |   13   
     3 | root <root>              | 2017-08-03 17:37 | Install        |    1  <
     2 | root <root>              | 2017-08-03 17:31 | Install        |    2 ><
     1 | System <unset>        | 2017-07-14 11:16 | Install        | 1257 > 
history list
[root@centos7 ~]#yum history undo 4 <==通过undo可取消相关的13个依赖包。redu 4重做第四步

使用光盘进行救援模式

内核被卸载后如何使用光盘进行救援?

1、卸载内核
[root@centos6 ~]#rpm -e kernel –nodeps <==忽略依赖性

2、重启后发现已经没有系统进入了。这时再重启按住esc进入选择启动盘,这里选择CD-ROM Drive
tar、rpm和yum总结

3、进入安装菜单后选择第三个
tar、rpm和yum总结

4、不设置网络,选择继续
tar、rpm和yum总结

tar、rpm和yum总结

5、选择第一项,开启shell进入命令行
tar、rpm和yum总结

6、创建一个目录挂载磁盘镜像文件。注意此时的根并不是真正上我们系统的根,而是/mnt/sysimage,后面需要转换。
tar、rpm和yum总结

7、进入光盘安装内核,注意安装路径,这里需要指定–root=/mnt/sysimage/
tar、rpm和yum总结
tar、rpm和yum总结

8、除了上述方法外,还可以直接切根,现在的根就是真正意义上的根,现在装的话不用–root=/mnt/sysimage/
tar、rpm和yum总结

9、两次exit退出重启设备,然后看到亲切的系统啦!
tar、rpm和yum总结
tar、rpm和yum总结

原创文章,作者:eleven,如若转载,请注明出处:http://www.178linux.com/83604

(2)
上一篇 2017-08-03 19:36
下一篇 2017-08-04 08:33

相关推荐

  • 【招聘需求】高级运维工程师/上海虹口区/待遇20k左右

    上海虹口区/待遇20k左右 有意向者发简历至@管家邮箱 邮件名是:[求职]Net-姓名-花名-工作年限 岗位职责:1、降低技术壁垒,建设运维工具、运维平台,实现运维自动化,包括 运维自动化、配置管理中心等。2、具备前瞻性,带领运维技术团队完成业务支撑,负责定位、分析、跟踪和相协调处理重大事故,使之对业务影响降至最低。3、技术支持、培训、知识库建设。4、运维接…

    Linux干货 2015-03-12
  • N26-第二周作业-邢岩(2)

     马哥门徒-N26-邢岩   我们接着说今天的分享,接着,我们来看看bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容好了。    1.bash的基础特性之:命令的执行状态结果      bash通过状态返回值来输出此结果:       成功:0 …

    Linux干货 2017-02-10
  • N25-第二周作业

    N25-第二周作业 博客作业 1、linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示 linux上处理目录的常用命令: ls :列出目录 cd :切换目录 pwd:显示当前工作路径 mkdir:创建目录 rm:删除文件或目录 rmdir:删除空文件 mv:剪切、重命名文件、目录 cp:复制文件或目录 touch:创建空文件 ls:= li…

    Linux干货 2017-02-08
  • 第九周作业

    第九周作业

    Linux干货 2017-11-13
  • N26-博客作业-week14

    系统的INPUT和OUTPUT默认策略为DROP; 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机; 配置系统INPUT和OUTPUT默认策略为DROP# iptables -P INPUT DROP# iptables -P OUTPU…

    Linux干货 2017-06-22
  • 第一周博客作业

    前言:这几周的课程大部分开班前就掌握了的,这次学的细一点,顺便学一下markdown写博客、排版。内容有部分是前几期学员写的,觉得写得不错,就斗胆截取了,还有部分是自己写的,也有一些是百度到的内容。 目录 一、描述计算机的组成及其功能 二、linux发行版 三、linux哲学思想 四、常用命令 五、如何获取命令的帮助信息 六、linux发行版的基础目录名称命…

    Linux干货 2017-01-09