tar,cpio,rpm,yum的使用详解(适合初学者)

基于linux下的tar包管理和yum源配置

友情提示:对于这些实际操作的,还是需要进行手工的尝试,由于这几个对于包管理的是比较常用和实用的,

所以,一定要熟练使用。

1.tar

tar是对于系统中文件,目录等进行打包,解包的工具。tar也可以对文件进行打包存放到别的目录下,

所以在很早的时候,一些老的工程师经常使用tar对文件进行备份。很大程度上,所谓的tar包也指备份。

tar的的文本格式为:tar [option]

(1).创建归档(通俗的说就是进行打包)

tar -c -f /PATH/TO/SOMEFILE.tar FILE #前面打包的名称必须以.tar 结尾,其中-c -f可以缩写为cf,

#因为后面跟随为文件名,所以-f是必须要加的。打包到指定的目录下直接在SOMEFILE.tar前加路径就可以了。

再者就是,如果后面的文件加绝对路径时系统会提示“/”,由于有/根目录的话进行解包时如果根目录下有相同的

文件名会进行覆盖,为避免这种情况系统会提示,如果忽略提示在参数中加上-P (大写)

(2).查看归档文件中的文件列表 (预览)

tar -t -f /PATH/TO/SOMEFILE.tar

(3).展开归档(通俗的说就是进行解包)

tar -x -f /PATH/TO/SOMEFILE.tar

#  tar也可以结合压缩工具(bzip2,gzip,xz)进行打包和解包

-j :bzip2 ,-z :gzip -J: xz 

(4).展开归档到别的目录下

tar -x  -f /PATH/TO/SOMEFILE.tar -C /otherfile  #使用-C(大写)后面跟目录可以把文件

#解包到特定目录下,不加-C的情况下默认为当前目录。

tar1.png

补充:

2.cpio

cpio 可以理解为copy input/ouput,从中可以看出来这个命令是和copy有关的,是实现复制功能的。

它是通过重定向的方式对文件进行打包备份,还原恢复的。它可以解压以 .cpio 和 .tar 结尾的文件。

其格式为:

cpio [选项] > 文件名或者设备名

cpio [选项] < 文件名或者设备名

[选项]:

-o :将文件拷贝打包成文件或者将文件输出到设备上

-i :解包,将文件进行解包或者将备份还原到系统上

-t :预览, 查看文件内容或者输出到设备上的文件内容

-d :解包生成目录,在cpio还原时自动建成目录

-c :一种较新的存储方式

将etc目录备份: (备份到当前所在的目录下)

find ./etc -print |cpio -ov >etc.cpio

 内容预览

cpio –tv < etc.cpio

 要解包文件

cpio –iv <etc.cpio

cpio –idv < etc.cpio

cpio.png

3.rpm

tar是归档,rpm包是安装软件

rpm包就相当于exe

yum是管理rpm包的

可以自动解决包与包的依赖关系

rpm管理单个软件包的

比如:

rpm -ql 显示包安装的路径

rpm -qf 显示文件属于那个包

yum没这功能

安装:

rpm { -i |install} [install-option]PACKAGE_FILE…

-h :hash, 以#来表示安装进度

-v :–verbose 显示安装过程中的详细信息

-vv :显示更加详细的信息 -vvv是一样的效果

–test :不自信真正的安装过程,而仅报告依赖关系以及冲突信息;

–nodeps :忽略依赖关系,副作用是能安装成功,但未必能运行成功。

–replacepkges :覆盖安装–重新安装并覆盖原有的文件

–force:强制安装

安装时常用的组合有:-ivh ,-ivvh

升级:

rpm {-U|–upgeade}[install-option] PACKAGE_FILE

-U:升级或者安装

rpm {-F|–freshen}[install-option] PACKAGE_FILE

-F :升级

组合使用: -Uvh -Fvh

并覆盖原有的文件

–test :不自信真正的安装过程,而仅报告依赖关系以及冲突信息;

–nodeps :忽略依赖关系,副作用是能安装成功,但未必能运行成功。

–replacepkges :覆盖安装–重新安装并覆盖原有的文件

–oldpackage: 降级到旧版本

卸载:

rpm {-e|–erase}[–allmatches][–test]PACKAGE_NAME

简单的用法就是:rpm -e PACKAGE_NAME

–nodeps :忽略依赖关系,副作用是能安装成功,但未必能运行成功

–allmatches :如果一个程序包同时安装多个版本,则此选项一次全部卸载

