目录
1.Linux应用程序基础
(1)应用程序与系统命令关系
角色 | 系统命令 | 应用程序 |
---|---|---|
文件位置 | 一般在/bin和/sbin目录中,或为shell内部指令 | /usr/bin、/usr/sbin、/usr/local/bin、/usr/local/sbin |
主要用途 | 完成对系统的基本管理工作,例如:Ip配置工具 | 完成相对独立的其他辅助任务,例如:网页浏览器 |
适用环境 | 一般只在字符操作界面中运行 | 根据实际需要,有些程序可在入刑界面中运行 |
运行格式 | 一般包括命令字、命令选项和命令参数 | 通常没有固定的执行格式,有程序开发者自行定义 |
(2)典型应用程序的目录结构
文件类型 | 保存目录 | 说明 |
---|---|---|
普通的可执行程序文件 | /usr/bin | 所有用户可执行 |
服务器程序、管理程序文件 | /usr/sbin | 只有管理员能执行 |
应用程序配置文件 | /etc | 通过rpm或yum方式安装的应用程序 |
日志文件 | /var/log | 系统日志 |
应用程序参考文档文件 | /usr/share/doc | 关于应用程序的参考文档等数据 |
应用程序手册页文件 | /usr/share/man | 执行文件及配置文件的man手册页 |
(3)常见的软件包封装类型
RPM软件包 | DEB软件包 | 源代码软件包 | |
---|---|---|---|
系统支持 | RHEL、CentOS、OpenSUSE等系列 | Ubuntu、Debian等系列 | 包含程序的源代码,需要编译安装 |
软件包名称格式 | XXX.rpm | XXX.deb | XXX.tar.gz、XXX.tar.bz2等格式的压缩包 |
管理命令 | rpm 、 yum | dpkg 、 apt-get |
附带安装程序的软件包:包含二进制程序文件,解压即可直接使用,包含安装脚本或程序,解压执行即可完成自动安装。
2.RPM软件包管理工具
(1)RPM软件管理器Red-Hat Package Manager
由Red Hat公司提出,被众多Linux发行版所采用;
建立统一的文件数据库;
详细记录软件包安装、卸载、升级等变化信息;
自动分析软件包依赖关系。
(2)RPM软件包
软件素材参考:http://www.rpm.org
一般命名格式:bash-4.2.46-28.el7.x86_64.rpm
软件名称:bash
版本号:4.2.46
发布次数:28.el7
硬件平台:x86_64
扩展名:rpm
(3)查询RPM软件报信息
(1)rpm命令的格式
rpm命令能够实现几乎所有对RPM软件包的管理功能;
执行“man rpm”命令可以获得关于rpm命令的详细帮助信息;
rpm命令功能:查询、验证RPM软件包的相关信息;
安装、升级、卸载RPM软件包;
维护重建RPM数据库信息等综合管理操作。
(2)查询已安装的RPM软件信息
rpm -q [子选项] [软件名]
常用选项 | |
---|---|
-qa | 全量查看已经安装的所有软件 |
-qi | 查看软件的详细信息 |
-ql | 查看软件的所有文件 |
-qc | 查看软件的配置文件 |
-qd | 查看软件的文档文件 |
-qR | 查看软件的依赖包和文件 |
-qf | 查看文件/目录属于哪个软件 |
*注:rpm -qa | grep 软件名 #全量查看已经安装的所有软件,再通过grep过滤
(3)查询RPM软件包文件中的信息
rpm -qp [子选项] RPM包文件
常用选项 | |
---|---|
-qpi | 根据软件包查看软件的详细信息 |
-qpl | 根据软件包查看软件的所有文件 |
-qpc | 根据软件包查看软件的配置文件 |
-qpd | 根据软件包查看软件的文档文件 |
(4)安装、升级、卸载RPM软件包
(1)安装或升级RPM软件
rpm [选项] RPM包文件...
常用选项 | |
---|---|
-i | 安装一个新的 RPM 软件包 |
-U | 安装或升级 |
-F | 仅升级 |
*注:rpm -ivh 软件包 [--nodeps --force] #强制安装一个新的RPM软件包,vh显示安装进度可省略;[--nodeps --force] 强制安装
(DEP:dpkg -i XXX.deb)
(2)卸载指定的RPM软件
rpm -e 软件名
辅助选项 | |
---|---|
-e | 卸载指定名称的软件包 |
--force | 强制安装某个软件包,比如要安装版本更旧的软件包 |
--nodeps | 在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系 |
*注:rpm -evh 软件名 [--nodeps --force]
(DEP:dpkg -r XXX.deb)
(5)维护RPM数据库
重建RPM数据库
rpm --rebuilddb #重建RPM数据库
或rpm --initdb
导入验证公钥:
rpm --import 秘钥 #向RPM数据库导入验证秘钥文件
(6)解决软件包依赖关系方法
安装有依赖关系的多个软件时:
被依赖的软件包需要先安装;可同时指定多个.rpm包文件进行安装。
卸载有依赖关系的多个软件时:
依赖其他程序的软件包需要先卸载;可同时指定多个软件名进行卸载。
忽略依赖关系:
结合“--nodeps”选项,但可能导致软件异常。
(1)软件包管理器-yum
能够自动解决软件包的依赖关系,实现一键安装软件包。
(1)配置yum本地仓库源
(1)挂载光盘镜像
mount /dev/sr0 /mnt #把光驱挂载mnt目录下
df #验证挂载情况
(2)进入 yum 仓库配置目录,备份原仓库配置文件
cd /etc/yum.repos.d/
mkdir repo.bak
mv *.repo repo.bak/
(3)创建 yum 本地仓库源配置文件
cd /etc/yum.repos.d/
vim local.repo
[local] ##仓库类别
name=local ##仓库名称
baseurl=file:///mnt ##指定URL 访问路径为光盘挂载目录
enabled=1 ##开启此yum源,此为默认项,可省略
gpgcheck=0 ##不验证软件包的签名
(gpgcheck=1 #gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-7)
yum clean all && yum makecache ##删除yum缓存并更新
(4)使用 yum 安装软件
yum install -y 软件名
3.源代码编译安装
(1)使用 yum 安装编译软件环境的依赖包 gcc gcc-c++ make ....
(2)官网下载,解压软件包
tar xf XXX.tar.gz
(3)进入软件包目标使用 ./configure 配置软件的安装目录、安装模块等
cd 软件包目录
./configure --prefix=软件安装目录 --XXX #可通过 --help 获取帮助
(4)make 编译,将源代码转换成可执行的二进制程序文件
(5)make install 安装,复制二进制程序文件和软件配置文件等到软件安装目录
源码编译安装软件的过程。
1)使用yum安装编译安装环境依赖包
2)下载解压源代码软件包
3)进入软件包目录使用 ./configure 配置安装目录、安装模块
4)使用 make 编译
5)使用 make install 安装
yum remove/erase #卸载
yum update #升级
yum list [软件名] #查询软件列表
yum list installed/available/updates
yum info 软件名 #查看软件信息
yum search all 软件关键词 #根据关键词搜索软件包
yum whatprovides 命令子/命令文件 #根据命令搜索软件包