安装及管理程序

应用程序与系统命令的关系

角色系统命令应用程序
文件位置一般在/bin和/sbin目录中,或成为Shell内部指令通常在/usr/bin和/usr/sbin目录中
主要用途完成对系统的基本管理工作,例如IP配置工具完成相对独立的其他辅助任务,例如网页浏览器
适用环境一般只在字符操作界面中运行根据实际需要,有些程序可在图形界面中运行
运行格式一般包括命令字,命令选项和命令参数通常没有固走的执行格式

典型应用程序的目录结构

安装完一个程序后,生成的文件都有哪些类别

文件类型保存目录
普通执行程序文件/usr/bin
服务器执行程序文件和管理程序文件/usr/sbin
应用程序配置文件/etc
日志文件/var/log
var: variable - 可变的
应用程序参考文档文件/usr/share/doc
应用程序手册页文件/usr/share/man

常见的软件包封装类型

文件类型

保存目录
RPM软件包扩展名为 “.rpm" (redhat package manager)
DEB软件包扩展名为 “.deb" (Debian)
源代码软件包

一般为 “ tar.gz”, “.tar.bz2” 等格式的压缩包,包含程序的原始代码

安装流程:解压、部署开发环境、配置、编译、安装

色免安装的软件包软件包的扩展名不一,以TarBall格式的居多,在压缩包内提供已编译好的执行程序文件,解开压缩包后的文件即可直接使用

绿挂载

  • 虚拟机设置界面连接ISO映像文件
  • mount/ dev/cdrom 要挂载的目录 (/dev/cdrom 是设备文件)
  • 挂载完成,cd到要挂载的目录查看映射文件
路径说明
/etc/fstab用于走义文件系统的挂载点、挂载选项以及其他与挂载相关的参数。

自定义系统挂载点

在最后一行加入 /dev/cdrom /media/cdrom iso9660 defaults 0 0

  1. /dev/cdrom
    a. CD/DVD 驱动器的设备文件路径
  2. /media/cdrom
    a. 希望挂载到的目录路径
  3. iso9660
    a. 文件系统类型,用于存储数据光盘
  4. defaults
    a. 挂载选项,表示使用默认的挂载选项
  5. 第一个0
    a. dump 备份选项,表示不需要进行dump 备份
  6. 第二个0
    a. fsck 检查顺序,在系统启动时 fsck 工具也不会检查这个文件系统

RPM包管理工具

  • Red-Hat Package Manager

    • 由Red Hat公司提出,被众多Linux发行版所采用
    • 建立统一的数据库文件
    • 详细记录软件包安装、卸载等变化信息
    • 自动分析软件包依赖关系
  • RPM软件包

    • 软件素材参考 : http:/www.rpm.org

一般命名格式 : bash-4.1.2-15.e16 4.x86 64.rpm -- 名称-版本-发行编号,系统版本,硬件架构

rpm软件包相关命令

查询、安装和卸载rpm软件包命令

命令

说明
rpm --import RPM-GPG-KEY-CentOS-7

导入校验密钥文件(GPG公钥文件)
告诉系统”我只信任来自这个公钥签名的软件包”

该文件用于对软件包进行校验判断软件包是否经过篡改,利用SHA算法针对每一个软件包进行校验

GPG (GNU Privacy Guard)是一种基于公钥加密和数字签名的工具,它使用RSA、EIGamal等公钥密码算法,以及SHA-1、SHA-256等哈希算法。在RPM软件包管理中,GPG公钥用于验证RPM软件包是否被正确地签名和未被篡改。

rpm -ivh 软件包名

-i :  instal

-v :  verbose-详细信息
-h :  进度条
安装指走软件包

rpm -ivh 软件包全名 --nodeps忽略依赖关系安装软件包
rpm -e 已安装的软件包名卸载指定软件包
rpm -F 软件包全名-F:freshen
只更新已安装的软件包
rpm -U 软件包全名-U : upgrade
更新指定软件包,如果软件包未安装,则直接安装
rpm --rebuilddb重新构建RPM数据库,确保其中的信息是最新的和准确的。这个命令会扫描 /ar/lib/rpm 目录下的所有 RPM 软件包,并重新生成数据库文件。
rpm --initdb (Initialize :  初始化)初始化 RPM 数据库,这个命令会创建一个空的RPM数据库,并准备好接受新的 RPM 软件包信息。

针对已安装软件包的命令

命令说明
rpm -9单独查询某个软件包安装了没有
rpm -ga

-q :  查询:query

-a :  all

当前系统里已经安装rpm软件包的个数

rpm -qi已安装的软件包名

i :  information -信息

查询已经安装的软件包的相关信息

对于已经安装的软件包,可以以只输入软件包名进行查询

比如 rpm -gi zziplib

rpm -ql已安装的软件包名

-l: list

显示该软件包在安装过程中 所涉及到的文件放置的位置

rpm -qf 要查找的文件的绝对路径

-f: file

查找 指走绝对路径的文件是由哪个软件包所生成的

针对未安装软件包的命令

命令说明
rpm -qpi 未安装的软件包全名
 
查询 未安装软件包的相关信息
 
rpm -qpl 未安装的软件包全名

查询 指走未安装的软件包

安装后涉及文件的放置位置

yum
 

yum: Yellow dog Updater, Modified

是一个基于RPM包的软件包管理器

  1. # 单独安装语法
  2. yum -y install 软件名
  3. # 解决安装软件包的依赖链
  4. # 安装开头为gcc的软件包的所有相关依赖软件包
  5. yum y install gcc*