–test :测试卸载;dry-rum模式

查询:

查询某包是否安装,以及检查安装的所有包,还可以查看某包的详细信息

rpm {-q | –query} [select-option][query-option]

[select-option]:

1.查询某包或者某些包是否安装:

rpm -q PACKAGE_NAME

2.查询已经安装的所有包

rpm -qa

3.查询某文件是由哪个包安装生成

rpm -qf /PATH/TO/SOMEFILE

4.查询尚未安装的包文件的文件列表

rpm -qpi PACKAGE_FILE

[query-option]:

1.查询某包的简要说明信息

rpm -qi PACKAGE_NAME

2.查询某包安装生成的文件列表

rpm -ql PACKAGE_NAME

3.查询某包安装完成后生成的所有的帮助文件

rpm -qd PACKAGE_NAME

4.查询某包安装完成后的生成的所有的配置文件

rpm -qc PACKAGE_NAME

5.查看某包提供的capabilities

rpm -q –changelog PACKAGE_NAME

脚本有四类:

preinstall:安装过程开始之前执行的脚本

postinstall:安装过程完成之后执行的脚本

preuninstall:卸载开始之前执行的脚本

postuninstall:卸载完成之后执行的脚本

校验:

rpm {-V|–verify}[select-option][verify-option]

常见的用法: rpm -V PACKAGE_NAME ,当没有输出结果时表示软件包完整ok,当有相应的结果输出表明对应的内容有修改。

S :文件的容量大小是否被改变 M:文件的类型或者文件的属性(rwx)是否被改变? 如是否可运行等参数已经被改变

5 :MD5这一种指纹码的内容已经不同 D:装置的主/次 代码已经改变 L:link路径已经被改变

U:文件的所属人已被改变 G :文件的所属组已经被改变 T: 文件的创建时间已经改变 P:caPabilities differ

创建rpm管理器的数据库:

rpm {–initdb|–rebuilddb} [-v][–depath DIRECTORY]

–initdb :初始化数据库,即数据库完全不存时,可新建。。

–rebuilddb:无论当前数据存在与否,都会直接重建此库;构建的数据库存放在/var/lib/rpm中。

4.yum

