rpm和yum常用命令选项总结

=======rpm命令的使用总结======

安装: 

rpm {-i|–install} [install-options] PACKAGE_FILE …

    -v: verbose

    -vv: more verbose

    -h: 以#显示程序包管理执行进度; 每个#表示2%的进度

    eg:rpm -ivh package

    [install-option]

        –test 测试安装, 但不真正执行安装, dry run模式

        –nodeps 忽略安装关系

        –replacepkgs 重新替换安装

        –nosignature 不检查来源合法性

        –nodigest 不检查包完整性

        –noscript 不执行程序包脚本片段

            %pre 安装前 –nopre

            %post 安装后 –nopost

            %preun 卸载前 –nopreun

            %postun 卸载后 –nopostun

升级:

rpm {-U|–upgrade} [install-options] PACKAGE_FILE …

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

    upgrade: 安装有旧版, 则升级, 如果不存在旧版, 则安装

    freshen: 安装有旧版, 则升级, 如果不存在旧版, 不执行操作

    eg: rpm -Uvh PACKAGE

    eg: rpm -Fvh PACKAGE

        –oldpackage 降级

        –force 

    注意: 1. 不要对内核进行升级操作; Linux支持多内核版本并存, 因此, 对

            直接安装新版内核

          2. 如果源程序包的配置文件安装后曾被修改, 升级时, 新版本提供的同一个

            配置文件不会直接覆盖老版本的配置文件, 而把新版本的文件重命名(FILENAME.rpmnew)后保留

查询:

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

    [select-options]

        -a: 所有包

        -f: 查询指定的文件由哪个程序包生成

        -g: 查询指定包组的程序包

        -whatprovides CAPABILITY

            查询指定的CAPABILITY由哪个PACKAGE提供

            Query all packages that provide the CAPABILITY capability

        –whatrequires CAPABILITY

            查询指定的CAPABILITY别谁所依赖

            Query all packages that require CAPABILITY for proper functioning.

        -p, –package PACKAGE_FILE

            查询未安装的程序包

    [query-options]

        –changelog

            查询更新日志

        -c, –configfiles

            查询配置文件

        –conflicts

            与谁冲突

        -d, –docfiles

            查询程序的文档, 包括帮助文档

        -i, –info

            输出程序信息

        -l, –list

            列出程序安装完成后生成的所有文件

        –scripts

            列出程序包所有脚本

        –triggers, –triggerscripts

            触发器脚本

        -R, –requires

            查询指定的程序包所依赖的CAPABILITY

        –provides

            列出指定程序包所提供的CAPABILITY

==========yum常用命令的总结===========

yum [options] [command] [package …]

    yum repolist:显示仓库列表

        all 显示所有仓库列表

    list显示程序包

        all

        glob_exp1

        avaiable

        updates

        installed

    install PACKAGE1 PACKAGE2 …

    check-update 检查升级

    remove|erase PACKAGE 卸载

            会吧依赖于PACKAGE的包全部卸载

    info PACKAGE 查看包信息

    provides|whatprovides PACKAGE 查看指定的文件或文件时由哪个程序包提供

    clean 清理本地缓存

    makecache 构建缓存

    search STRING 模糊搜索程序包

    reinstall PACKAGE重新安装

    downgrade PACKAGE 降级安装

    deplist显示包的依赖关系

    version 自行man

    history 查看yum进行过的事务

        history summary查看历史事务摘要

        history list 列出事务

        history stats 统计

    loacalinstall 可以解决依赖关系的本地程序包安装, 建议直接使用install

    包组相关命令:

        * groupinstall group1 [group2] […]

            安装

        * groupupdate group1 [group2] […]

            更新

        * grouplist [hidden] [groupwildcard] […]

            列出

        * groupremove group1 [group2] […]

            移除

        * groupinfo group1 […]

            查询信息

=============yum仓库的创建及repo文件的制作===============