自定义yum仓库配置文件

  1. #自定义 /etc/yum.repos.d/目录下的  .repo 仓库配置文件
  2. [repository id] # 仓库标识
  3. name=Repository Name  #  仓库名称
  4. baseurl=file:/ / /media/cdrom / # 指定仓库的基础URL,这里使用本地光驱目录,也可以替换为其他URL,如HTTP、HTTPS或FTP服务器的地址。
  5. enabled=1  #  启用此仓库,默认为1启用,0禁用
  6. gpgcheck=0  #  不进行GPG校验,默认值为1  (进行校验)  ,设置为0以禁用
  7. #  gPgkey :  指定用于验证仓库签名的 GPG 公钥的 URL。

注意


  • 当你修改 .rep0 仓库配置文件后,yum不会自动重新加载配置。如果你想要立即生效你的更改
  • 可以运行 yum clean all和 yum makecache 命令来清除YUM的缓存并重新生成它。这样,YUM就会读取你新添加的仓库配置
命令说明
yum clean all清理yum缓存
yum makecache生成或更新 yum 缓存
yum repolist显示当前能获取到的软件包的数量
路径说明
/etc/yum.repos.d/存放yum仓库配置文件的目录

安装源代码软件包步骤

示例安装nginx

  1. 导入源代码软件包 nginx.tar.gz 并用 tar zxvfnginx.tar.gz 命令释放(解压)该软件包
  2. 在安装源代码软件包前 需要先部署该软件包相同的开发环境用  /configure 命令 来校验当前系统状态是否缺失了安装所依赖的软件包

举例: ./configure. error. the HTTP rewrite module requires the PCRE librany. 根据第一行内容就可以看出 提示缺少PCRE库,
使用 yum -yinstall pcre-devel命令安装pcre库的开发软件包

  1. 当使用./confiqure 命令,不提示缺少依赖,并显示 Confquration summary后,说明所有依赖已经满足要求
  2. 使用 make命令,编译源代码

  3. 再使用 make install 命令,安装软件包

为什么安装pcre库时需要加上-devel而不是像安装vim编辑器时只用输入vim?

首先要知道,在Linux中,软件包通常被划分为基础软件包和开发软件包。

  • 基础软件包

也称为运行时库 或 二进制包
这些文件是软件运行时所需要的。一旦软件包被安装,用户通常可以直接使用它而无需进一步编译。

  • 二进制文件
    • 配置文件
    • 必要的执行脚本
    • 运行时资源(如图标、翻译文件等)
    • 许可证和版权信息
  • 开发软件包

也称为开发库 或 头文件包
这些文件主要用于软件开发和编译。当你从源代码编译一个软件时,编译器需要头文件来了解如何调用库中的函数,并且可能需要静态库来静态链接你的软件。

  • 头文件 ( h.文件 ) 
    • 静态库文件 ( .a文件 )
    • 开发文档 ( 如man页面、HTML文档等 )
    • 开发工具 ( 如用于构建软件的脚本或Makefile )
    • 示例代码

  • vim通常就被视为一个基础软件包
  • PCRE(Perl Compatible Regular Expressions)是一个用C语言编写的正则表达式函数库,包含基础软件包和开发软件包。
    • 如果你只是想运行一个使用PCRE库的软件,你只需要安装 pcre。但是,如果你从源代码编译一个软件,并且这个软件依赖于PCRE库,那么你需要同时安装 pcre 和 pcre-devel。
    • 而我们安装的是源代码软件包,需要部署相同的开发环境并且编译,所以要安装PCRE库的开发软件包。而PCRE的开发软件包就是pcre-devel。

总结一下

为什么安装pcre库时需要加上-devel而不是像安装vim编辑器时只用输入vim?
因为安装的是源代码软件包,就需要部署编译代码一致的开发环境,而PCRE库的开发软件包名就是pcre-devel

自定义.configure命令解析

  1. #  ./configure是一个脚本,它在编译软件之前检查你的系统环境,确保所有必需的库和工具都已安装,并设置构建参数

  2. #  --prefix=/usr/local/nginx 参数指定了nginx的安装位置

  3. #  --user=nginx和--group=nginx 参数指定了运行nginx进程的用户和组

  4. #  使用如下命令来配置nginx安装的位置和指定运行的用户

  5. ./configure  --prefix=/usr/local/nginx  --user=nginx  --group=nginx

安装后的操作

  1. cp /usr/local/nginx/sbin/nginx /usr/local/sbin/  #  复制nginx服务器的二进制程序到系统的环境变量中
  2. nginx  -t  #  测试nginx是否正常安装
  3. systemctl stop firewalld   #  关闭防火墙
  4. http://系统的IP地址 #用浏览器访问nginx欢迎页面测试nginx服务是否正常启动
  5. #如果没有正常启动
  6. sudo systemctl start nginx #以超级用户的权限,使用systemd工具来启动Nginx服务
  7. ps  -  ef  |  grep nginx  #  检查  Nginx  进程是否正在运行

为什么要复制nginx服务器的二进制程序?

/usr/local/sbin/ 和 /usr/sbin/ 这两个目录通常已经包含在系统的 PATH 环境变量中。

这意味着,在终端中输入 nginx 命令时,系统会在这些目录(以及其他包含在 PATH 中的目录)中査找名为 nginx 的可执行文件。

通过将 Nainx 的二进制文件放在这些目录中,可以更方便地启动、停止和重新加载 Nainx 服务,而无需指定完整的路径


卸载nginx

1.  停止 Nginx 服务
    a.systemctl stop nginX
2.  删除 Nginx 配置文件
    a. mm -rf /etc/nginx/
3.  删除 Nginx 可执行文件和文件夹 

    a.找到 Nginx 的安装位置并删除它,通常是在/usr/local/nginx、/usr/sbin/nginx或安装时指定的位置

4.  删除 Nginx 用户和组
    a.userdel -rnginx

  • 22
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值