Linux软件包管理及相关命令

rpm命令,yum命令

软件包管理及相关命令

对于一个用户来说,直接通过控制操作系统的内核来控制操作系统的话有点不切实际。因此需要在内核的基础上安装各种服务软件和工具软件。现在大多数的操作系统都提供了集中式的软件包管理机制。用户可以通过方便管理各种软件包。软件包中通常包含了编译好了的二进制文件和其他资源(安装及卸载脚本、元数据、软件说明等)。

CentOS软件包管理:
CentOS发行版和Fedora的软件包后缀为.rpm,因此看到以.rpm为后缀的包文件基本上就是CentOS或者Fedora。
CentOS通过yum工具来安装和管理软件包。也可以先部署好repository(软件包仓库)后来通过rpm命令来进行软件包的安装和管理。

rpm命令详解:
rpm是一款遵循GPL协定的功能强大的软件包管理工具,通过rpm能够极大的方便用户对于linux的使用及管理。
使用规则:
rpm [OPTION]… [the name of rpm package]
 查询或者判断软件包
rpm {-q | –query} [OPTION] [query option]
rpm {-V | –verify} [OPTION] [verify option]
 安装或卸载软件包
rpm {-i | –install} [install option] {package name} ##安装软件包
rpm {-U | –upgrade} [install option] {package name} ##检验软件包的存在,若存在则升级
rpm {-F | –freshen} [install option] {package name} ##仅用来升级软件包
rpm {-e | –erase} [option] {package name}
常用选项:
-a | –all :查询所有包
-f | –file :选择rpm包文件(查询含有指定文件的包)
-i | –info:查询包的相关信息
-i [package name]:安装指定软件包
-v:显示软件包的安装过程(verbose)
-h | –hash:显示软件包安装时的进度
-vv:详细展示rpm命令执行时的过程细节
–force:强制安装此包
–nodeps:安装此包时不进行包依赖的检查
–prefix /path/to/install_directory:指定软件包安装的目录
–justdb:只是升级数据库,文件系统不升级
–test:运行卸载测试(不是真的卸载常与-vv选项结合排障)
-p | –package [package_name]:查询一个还没有安装的软件包
-q:获取某个软件包的全名
-ql package_name:获取软件包的安装位置,不能带后缀
(寻找二进制程序可使用which)
应用实例:
1、 安装软件包
rpm -ivh package_name(一般讲rpm包放置于当前目录)
2、 卸载安装包
rpm -e package_name
3、 查询
(1)查询包是否已安装
rpm -q package_name
(2)查询已经安装的所有包
rpm -qa(可结合管道符与grep来搜索特定包)
(3)查询某文件是由哪个rpm包生成的
rpm -qf /path/to/somefile
(4)查询未安装的包文件
rpm -qpi package_file
(5)查询包的简要信息
rpm -qi package_name
(6)查询包安装后生成的文件列表
rpm -ql package_name
(7)查询包安装后的配置文件
rpm -qc package_name
(8)查询包安装后的生成的所有帮助文件
rpm -qd package_name
(9)查看包制作时随版本变化的changelog信息
rpm -q –changelog package_name

yum命令详解:
yum是基于rpm包管理,能够从互联网上的服务器自动下载rpm包并进行安装的一款工具。可以自动的解决包的依赖关系(一次性全部安装所有依赖包),能够提供包的删查改等功能。
使用形式:yum [opton] [command] [package_name…]
常用参数:
-y:当安装过程中有提示选择的时候,自动选择“yes”
-q:不显示安装的过程
-h:显示帮助信息
-c:指定配置文件
-v:显示安装的详细过程

主要功能:
1、 install(安装)
2、 update(更新)
3、 check-update(检查更新)
4、 remove(卸载)
5、 list(显示)
6、 search(查找)
7、 info(获取包信息)
8、 clean(清除包缓存)
应用举例:
1、 安装
yum install package_name(安装package_name)
yum groupinstall group(安装程序组group)
2、 更新
yum update(默认更新所有东西,包括系统版本)
yum update package(更新指定程序包)
yum check-update(检查可更新的程序)
yum groupupdate group(更新从程序组)
yum update-to package(将程序包升级到指定版本)
3、 查找和显示
yum info package (显示未安装的包的信息)
yum list(显示可以获取的包,包括已安装的)
yum list package(显示指定未安装的程序包的信息)
yum search string(根据string来查找包)
yum groupinfo group(显示程序组的信息)
yum repolist all(显示所有包仓库,包括可用的和不可用的)
yum repolist enable(显示可用包仓库)
yum repolist disable(显示不可用的包仓库)
4、 卸载程序
yum [remove | erase] package_name(删除包)
yum groupremove group(删除程序组)
yum depllist package_name(查看该包的依赖情况)
5、 清除缓存
yum clean package清除缓存目录下的安装包
yum clean headers清除缓存目录下的headers
yum clean oldheaders清除缓存目录下的旧headers
yum clean ; yum clean all(清除所有缓存目录下的缓存)
yum clean plugins
6、 建立缓存
yum makecache