yum仓库的创建:

    1. 准备材料: N个rpm包,比如我把CENTOS7安装镜像中的Packages目录复制到了/root/mydata/yum.sr/中;

[root@localhost ~]# ls ./mydata.d/yum.sr/Packages/ | wc -l
3577    <--有3577个package

    2. 使用createrepo命令创建yum仓库:

[root@localhost ~]# createrepo -o /root/mydata.d/yum.sr/ /root/mydata.d/yum.sr/Packages/
    # -o选项用于指定repodata生成的位置,最后一个参数是rpm包们所在的位置。
Spawning worker 0 with 894 pkgs
Spawning worker 1 with 894 pkgs
Spawning worker 2 with 894 pkgs
Spawning worker 3 with 894 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@localhost ~]# ls /root/mydata.d/yum.sr/
Packages  repodata
    # repodata为新生成的目录

    注:若电脑上没有createrepo命令,请使用yum install createrepo自行安装。

    3. 创建yum repo文件,并使用vim编辑:

[local]    <--指定yum源名;
name=my rpm base from local    <--可以理解为yum源描述;
baseurl=file:///root/mydata.d/yum.sr/    <--指定URL或使用“file://”指定本地路径,注意“/”的数量;
gpgcheck=0    <--不验证来源及package的完整性(因为是本地自己的文件);
enabled=1    <--启用此yum源;
--------------以上是vim编辑的内容---------------
[root@localhost yum.repos.d]# vim CentOS-My.repo 
[root@localhost yum.repos.d]# yum clean all
    # 清除yum缓存
Loaded plugins: fastestmirror, langpacks
Cleaning repos: base cdrom extras local updates
Cleaning up everything
Cleaning up list of fastest mirrors
[root@localhost yum.repos.d]# yum repolist
    # 重建yum缓存
Loaded plugins: fastestmirror, langpacks
base                                                                       | 3.6 kB  00:00:00     
cdrom                                                                      | 3.6 kB  00:00:00     
extras                                                                     | 3.4 kB  00:00:00     
local                                                                      | 2.9 kB  00:00:00     
updates                                                                    | 3.4 kB  00:00:00     
(1/7): cdrom/group_gz                                                      | 154 kB  00:00:00     
(2/7): local/primary_db                                                    | 2.7 MB  00:00:00     
(3/7): cdrom/primary_db                                                    | 2.7 MB  00:00:00     
(4/7): base/7/x86_64/primary_db                                            | 5.1 MB  00:00:00     
(5/7): extras/7/x86_64/primary_db                                          | 120 kB  00:00:01     
(6/7): base/7/x86_64/group_gz                                              | 154 kB  00:00:01     
(7/7): updates/7/x86_64/primary_db                                         | 4.7 MB  00:00:03     
Determining fastest mirrors
 * base: mirrors.btte.net
 * extras: mirrors.aliyun.com
 * updates: mirrors.sina.cn
repo id                                    repo name                                        status
base/7/x86_64                              CentOS-7 - Base                                  8,652
cdrom                                      my rpm base from cdrom                           3,576
extras/7/x86_64                            CentOS-7 - Extras                                  285
local                                      my rpm base from local                           3,576
updates/7/x86_64                           CentOS-7 - Updates                               1,726
repolist: 17,815
    # “local” yum源创建成功,且其与cdrom一致,因为local的pakages源于cdrom。
[root@localhost yum.repos.d]#

===========编译安装=========

前提要有开发环境,最起码gcc应该装上;

安装方法见下面;

以编译安装Apache为例:

[root@localhost ~]# wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.17.tar.bz2
...下载过程省略...

文件会下载到你的当前目录。

解压缩下载到的文件:

[root@localhost ~]# ls
anaconda-ks.cfg  httpd-2.4.17.tar.bz2  mydata.d  pingpc.sh  rc2.d.sh
    # httpd-2.4.17.tar.bz2为下载到的文件;
