目录
一、应用程序与系统命令的关系
文件位置系统命令:应用程序命令的执行文件大多比较小,通常放置在/bin和/sbin目录中。对于内部命令,常集成在 Bash 程序内,而不是独立地执行文件
应用程序:应用程序的执行文件通常放在/usr/bin、/usr/sbin 和/usr/local/bin、/usr/local/sbin 等目录中
主要用途系统命令:命令文件一般在安装操作系统时一起安装,用于辅助操作系统本身的管理
应用程序:应用程序一般需要在操作系统之外另行安装,提供相对独立于操作系统的功能,有时候等同于“软件”的概念
适用环境系统命令:命令只在字符操作界面中运行
应用程序:应用程序可能会用到图形界面,形式多样
运行格式系统命令:命令行大多适用于“命令字选项参数”形式的一般格式
应用程序:应用程序一般没有固定的执行格式,运行方式由程序开发者自行定义
二、典型应用程序的目录结构
Linux操作系统应用程序主要是7个文件组成他们跟别放在对应的目录下
安装完一个软件包以后,可能会向系统中复制大量的数据文件,并进行相关设置。在 Linux 操作系统中,典型的应用程序通常由以下几部分组成
普通的可执行程序文件:一般保存在/usr/bin 目录中,普通用户即可执行
服务器程序、管理程序文件:一般保存在/usr/sbin 目录中,只有管理员能执行
应用配置文件:一般保存在/etc 目录中,配置文件较多时会建立相应的子目录
日志文件:一般保存在/var/log 目录中
关于应用程序的参考文档等数据:一般保存在/usr/share/doc/目录中(主要存放软件的说明文档)
执行文件及配置文件的 man 手册页:一般保存在/usr/share/man/目录中
三、常见的软件包封装类型
对于各种应用程序的软件包,在封装时可以采用各种不同的类型,不同类型的软件包其安装方法也各不相同。常见的软件包封装类型如下所述:
RPM 软件包:这种软件包文件的扩展名为“.rpm”,只能在使用 RPM(RPM Package Manager,RPM 软件包管理器)机制的 Linux 操作系统中安装,如 RHEL、Fedora、 CentOS 等
RPM 软件包一般针对特定版本的操作系统量身定制,因此依赖性较强。安装 RPM 软件包需要使用操作系统中的 rpm 命令
DEB 软件包:这种软件包文件的扩展名为“.deb”,只能在使用 DPKG(Debian Package,Debian 包管理器)机制的 Linux 操作系统中进行安装,如 Debian、Ubuntu 等。安装 DEB 软件包需要使用操作系统中的 dpkg 命令
源代码软件包:这种软件包是程序员开发完成的原始代码,一般被制作成“.tar.gz” 或“.tar.bz2”等格式的压缩包文件,因多数使用 tar 命令打包而成,所以经常被称为 “TarBall”。安装源代码软件包需要使用相应的编译工具,如 Linux 中的 C 语言编译器 gcc。因此,在安装操作系统的时候尽量勾选“开发工具”一项来安装基本的编译
附带安装程序的软件包:这种软件包的扩展名不一,但仍以 TarBall 格式的居多。 软件包中会提供用于安装的可执行程序或脚本文件,如 install.sh、setup 等,有时 候会以“.bin”格式的单个安装文件形式出现。安装时只需运行安装文件就可以根据 向导程序的提示完成安装操作。开放源代码的自由软件绝大多数选择以 TarBall 的形式发布,而 RPM 软件包、DEB 软件包等则使用了二进制的文件格式,代码相对比较封闭
四、RPM概述
RPM 软件包管理机制最早由 Red Hat 公司提出,后来随着版本的升级逐渐融入更多的优秀特性 , 成为众多 Linux 发行版中公认的软件包管理标准 。 在其官方站点 http://www.rpm.org 中,可以了解到关于 RPM 包管理机制的详细资料。
RPM 软件包管理器通过建立统一的文件数据库,对在 Linux 操作系统中安装、卸载、 升级的各种.rpm 软件包进行详细的记录,并能够自动分析软件包之间的依赖关系,保持各应用程序在一个协调、有序的整体环境中运行
1.查询已安装的RPM软件信息
rpm -q 软件名 | #查询指定软件是否已安装 |
rpm -qi 软件名 | #显示已安装的指定软件的详细信息 |
rpm -ql 软件名 | #显示已安装的指定软件的文件列表 |
rpm -qc 软件名 | #列出已安装的指定软件的配置文件 |
rpm -qd 软件名 | #列出已安装的指定软件的软件包文档所在位置 |
rpm -qR 软件名 | #列出已安装软件的指定软件的依赖的软件包及文件 |
rpm -qF 文件或目录 | #查询已安装的指定软件属于哪个安装包 |
rpm -qa | #显示当前系统中以rpm方式安装的所有软件列表 |
rpm -qf /usr/bin/passwd | #查看指定的文件或目录是那个软件包所安装的 |
2.查询未安装的RPM软件包文件中信息
rpm -qpi RPM包文件名 | #查询指定软件包的详细信息 |
rpm -qpl RPM包文件名 | #查询指定软件包的文件列表 |
rpm -qpc RPM包文件名 | #查询指定软件包的配置文件 |
rpm -qpd RPM包文件名 | #查询指定软件包的软件包文档的位置 |
3.安装、升级、卸载RPM软件包
格式:
rpm [选项] RPM包文件
rpm -ivh RPM软件包
常用选项
-i: | 安装一个新的 RPM 软件包 |
-U: | 升级某个软件包,若未安装过,则进行安装 |
-F: | 升级某个软件包,若未安装过,则放弃安装 |
-h: | 在安装或升级软件包的过程中,以“#”号显示安装进度 |
-v: | 显示软件安装过程中的详细信息 |
--force: | 强制安装某个软件包,比如要安装版本更旧的软件包 |
-e: | 卸载指定名称的软件包 |
--nodeps: | 在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系 |
五、yum常用的操作命令
yum -y install 软件名 | #安装、升级软件包,“-y”选项表示自动确认 |
yum -y remove 软件名 | #卸载软件包,可自动解决其依赖关系 |
yum -y update 软件名 | #升级软件包 |
yum list | #查询软件包列表 |
yum list installed | #查询系统中已安装的软件包 |
yum list available | #查询仓库中尚未安装的软件包 |
yum list updates | #查询可以升级版本的软件包 |
yum info 软件名 | #查询软件包的描述信息 |
yum search [all] 关键词 | #根据某个关键词来查找相关的软件包 |
yum whatprovides 命令 | #查询命令属于哪个软件包 |
yum install 包名 -y --downloadonly --downloaddir=/tmp/ | #下载RPM包到指定目录 |
六、编译安装的基本过程
七、配置Apache服务
先准备好源包
然后解压
然后编辑
./configure --prefix=/usr/local/apache
然后make (配置内核大小) && make install
开启服务
/usr/local/apache/bin/apachectl start
八、配置yum仓库
先配置本地yum源仓库
mount /dev/cdrom /mnt/ #把光盘挂载到/mnt目录下
挂载 设备 目录或文件夹
注:最好是空的,原来的数据将被隐藏,一个挂载点同一时只能挂载一个设备df -h #查看挂载情况
编写内容
vim local.repo
[local] #仓库类别
name=local #仓库名称
baseurl=file:///mnt #指定URL 访问路径为光盘挂载目录 本地yum源
enabled=1 #开启此yum源,此为默认项,可省略
gpgcheck=0 #不验证软件包的签名