本地yum搭建:
(1) 环境要求,需要关闭防火墙,selinux设置为disabled
systemctl disable firewalld
vim /etc/sysconfig/selinux,将SELINUX=enforce修改为SELINUX=disabled
(2) 将本地源文件挂载:
mount /opt/centos/CentOS-7-x86_64-Everything-1708.iso /mnt/centos7-everything/
此时执行mount即可看到挂载的文件:

(3) 修改repo文件:cd /etc/yum.repos.d/
先备份所有的yum源文件,mv ./* /etc/yum.repos.d.backup/
(4) 添加yum源文件:cd /etc/yum.repos.d/
vim CentOS-Media.repo,添加如下内容:
[c7-media]
name=CentOS-$releasever – Media
baseurl=file:///mnt/centos-everything/
gpgcheck=1
enable=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

(5) 清除之前的yum缓存并且生成现有的yum缓存:
yum clean all && yum makecache
(6) 缓存制作完成之后就可以进行包的安装了

网络yum源制作:
(1) 有了本地源制作的经验后,网络源制作也是相当的简单,开始先关闭防火墙,selinux=diabled。
(2) 回到yum源目录并创建一个网络yum源文件:cd /etc/yum.repos.d/ && touch CentOS-mirrorlist。
(3) 在CentOS中添加如下内容:
[centos-mirrorlist]
name=CentOS-$releasever
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
gpgcheck=1
enable=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
(4) 清除之前的yum缓存并制作现有缓存:yum clean all && yum makecache
(5) 至此网络yum源制作完毕。

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/92116

(1)
~~
上一篇 2018-03-12 19:54
下一篇 2018-03-12 21:44

相关推荐

  • RPM的使用

    概述 RPM 是 Red Hat PackageManager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理;在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用; RPM包里面都包含什么?里面包含可执行的二进制程序,这个程序和W…

    Linux干货 2016-02-14
  • LAMP搭建wordpress博客站点

    使用WordPress可以搭建功能强大的网络信息发布平台,但更多的是应用于个性化的博客。针对博客的应用,WordPress能让您省却对后台技术的担心,集中精力做好网站的内容。本文将教您如何通过LAMP搭建自己的wordpress博客站点。 LAMP听起来很高大上,其实是集中技术合起来的称呼: L:linux A:apache httpd M:mysql、ma…

    2017-06-01
  • 自制 mini linux

    思路 先装载一块硬盘,按照上面两个实验的部分结果,创建各个目录 在/boot 里面添加内核 ,添加initramfs.img文件添加grub组件  ,创建grub.conf   然后复制bash  ,ls  ,cp  等,命令和响应的库文件,并在启动的时候指定第一个进程为/bin/bash 顺便加载一个网卡驱…

    2017-05-14
  • 魔术方法

    Edit 魔术方法 使用Python的魔术方法的最大优势在于他们提供了一种简单的方法来让对象可以表现的像内置类型一样。那意味着你可以避免丑陋的,违反直觉的,不标准的的操作方法。 特殊属性 属性 含义 __name__ 类、函数、方法等名字 __module__ 类定义所在的模块名? __class__ 对象或类所属的类 __bases__ 类的基类的元组,顺…

    Linux干货 2017-11-21
  • Linux基础知识之网络配置

    基本网络配置:     将Linux主机接入到网络,需要配置网路相关设置。         IP/NETMASK:本地通信         路由(网关):跨网络…

    Linux干货 2016-09-07
  • corosync+pacemaker对mariadb实现高可用

    corosync+pacemaker对mariadb实现高可用 利用nfs共享存储,导出一个目录作为mariadb的数据目录,然后利用corosync+pacemaker对mariadb进行高可用 1、实验环境 2、实验前的分析 利用nfs导出目录作为mariadb的共享目录,要确保各个mariadb节点对该目录具有写权限,也就是要确保nfs服务器上有一个U…

    Linux干货 2016-11-24