[root@localhost ~]# tar -jxf httpd-2.4.17.tar.bz2 
    # 解压缩文件
[root@localhost ~]# ls
anaconda-ks.cfg  httpd-2.4.17  httpd-2.4.17.tar.bz2  mydata.d  pingpc.sh  rc2.d.sh
    # httpd-2.4.17 为解压后的目录

然后运行解压目录下的configure文件,但是configure文件可能会提示错误,大多是因为缺少某个程序,根据命令查找,安装即可,比如:

[root@localhost httpd-2.4.17]# yum search pcre
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.btte.net
 * extras: mirrors.aliyun.com
 * updates: mirrors.sina.cn
======================================= N/S matched: pcre ========================================
pcre-devel.i686 : Development files for pcre
pcre-devel.x86_64 : Development files for pcre
pcre-static.i686 : Static library for pcre
pcre-static.x86_64 : Static library for pcre
pcre-tools.x86_64 : Auxiliary utilities for pcre
pcre.i686 : Perl-compatible regular expression library
pcre.x86_64 : Perl-compatible regular expression library
  Name and summary matches only, use "search all" for everything.
[root@localhost httpd-2.4.17]# yum install pcre

然后再执行configure文件;

执行make命令;

执行make install命令;

正常情况下到此即为安装完成。

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

(0)
JacenJacen
上一篇 2015-12-15
下一篇 2015-12-15

相关推荐

  • 互联网安全之iptables/netfilter入门到进阶

    随着互联网技术的方兴未艾,各种网络应用层出不穷,网络攻击、黑客入侵也成了网民畅游互联网的心头大患,互联网安全也愈加受到了人们的重视。网络防火墙,作为一种简单高效的互联网防御手段,逐渐成为了网民畅游网络世界的保护伞。下面笔者介绍下Linux系统的守卫者——iptables/netfilter。  一 兄弟齐心,其利断金  iptables/netfilter就…

    Linux干货 2017-05-06
  • VMware虚拟机三种连网原理简介

    一、前言         虚拟机(Virtual Machine),在计算机科学中的体系结构里,是指一种特殊的软件,可以在计算机平台和终端用户之间创建一种环境,而终端用户则是基于这个软件所创建的环境来操作系统软件。虚拟机根据它们运用和与直接机器的相关性分为两大类。系统虚拟机和程序虚拟机,系…

    Linux干货 2015-08-03
  • 通过Xshell 5连接VirtualBox的centos

    环境:VirtualBox  centos6.5 1、使用VirtualBox Host-Only Network模式 2、打开宽带连接,设置属性,选择VirtualBox Host-Only Network共享。(在这里虚拟机centos的IP地址是自动获得,并且可以上网。) 3、虚拟机centos需要     关闭防火墙 :…

    Linux干货 2015-11-07
  • 网络基础

    计算机网络     计算机网络,是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 1、网络通信设备     网络通信设备种类繁多,且日新月异,网络通信设备通常由网络线缆、网卡、集线器、中继器、网桥、交换机、路由器等组成。 网桥(Bri…

    Linux干货 2016-12-16
  • week2

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 常用工具cp mv rm cat tac head tail more less stat cp   cp SRC…DEST A. 如果SRC是文件: a. 如果目标不存在:新建DEST,并将SRC中的内容填充至DEST中。 b. 如果目标存在: (1). 如…

    Linux干货 2016-11-06
  • ​Linux基础知识之文件权限

    实验环境:    Linux系统版本为CentOS6.8_x86_64版本,以root用户和sjsir用户远程用xshell连接系统,进行试验。 文本目录:    1.文件的属性    2.文件权限相关的命令    3.umask 新建文件和目录的默认权限   &nbs…

    Linux干货 2016-08-05

评论列表(1条)

  • stanley
    stanley 2015-12-15 22:56

    格式上再优化些就可以置顶了