目录
①mount /dev/cdrom /mnt # 设备名也可能是 /dev/sr0
一、应用程序与系统命令的关系
1.1.1文件位置(典型约定)
| 类型 | 说明 | 常见路径 |
| 系统命令(外部) | 较小、随系统安装 | /bin, /sbin |
| 系统命令(内部/内建) | 集成在 Shell(如 Bash)内 部 | 内建,无独立可执行文件 |
| 应用程序(普通用户可执 行) | 独立软件的命令 | /usr/bin, /usr/local/bin |
| 应用程序(管理/服务) | 管理工具与服务程序 | /usr/sbin, /usr/local/sbin |
1.2.1主要用途
- 系统命令:随操作系统安装,用于系统管理与维护。
- 应用程序:通常需另行安装,提供独立功能(等同“软件”)。
1.3.1适用环境
-
系统命令:多在字符界面/终端使用。
-
应用程序:既可命令行,也可能提供图形界面。
1.4.1运行格式
- 系统命令:常见格式为 命令 选项 参数。
- 应用程序:执行方式由开发者定义,不固定。
二、典型应用程序的目录结构
安装一个软件包后,系统中可能新增多类文件,典型结构如下:
| 文件类型 | 作用 | 典型路径 |
| 普通可执行文件 | 用户可执行的程序 | /usr/bin/ |
| 管理/服务可执行 | 仅管理员执行的工具/守护进程 | /usr/sbin/ |
| 配置文件 | 程序运行参数 | /etc/(必要时有子目录) |
| 日志文件 | 运行日志 | /var/log/ |
| 文档/示例 | 说明与示例 | /usr/share/doc/ |
| man 手册 | 命令手册页 | /usr/share/man/ |
示例:Postfix(邮件服务)
查看安装后文件清单:
rpm -ql postfix
三、常见的软件包封装类型
- RPM 包(.rpm):适用于 RHEL/Fedora/CentOS 等(RPM 机制)。使用 rpm/yum 安装。
- DEB 包(.deb):适用于 Debian/Ubuntu 等(DPKG 机制)。使用 dpkg/apt 系列安装。
- 源代码包(TarBall,.tar.gz/.tar.bz2 等):需编译安装,常用 gcc、make 等工具。
- 自带安装程序的包:TarBall 内含安装脚本(如 install.sh/setup)或单个 .bin 安装器,执
- 行向导完成安装。
说明:开源软件多以 TarBall 形式发布;RPM/DEB 为二进制封装,安装快捷但依赖由发行版定
制。
四、RPM 包管理工具
4.1 概述
- RPM 通过本地数据库记录已安装软件包、文件清单与依赖关系,支持查询、安装、升级、卸载与校验。
4.2 命名规则(示例)
软件名-版本-发布号.发行版/系统.架构.rpm
# 例:bash-4.2.46-20.el7_2.x86_64.rpm
# 架构:i386/i686(32 位)、x86_64(64 位)、noarch(与架构无关)

4.3 查询已安装的 RPM 信息
rpm -q <软件名> # 是否已安装
rpm -ql <软件名> # 文件列表
rpm -qc <软件名> # 配置文件
rpm -qa # 列出所有 RPM 包
rpm -qa | grep -i postfix # 过滤查询
4.4 安装、升级、卸载 RPM 包
基本格式
rpm [选项] <RPM包文件>
rpm -ivh <包.rpm> # 安装(install, verbose, hash 进度)
rpm -Uvh <包.rpm> # 升级(未安装则直接安装)
rpm -Fvh <包.rpm> # 升级(未安装则跳过)
rpm -e <软件名> # 卸载
常用选项
- -i 安装;-U 升级或安装;-F 仅升级已安装包
- -h 显示 # 进度;-v 详细输出
- --force 强制安装(例如覆盖高版本或已有文件)
- --nodeps 忽略依赖检查(不推荐于生产环境)
五、Yum包管理工具
5.1 配置本地 YUM 源(以光盘为例)
①mount /dev/cdrom /mnt # 设备名也可能是 /dev/sr0
(把物理光盘(或光盘镜像对应的设备文件) /dev/cdrom,关联到系统中的 /mnt 目录,让你能通过 /mnt 目录访问光盘里的所有文件(相当于 Windows 中 “双击光盘盘符打开” 的操作)

②cd /etc/yum.repos.d/
(移动到目录etc/yum.repos.d下,该目录下有各种repo文件,即软件仓库配置文件,里面也含有国外的下载地址,在国内可能因超时导致无法顺利下载)

③mkdir repos.bak && mv *.repo repos.bak

(创建一个repos.bak目录,并将这些repos文件放入其中,做成备份形式)
④vi local.repo

(配置本地仓库文件,baseurl=file:///mnt 是核心配置项,作用是告诉系统:“这个名为 local 的仓库,其软件包的实际存放路径是 /mnt 目录,enabled=1表示启用该本地仓库,gpgcheck=0关闭软件包的验证)
⑤yum clean all && yum makecache
清除所有缓存,建立新的缓存
5.2 常用命令
yum -y install <包> # 安装/升级(自动确认)
yum -y remove <包> # 卸载并处理依赖
yum -y update <包> # 升级指定包或全局(不指定包时)
yum list # 所有包列表
yum list installed # 已安装
yum list available # 可安装
yum list updates # 可更新
yum info <包> # 描述信息
yum search all <关键词> # 按关键词搜索
yum whatprovides <命令/文件> # 由哪个包提供
5.6 源代码编译安装(以 httpd 为例)
①yum install -y gcc gcc-c++ make

# 构建 httpd 的常见依赖(示例,按需取舍)
②yum install -y gcc* apr-devel* pkgconfig* libapr* \
pcre pcre-devel libtool libxml2-devel apr-util*

③tar zxvf httpd-2.4.25.tar.gz -C /usr/src/
(将下载好的 httpd 源码压缩包(.tar.gz格式)解压到系统默认的 源码编译目录 /usr/src/(Linux 中习惯将源码放在这里统一管理)
④cd /usr/src/httpd-2.4.25/
(进入解压后的源码根目录,切换到usr/src/的httpd-2.4.25下)
⑤./configure --help
(查看 ./configure 命令的 所有可用配置选项)
⑥./configure --prefix=/usr/local/apache
(指定 Apache 的最终安装目录)
⑦make && make install
(根据 ./configure 生成的 Makefile,编译源码(将 C 语言源码编译成可执行程序、库文件等)
# 基本验证
vim /usr/local/apache/conf/httpd.conf
(编辑配置文件,添加 / 修改 ServerName)
/usr/local/apache/bin/apachectl start
(重启 httpd 服务,生效配置)
curl http://<服务器IP>
(连接判断是否成功)
# 或在本机用文本浏览器
yum -y install lynx
lynx 127.0.0.1
3127

被折叠的 条评论
为什么被折叠?



