rpm命令详解

.apk –》android package

# chkconfig --list    --》查看Linux里开机启动的程序服务
NetworkManager 0:关闭 1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
abrt-ccpp       0:关闭    1:关闭    2:关闭    3:启用    4:关闭    5:启用    6:关闭
abrtd           0:关闭    1:关闭    2:关闭    3:启用    4:关闭    5:启用    6:关闭
acpid           0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
atd             0:关闭    1:关闭    2:关闭    3:启用    4:启用    5:启用    6:关闭
auditd         0:关闭 1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
autofs         0:关闭 1:关闭    2:关闭    3:启用    4:启用    5:启用    6:关闭
blk-availability    0:关闭    1:启用    2:启用    3:启用    4:启用    5:启用    6:关闭
bluetooth       0:关闭    1:关闭    2:关闭    3:启用    4:启用    5:启用    6:关闭
certmonger     0:关闭 1:关闭    2:关闭    3:启用    4:启用    5:启用    6:关闭
cpuspeed       0:关闭 1:启用    2:启用    3:启用    4:启用    5:启用    6:关闭
crond           0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
cups           0:关闭 1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
    .......

熟记!!!

/目录下文件夹的作用:

  • /boot 是存放系统的引导文件—》相当于windows里的c盘
  • /root 是root用户的家目录
  • /home 是普通用户的家目录
  • /etc 是存放配置文件(重要文件)ssh
  • /dev 是存放设备文本 device
  • /bin 是存放可执行文件(系统里的命令) binary
  • /sbin 是有重要权限的用户可以使用的命令存放的位置(超级用户使用的命令存放的位置,这样命令比较重要)—-》御用 super user binary
  • /usr 是linux下存放安装程序的目录 —》windows里的program files
  • unix system resource —》unix系统资源
  • /tmp 是存放临时文件的目录,任何用户都可以使用 temporary
  • /var 是存放可以变化的文件的目录。variable
  • /lib 是存放系统的库文件 library
  • /proc 是存放进程信息的(内核的信息也存放在此) process

1.linux下安装软件,软件到底有那些格式?

redhat系

  • centos、suse、redflag、oracle linux 、Fedora等
  • 软件格式:.rpm

debian系

  • ubuntu
  • 软件格式:.deb

源码包—》tar包
安装脚本:.sh .py 等
解压就可以使用,不需要安装
srpm —-》源码类型的source rpm包—》半成品—》制作成rpm包
vim-7.4.960-1.fc24.src.rpm

2.软件包从哪里来?如何得到软件包?

  • 光盘镜像文件
  • 官方网站(源码包)
  • 第3方资源网站

查找rpm包的网站:

  • www.rpmfind.net
  • rpm.pbone.net

RPM即:redhat package manager
regedit.ext 打开注册表 register edit
commercial 商业的
Community 社区

应用程序与系统命令的关系

文件位置

  • 系统命令:一般在/bin和/sbin目录中,或为Shell内部指令
  • 应用程序:通常在/usr/bin和/usr/sbin目录中

主要用途

  • 系统命令:完成对系统的基本管理工作,例如IP配置工具
  • 应用程序:完成相对独立的其他辅助任务,例如网页浏览器

适用环境

  • 系统命令:一般只在字符操作界面中运行
  • 应用程序:根据实际需要,有些程序可在图形界面中运行

运行格式

  • 系统命令:一般包括命令字、命令选项和命令参数
  • 应用程序:通常没有固定的执行格式

典型应用程序的目录结构

这里写图片描述

常见的软件包封装类型

这里写图片描述

RPM的缺点:

  • 安装的环境必须与打包时的环境需求一致或相当;
  • 需要满足套件的相依属性需求;
  • 反安装时需要特别小心,最底层的套件不可先移除,否则可能造成整个系统的问题!

SRPM

  • SRPM 文件里面含有原始码( Source Code )
  • SRPM 的文件名是以 *.src.rpm 这种格式来命名
  • 需要编译生成RPM包后才能进行安装

RPM包管理工具

RPM软件包:
这里写图片描述
注意!!不是所有的软件都有rpm包!!
因为,rpm包是人制作出来的。很多网站只是提供源码。不提供rpm包。

主要功能:

  • 查询RPM软件、包文件的相关信息
  • 安装、升级、卸载RPM软件包
  • 维护RPM数据库信息

指令集:是存储在CPU内部,对CPU运算进行指导和优化的硬程序。拥有这些指令集,CPU就可以更高效地运行。
Intel有x86,x86-64,MMX,SSE,SSE2,SSE3,SSSE3 (Super SSE3),SSE4.1,SSE4.2和针对64位桌面处理器的EM-64T。AMD主要是3D-Now!指令集。

