Linux:安装及管理程序

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仓库

  1. 将CentOS光盘挂载到系统中

    • 检查光盘是否被CentOS系统识别
  • 将/dev/sr0挂载到/mnt下
  • 进入/mnt下检查
  1. 备份原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
 ```
  1. 验证yum源
  1. 安装httpd软件
相关推荐
AndyFrank3 分钟前
mac crontab 不能使用问题简记
linux·运维·macos
筱源源19 分钟前
Kafka-linux环境部署
linux·kafka
EricWang135831 分钟前
[OS] 项目三-2-proc.c: exit(int status)
服务器·c语言·前端
成都古河云1 小时前
智慧场馆:安全、节能与智能化管理的未来
大数据·运维·人工智能·安全·智慧城市
算法与编程之美1 小时前
文件的写入与读取
linux·运维·服务器
xianwu5431 小时前
反向代理模块
linux·开发语言·网络·git
Amelio_Ming1 小时前
Permissions 0755 for ‘/etc/ssh/ssh_host_rsa_key‘ are too open.问题解决
linux·运维·ssh
心灵彼岸-诗和远方1 小时前
Devops业务价值流:软件研发最佳实践
运维·产品经理·devops
JuiceFS2 小时前
好未来:多云环境下基于 JuiceFS 建设低运维模型仓库
运维·云原生
Ven%2 小时前
centos查看硬盘资源使用情况命令大全
linux·运维·centos