tar、rpm和yum总结

#tar、rpm和yum总结
##tar工具
    tar是Tape ARchive的缩写,原意是磁带归档,进行数据备份。在linux中,用tar命令,可以把一大堆的文件和目录全部打包成一个文件,方便网络传输和备份数据。
    tar不仅可以打包多个文件和目录,还可以对打包完的数据包进行压缩,进一步提升传输和备份质量。
###选项
        -c:设置新的备份文件
        -t:列出备份文件的内容
        -f:指定备份文件
        -r:追加,添加文件到已经压缩的文件
        -x:从备份文件中还原文件
        -C(目录):这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项
        -v:显示操作过程
###案例 
    [[email protected] scripts]#tar -cf /server/backup1.tar /server/scripts/     <==把/server/scripts/下的所有文件打包
    [[email protected] server]#tar -zcf /server/backup2.tar.gz /server/scripts/    <==打包后,以    gzip格式压缩        
    [[email protected] server]#du -sh .
    64K   .                                                                                                <==原目录大小
    [[email protected] 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也可以实现上述两个问题.
#
    [[email protected] 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
    [[email protected] server]#tar -rf backup1.tar 1.txt                <==-r 追加1.txt到打包文件中
    [[email protected] 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 -jxf backup3.tar.bzip2                                    <==直接解压到当前路径
    tar -jxf 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. [[email protected] Packages]#rpm -q tree
        tree-1.6.0-10.el7.x86_64
    2. [[email protected] 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. [[email protected] 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 查看包的信息
#
    如何卸载依赖包?
    [[email protected]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
    [[email protected] ~]#yum history undo 4                            <==通过undo可取消相关的13个依赖包。redu 4重做第四步    
##使用光盘进行救援模式
    内核被卸载后如何使用光盘进行救援?
#
    1、卸载内核
    [[email protected] ~]#rpm -e kernel --nodeps                     <==忽略依赖性
#
    2、重启后发现已经没有系统进入了。这时再重启按住esc进入选择启动盘,这里选择CD-ROM Drive
#
    3、进入安装菜单后选择第三个
#
    4、不设置网络,选择继续

#

5、选择第一项,开启shell进入命令行

    6、创建一个目录挂载磁盘镜像文件。注意此时的根并不是真正上我们系统的根,而是/mnt/sysimage,后面需要转换。
#
    7、进入光盘安装内核,注意安装路径,这里需要指定--root=/mnt/sysimage/
#
    8、除了上述方法外,还可以直接切根,现在的根就是真正意义上的根,现在装的话不用--root=/mnt/sysimage/
#
    9、两次exit退出重启设备,然后看到亲切的系统啦!

时间: 2024-08-04 00:52:51

tar、rpm和yum总结的相关文章

linux CentOS7 中安装包管理:rpm 、yum及源码包安装使用

一. 安装软件包的三种方法 yum ---python rpm工具 yum工具 源码包 二. rpm包介绍 设置光驱并挂载: [[email protected] ~]# mount /dev/cdrom /mntmount: /dev/sr0 写保护,将以只读方式挂载 [[email protected] ~]# ls /mntEULA    isolinux  repodata                      TRANS.TBL GPL     LiveOS    RPM-GPG-

rpm和yum程序包的管理

rpm和yum程序包的管理 rpm简介: RPM,是RPM Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux.S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了. 程序包管理: 内核功能:进程管理.内存管理.网络协议栈.驱动程序.... 应用程序:由二进制程序.管理程序文件.配置文件.文档文件.帮助手册文件组成 程序包的组成部分: 二进

LINUX RPM、YUM软件包的管理

一.RPM.YUM 软件包管理管理工具的简介 1.首先讲一下自己的感觉:对于 初学linux的人来说安装软件是比较头疼的事,大家习惯了windos的操作,是中文的,只要上网一搜什么都有,然后下一步安装就行啦,卸载的话更是简单,在卸载或更改程序了么也很简单,还有360等.linux软件包大致分三种:以.rpm .压缩包.源码包最为常见,却他们的安装方法也是有差别的.掌握好软件安装卸载工具是以后搭建服务不可缺少的必备能力,而 RPM.YUM 就是不可或缺的利器. 2.rpm的简单介绍 1.可以安装.

区分一下dpkg,rpm和yum以及apt-get

一般来说著名的 Linux 系统基本上分两大类: RedHat 系列:Redhat.Centos.Fedora 等 Debian 系列:Debian.Ubuntu 等 Dpkg (Debian系):Ubuntu RPM (Red Hat系):CentOS.Fedora RedHat 系列 常见的安装包格式 rpm 包,安装rpm包的命令是"rpm -参数" 包管理工具 yum 支持 tar 包 Debian系列 常见的安装包格式 deb 包,安装 deb 包的命令是"dpkg

linux下系统软件包管理(rpm、yum、源码包安装)

1. rpm工具rpm全称为Redhat Package Manager,红帽软件包管理工具,设计理念是开放的,不仅仅是在RedHat平台上,在SUSE上也是可以使用的. rpm包名字构成由-和.分成了若干部分,如abrt-cli-2.0.8-15.el6.centos.i686.rpm,abrt-cli是包名,2.0.8-15是版本号,el6指的是redhat企业版6,centos指的是这是在centos上用的,i686指的是平台类型.有些rpm包并没有写具体的平台而是noarch,这代表这个

程序包管理rpm、yum与简单编译安装程序

Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个ls命令就是一个二进制程序. 库文件:程序的公用功能模块,比如A程序需要用一个打印机,B程序也需要一个打印机就可以公用这一个模块了.在window下库文件为.dll格式,linux下为/lib/*so格式的文件. 配置文件:通过设置配置文件来改变程序启动时的运行特征. 帮助手册:使用的帮助文档. ?

Linux程序包管理rpm与yum

Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个ls命令就是一个二进制程序. 库文件:程序的公用功能模块,比如A程序需要用一个打印机,B程序也需要一个打印机就可以公用这一个模块了.在window下库文件为.dll格式,linux下为/lib/*so格式的文件. 配置文件:通过设置配置文件来改变程序启动时的运行特征. 帮助手册:使用的帮助文档.  

Linux基础管理——软件包管理:rpm,yum高级使用方法(史上最全,没有之一)

前言: GRU Linux操作系统中,实现软件包管理的常见工具有RPM和yum:本专题将就Centos系统中安装包的命名.校验.密钥导入导出.包安装.卸载.升级.查询等众多rpm包管理相关的操作实现进行总结. 1.安装包 1.1.包管理器分类 二进制应用程序的组成部分:二进制文件.库文件.配置文件.帮助文件.所以包管理器就是对这四类文件进行分门别类存储的一个管理工具. 程序包管理器:     debian:deb文件, dpkg包管理器.         redhat: rpm文件, rpm包管

软件安装rpm、yum

rpm.yum rpm包安装: 命名:eg:xlockmore-5.31-2.el6.x86_64.rpm 软件包名字-主版本号.次版本号-发行版本号.系统版本.cpu的架构.rpm 构成: 软件包的元数据信息(软件版本.作者.安装前后需要执行的脚本等)+软件文件(程序.配置文件.文档等) 选择: 1.选择适合自己的系统版本 2.选择适合自己cpu架构 x86_64 只能安装xx.x86_64的软件包 i386,i586,i686 的软件包,可以安装在32位 64位的系统 noarch 包不选择