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软件包
RPM 软件包管理器: 最初是由红帽开发的。该程序提供了一种标准的方式来打包软件进行分发.与使用从存档提取到文件系统的软件相比,采用RPM 软件包形式管理软件要简单得多。
每个 RPM 软件包是包含以下三个组成部分的特殊存档
-
软件包安装的文件。
-
与软件包(元数据)有关的信息:如name、version、release和arch;软件包的要和描述;是否要求安装其他软件包;授权许可信息;软件包更改日志;以及其他详细信息。
-
脚本:在安装、更新或删除此软件包时可能运行的脚本,或者在安装、更新或删除其他软件包时触发的脚本。
从存储库安装软件包时,只需要软件包的名称。如果存在多个版本,则会安装具有更高版本号的软件包。如果一个版本存在多个发行版,则会安装具有更高发行版号的软件包。
操作系统封装格式及使用工具
RPM命名
RPM命名
-
NAME是描述其内容的一个或多个词语(coreutils)。
-
VERSION 是原始软件的版本号(8.30)。
-
RELEASE 是基于该版本的软件包的发行版号,由软件打包商设置,后者不一定是原始软件开发商(4.el8)。
-
ARCH是编译的软件包运行的处理器架构。noarch表示此软件包的内容不限定架构(与表示 64位的x86_64和表示64位ARM的aarch64等等相反)。
从存储库安装软件包时,只需要软件包的名称。如果存在多个版本,则会安装具有更高版本号的软件包。如果一个版本存在多个发行版,则会安装具有更高发行版号的软件包。
管理RPM包
语法:
查询和验证软件包:
bash
rpm -qa ##查询所安装的所有rpm软件包
rpm -qf /etc/yum.repos.d/ ##查询/etc/yum.repos.d/属于哪个RPM包
rpm -q yum ##查询yum软件包是否安装
rpm -qi yum ##查询yum软件信息
rpm -ql yum ##查询yum软件包的文件列表
rpm -qc openssh-client ##列出该openssh-client软件所有的配置文件(找出在/etc下的文件)
rpm -qd openssh-client ##列出openssh-client软件所有的说明文件(找出与man相关的文件)
rpm -qlp wonderwidgets-1.0-4.x86_64.rpm ##查看wonderwidgets-1.0-4.x86_64.rpm安装包内所包含的目录、文件列表
安装、升级和删除软件包:
bash
rpm -ivh lrzsz-0.12.20-36.el7.x86_64.rpm ###安装新的lrzsz-0.12.20-36.el7.x86_64.rpm
rpm -Uvh lrzsz-0.12.20-36.el7.x86_64.rpm ##升级lrzsz-0.12.20-36.el7.x86_64.rpm,若未安装过,则进行安装
rpm -e lrzsz # 卸载lrzsz软件包
使用YUM
1.了解yum
Yum(Yellowdog Updater, Modified)旨在成为管理基于RPM的软件安装和更新的更好系统。yum命令允许安装,更新,删除和获取有关软件包及其依赖项的信息。
2.yum命令
bash
yum help
yum list 'http*' ##查询以http开头软件包列表
yum info httpd ##查询"httpd"软件包的描述信息
yum search 'web server' ##根据"web server"来查找相关的软件包
yum provides /var/www/html ##根据路径"/var/www/html"来查找相关的软件包
yum install httpd ##安装httpd软件包
yum install httpd --downloadonly --downloaddir=/root/rpms ##仅下载httpd包,不会安装它,并把它保存到/root/rpms目录下:
yum localinstall xxxxx.rpm ##使用本地安装包安装xxxxx软件
yum update httpd ##更新httpd软件包
yum remove httpd ##删除httpd软件包
3.yum仓库管理
yum命令操作的rpm存放在repository中。
配置文件位置:/etc/yum.conf和/etc/yum.repos.d/*.conf
bash
yum repolist
--all ##列出所有源,包括禁用的源
--enabled ##列出开启的源
--disabled ##列出关闭的源
yum clean all ##清除暂存中旧的rpm头文件和包文件
yum makecache ##重新生成缓存
4.实验:使用本地yum仓库
-
将CentOS光盘挂载到系统中
- 检查光盘是否被CentOS系统识别
- 将/dev/sr0挂载到/mnt下
- 进入/mnt下检查
-
备份原yum及新建yum
- 备份原yum
- 新建locak.repo文件并编辑内文件
```bash
locak.repo文件内容
[local] #仓库类别
name=local #仓库名称
baseurl=file:///mnt #指定URL 访问路径为光盘挂载目录
enabled=1 #开启此yum源,此为默认项,可省略
gpgcheck=1 #验证软件包的签名
gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-7
```
- 验证yum源
- 安装httpd软件