查询已安装的RPM软件信息

  • 格式:rpm -q[子选项] [软件名]
  • 用法:结合不同的子选项 完成不同查询。

    • -qa:查看系统中已安装的所有RPM软件包列表,常跟|grep连用!
      这里写图片描述
    • -qi:查看指定软件的详细信息
    • -ql:查询指定软件包所安装的目录、文件列表 (安装到哪了)
    • -qc:仅显示指定软件包安装的配置文件
    • -qd:仅显示指定软件包安装的文档文件
  • 查询文件/目录属于哪个RPM软件:

    • -qf 文件或目录名(从哪来的)

查询未安装的RPM包文件

  • 格式:rpm -qp[子选项] RPM包文件
  • 用法:结合不同的子选项 完成不同查询
    • -qpi:通过.rpm包文件查看该软件的详细信息,后面接完整包名。
    • -qpl:查看.rpm安装包内所包含的目录、文件列表(将安装到哪)
    • -qpc:查看.rpm安装包内包含的配置文件列表
    • -qpd:查看.rpm安装包内包含的文档文件列表

安装或升级RPM软件 (-ivh)

  • 格式:rpm [选项] RPM完整包文件…
    • -i:安装一个新的rpm软件包。 {-i|–install} [-h,–hash]
    • -v:显示过程中的详细信息;
    • -h:以“#”号显示安装的进度;
    • -U:升级某个rpm软件,若原本未装,则进行安装 {-U|–upgrade}
    • -F:更新某个rpm软件,若原本未装,则放弃安装 {-F|–freshen}

卸载指定的RPM软件

  • 格式:rpm -e 完整软件名 {-e|–erase} –》擦除
  • 辅助选项:
    • –force:强制安装所指定的rpm软件包
    • –nodeps:安装、升级或卸载软件时,忽略依赖关系 no dependencies
    • -h:以“#”号显示安装的进度(50个hash符号)
    • -v:显示安装过程中的详细信息

RPM包依赖关系

  • 被依赖的软件包需要先安装 ;
  • 同时指定多个.rpm包文件进行安装 。
    –》即:先装A,才能装B,才能装C ……

卸载有依赖关系的多个软件时

  • 依赖其他程序的软件包需要先卸载 ;
  • 同时指定多个软件名进行卸载 。

忽略依赖关系

这里写图片描述

维护RPM数据库

RPM数据库:/var/lib/rpm目录下
故障原因:

  • 非正常关机、误删除运行中的程序文件 ;
  • RPM数据文件被误写或删除 。

当RPM数据库损坏时,需要进行数据库重建 :

  • 格式:rpm –rebuilddb或者 rpm –initdb

练习:
1.安装一个最小化的linux系统—》英文版minimal(redhat 6.5)
2.安装tree命令和vim编辑器

# rpm -ivh tree-1.5.3-3.el6.x86_64.rpm
# rpm -qa|grep vim
vim-common-7.4.629-5.el6.x86_64
vim-filesystem-7.4.629-5.el6.x86_64
vim-minimal-7.4.629-5.el6.x86_64
vim-enhanced-7.4.629-5.el6.x86_64
(安装时注意依赖关系!!)

3.查询一下ifconfig是通过那个软件包安装过来的

#which ifconfig
/sbin/ifconfig
# rpm -qf /sbin/ifconfig
net-tools-1.60-110.el6_2.x86_64

4.了解下ssh命令的官方网站是多少?

# rpm -qpi openssh-clients-5.3p1-111.el6.x86_64.rpm 

5.最小化的系统安装了多少个软件?

#mount /dev/cdrom /mnt 
#cd /mnt/Packages
#rpm  -qa|wc -l 

6.tree软件包安装到哪里去了?

# rpm -ql tree-1.5.3-3.el6.x86_64.rpm
package tree-1.5.3-3.el6.x86_64.rpm is not installed

7.如何知道zip-3.0-1.el6.x86_64.rpm到底是干什么用的?会安装到哪里?

# rpm -qpi zip-3.0-1.el6.x86_64.rpm
# rpm -qpl zip-3.0-1.el6.x86_64.rpm

8.安装mysql、mysql-server、httpd、php、php-mysql软件包
①先装mysql、再mysql-server,最后perl-DBI
这里写图片描述
②httpd:先装5.3,在根据提示的依赖关系安装即可。
③php同httpd安装
9.安装gcc和gcc-c++编译器
注意依赖关系!
10.卸载gcc和gcc-c++编译器

#rpm  -e 完整包名
原文地址:https://www.cnblogs.com/lpeng94/p/12546432.html