yum 的配置文件有2种:  

       /etc/yum.conf:为所有仓库提供公共配置

       /etc/yum.repos.d/*.repo:为仓库的指向提供配置

  

  

***   一般而言xx.d目录下的文件就是.conf文件的补充

  

这个yum默认在etc/下 ,需要分清楚yum.conf文件 和yum.repo目录下文件的作用,其中yum.conf 是yum的各种配置及信息,

yum.repo是对yum源的设定。yum.conf是通过yum.repo目录下以.repo为后缀的文件中的路径中提供的文件包的信息进行提供

yum服务的。

仓库配置文件路径 /etc/yum.repos.d/*.repo

对于yum源的配置是在/etc/yum.conf/目录下通过新建一个以 .repo为后缀的文件进行编译,其中base 名称

还有baseurl路径是必需要有的。其中gpgcheck是对路径的合法性进行检测的,如果其值为0,意味着不检测

yum源的来源路径,其值为1时进行检测;不写默认为0,使用#进行注释会为1。

使用yum repolist 可以查看当前yum的源。

使用yum clean all 可以清理yum的缓存

使用yum makecache 可以生成缓存:作用为:装软件包时它会自动和yum源repo对比,不一样会自动创建元数据。

yum仓库的组成部分:

          1.数据 :包含所有的软件包文件

          2.元数据:指的是数据文件:包括每个包的包名、版本信息、各包所包含的文件列表、包与包之间的依赖关系、

包的分组信息.

yum仓库管理:

yum repolist :列出已经配置idea所有可用仓库。

yum repolist [all|enabled |disabled]

yum缓存管理:

yum clean :清理缓存

yum lean [packages |metadata|xpire-cache|rpmdb|plugins|all]

yum makecache :创建缓存,自动连接至每一个可用仓库,下载其没有的数据,将其创建为缓存。

程序包查看:

yum list [all|glob_expl][glob_exp2][…]

yum grouplist [hidden][groupwildcard][…]

yum list{available|updates|installed|extras|obsoletes} [glob_expl][…] 

程序包安装:

yum install packages [packages2]…

注意:

1.只需要提供包名

2.如果某包有在不同的仓库中有多个不同的版本,默认会安装最近的版本

3.如果要安装制定的版本: install PACKAGE-VERSION

重新安装(覆盖原来的安装):

yum reubstall package1 package2 …

程序包升级:

yum update package1 package2…

程序包降级:

yum downgrade package1 package2 …

检查有哪些升级可用:

yum check-update 

程序包卸载:

yum remove|erase package1 package2…

注意: 所有依赖于正在卸载的程序包的程序包也会一并卸载。

安装或者升级本地的程序包文件:

yum localinstall rpmfile1 rpmfile2…

yum localupdate rpmfile1 rpmfile2…

用于安装或升级中并不存在的程序包文件,这些程序包有可能又依赖于仓库中的某些程序包

包组管理:

列出所有的包组: yum grouplist 

显示指定包组详情: yum groupinfo group1 group2…

安装:yum groupinstall group1 group2 …

卸载:yum groupmove group1 group2 …

升级: yum groupdate group1 group2 …

注意: 也可直接使用install remove update  来管理包组,此时需要在组名前面加@符号,

如:yum install @"server platform develpment"

——————————————————————————

制作yum源是及其重要的,应该我们在网络配置的时候会经常安装一些软件包,而一旦我们的yum源出现问题,我们需要会重新的进行配置。

  1. 在配置yum源时 ,我们先需要找一个yum的镜像网站 ,比如:http://mirrors.aliyun.com/centos/aliyun.png

然后再/etc/yum.repo.d/目录下新建一个以.repo 结尾的文件,对.repo 的文件进行编译,其中yum源的基名是必须要写的,还有的就是路径是一定要写的。

写好了之后可以使用yum clean all 清除一下之前yum源所留的缓存,防止对当前的yum源造成影响,再使用yum repolist 查看一下当前的yum源的基名是不是

重新安装的,如果是的话可是安装两个程序包进行检测一下。

yum2.png

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

(0)
zhongzhong
上一篇 2016-08-21
下一篇 2016-08-21

相关推荐

  • linux 磁盘管理

    磁盘管理 Linux思想一切皆文件: open(),read(),write(),close() I/O 设备地址 设备类型: 块设备:block,存取单位“块”,磁盘 (随机访问) 字符设备:char,存取单位“字符”,键盘 (逻辑访问) 设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通讯。 设备编号: ll /dev/sda* root…

    Linux干货 2016-08-29
  • 0809linux基础小记(sed和vim用法)

    sed  [options] ‘scripts’ inputfile -n: 不输出模式空间内容的自动打印 -e: 多点编辑 -f:从指定文件中读取编辑脚本 -i:原处编辑 scripts: ’地址命令’ 地址定界: (1)  不给地址:对全文进行处理 (2)  单地址: #:  指定的行 例: sed '2…

    Linux干货 2016-08-11
  • M22 Centos6上编译安装httpd2.4并实现HTTPS浏览

    随着网络技术的发展,人们对信息安全越来越重视,传统的http浏览互联网的方式由于未经加密,其安全性广为人们诟病,https协议作为加密的互联网解决方案解决了这一问题。下面我就简要说明下如何实现通过https发布web页面的。   实验目的: 模拟Centos6上安装httpd2.4,并实现https加密访问主页 实验器材: Centos6.8虚拟机…

    Linux干货 2017-04-20
  • Linux用户和组管理及相关命令详解

        概要:在学习Linux的初级阶段,用户管理是基础管理的重要部分,任何命令的运行,系统的正常运转,均离不开用户管理的内容,本篇就为大家介绍下Linux用户管理的一些基础概念和一些基础命令的用法。内容主要分为以下三个部分:        &nbs…

    Linux干货 2016-08-02
  • 运维必备技能之磁盘管理

    磁盘分区的三个工具 1、fdisk交互式工具         fdisk /dev/sdb进入交互界面         交互式界面的几个常用命令        …

    Linux干货 2017-03-14
  • IP地址之IPv4

    一、概述   IP地址有IPv4和IPv6两个版本,目前我们通常所说的IP地址是指IPv4。   IP地址由32位的二进制数组合而成,为了方便人类记忆,将二进制转换成4个十进制的数值。   在这32位数据中分为网络号与主机号两个部分。 二、IP的分级   IP网段分为五个等级,其定义如下:   A类:规定前面…

    Linux干货 2016-02-14

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-21 22:07

    文档压缩,yum源的配置,rpm包管理工具的使用是基本技能,需要熟练掌握,其中rpm的查询语句是最为常用需要多加练习,熟练使用。