今天讲一下如何在linux系统中进行安装。
目录
一、应用程序与命令系统的关系
角色 | 系统命令 | 应用程序 |
---|---|---|
文件位置 | 一般在/bin和/sbin目录中,或为Shell内部指令 | 通常在/usr/bin、/usr/sbin 和/usr/local/bin、/usr/local/sbin 目录中 |
主要用途 | 完成对系统的基本管理工作,例如IP配置工具 | 完成相对独立的其他辅助任务,例如网页浏览器 |
适用环境 | 一般只在字符操作界面中运行 | 根据实际需要,有些程序可在图形界面中运行 |
运行格式 | 一般包括命令字、 命令选项和命令参数 | 通常没有固定的执行格式,由程序开发者自行定义 |
二、典型应用程序的目录结构
文件类型 | 保存目录 | 说明 |
---|---|---|
普通的可执行程序文件 | /usr/bin | 所有用户可执行 |
服务器程序、管理程序文件 | /usr/sbin | 只有管理员能执行 |
应用程序配置文件 | /etc | 通过rpm或yum方式安装的应用程序 |
日志文件 | /var/log | 系统日志(排错最佳帮手) |
应用程序参考文档文件 | usr/share/doc | 关于应用程序的参考文档等数 |
应用程序手册页文件 | /usr/share/man | 执行文件及配置文件的man手册页 |
三、常见的软件包封装类型
文件类型 | 保存目录 |
---|---|
RPM软件包 | 扩展名为“.rpm” (RHEL、CentOS等系统) |
DEB软件包 | 扩展名为“.deb”(Ubuntu、Debian等系统) |
源代码软件包 | 一般为“.tar.gz”、“.tar.bz2”等格式的压缩包(包含程序的原始代码,需要编译成二进制安装) |
绿色免安装的软件 | 软件包扩展名不一;以TarBall格式的居多;在压缩包内提供已经编译好的执行程序文件,解开压缩包后的文件即可直接使用 |
四、RPM简介
4.1RPM概述
RPM软件包管理器Red-Hat package Manager
- 由Red Hat公司提出, 被众多Linux发行版所采用
- 建立统一的文件数据库
- 详细记录软件包安装、卸载、升级等变化信息
- 自动分析软件包依赖关系
- 保持各应用程序在一个协调、有序的整体环境中允许
RPM软件包获取途径:
-
RPM软件包软件素材参考:http://www.rpm.org
-
RPM软件包一般命名格式:bash-4.1.2.-28.el6.x86_64.rpm
4.2RPM命令概述
- rpm命令能够实现几乎所有对RPM软件包的管理功能
- 执行"man rpm"命令可以获得关于rpm命令的详细帮助信息
- rpm命令功能
- 查询、验证RPM软件包的相关信息
- 安装、升级、卸载RPM软件包
- 维护重建RPM数据库信息等综合管理操作
五、查询RPM软件包信息
5.1查询已安装的RPM软件信息
格式:rpm -q[子选项][软件名]
-
常用选项
选项 功能 -qa 当亲系统已安装的软件包查询 -qi 查看已安装的指定软件的详细信息 --info -ql 查看已安装的指定软件包在当前系统中安装的所有目录 --list -qc 查看已安装的指定软件的配置文件 -qd 列出已安装的指定软件的软件包文档所在位置 -qR 列出已安装的指定软件的依赖的软件包及文件 -qf 反向查看已安装的指定的文件或目录属于哪个安装包 --file -qF 查询已安装的指定软件属于哪个安装包 例如:
1.安装软件
# rpm -hvi dejagnu-1.4.2-10.noarch.rpm
警告:dejagnu-1.4.2-10.noarch.rpm: V3 DSA 签名:NOKEY, key ID db42a60e
准备…
########################################### [100%]
2.显示软件安装信息
# rpm -qi dejagnu-1.4.2-10.noarch.rpm
5.2挂载与解挂载
mount:挂载,你的包在你的光驱里并没有放在系统中,光盘的包只有先挂载在光盘到我的系统
什么是挂载:将硬件,比如光盘、光驱等,挂载在目录上使用,变成文件
unmount:解挂载,跟着硬件设备走,不在挂在的文件下
语法内容:
- mount [-hV] mount -a [-fFnrsvw] [-t vfstype] mount [-fnrsvw] [-o
- options [,...]] device | dir mount [-fnrsvw] [-t vfstype] [-o
- options] device dir
5.3查询未安装的RPM软件包文件中信息
格式: rpm -qp[子选项] rpm包文件
- 常用选项
选项 | 说明 |
---|---|
-qpi | 查询指定软件包的详细信息 |
-qpl | 查询指定软件包的准备要安装的所有目录及文件列表 |
-qpc | 查询指定软件包的配置文件 |
-qpd | 查询指定软件包的软件包文档的位置 |
六、安装、升级、卸载RPM包
基本格式:
rpm [选项] RPM软件包
rpm -ivh RPM软件包 #安装软件包,install
rpm -evh RPM软件包 #卸载软件包
- 常用选项
选项 | 说明 |
---|---|
-i | 安装一个新的RPM软件包。 |
-U | 升级某个软件包,若未安装过,则进行安装。 |
-F | 升级某个软件包,若未安装过,则放弃安装。 |
-h | 在安装或升级软件包的过程中,以“#”号 显示安装进度。 |
-v | 显示软件安装过程中的详细信息。 |
- -force | 强制安装某个软件包,比如要安装版本更旧的软件包 |
-e | 卸载指定名称的软件包 |
- -nodeps | 在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系 |
七、维护RPM数据库
-
重建RPM数据库
当RPM 数据库发生损坏,可通过重建RPM数据库修复基本格式: rpm --rebuilddb #法一 rpm --initdb #法二
-
导入验证公钥
在没有导入用于数字签名验证的公钥文件之前,安装光盘中的一 部分RPM软件包时会报错。需要向RPM数据库中导入位于光盘根目录下的公钥文件。基本格式: mount /dev/cdrom /mnt/ #先挂载cdrom rpm --import /mnt/RPM-GPG-KEY-CentOS-7 #导入公钥
八、解决软件包依赖关系的方法
8.1 安装有依赖关系的多个软件时
- 被依赖的软件包需要先安装
- 可同时指定多个.rpm包文件进行安装
8.2卸载有依赖关系的多个软件时
- 依赖其他程序的软件包需要先卸载
- 可同时指定多个软件名进行卸载
8.3忽略依赖关系
- 结合“- -nodeps”选项,但可能导致软件异常
九、yum安装
yun是rpm的升级版,可以把依赖关系都装了
[root@yxp Packages]# cd /etc/yum.repos.d/
[root@yxp yum.repos.d]# ls
yum 语法
yum [options] [command] [package ...]
options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为 "yes"),
-q(不显示安装的过程)等等。
command:要进行的操作。
package:安装的包名。
-
切换到/etc/yum.repos.d
-
移走yum.repos.d的源文件 //新建一个文件夹
-
新建以.repo结尾的文件
-
然后编辑文件 vim centos.repo
-
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0 -
yum repolist
-
yun clean all
-
yum install
. 切换到/etc/yum.repos.d