linux-安装及管理程序 rpm源安装

Posted 可乐卷儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux-安装及管理程序 rpm源安装相关的知识,希望对你有一定的参考价值。

一、Linux系统的应用程序和系统命令的关系

在这里插入图片描述
点醒应用程序的目录结构:

  • /usr/bin:普通执行程序文件
  • /usr/sbin:服务器执行程序文件和管理程序文件
  • /etc:应用程序配置文件
  • /var/log:日志文件
  • /usr/share/doc:应用程序参考文档文件
  • /usr/local/share/man:应用程序手册页文件

二、常见软件包封装类型

在这里插入图片描述
下面我们来详细介绍RPM源、Yum源以及源代码三种安装方式

三、RPM软件包管理工具

1、概念

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

2、格式

  • 软件素材参考:http://www.rpm.org
  • bash-4.1.2-15.el6_4.x86_64.rpm
    • 软件名称:bash
    • 版本号:4.1.2
    • 发布次数:15
    • Redhat的版本:el6(RHEL 6 的缩写)
    • 硬件平台:x86_64
    • 扩展名:rpm

3、软件包下载推荐网址

软件包:https://pkgs.org/
下载liunx软件包的网站:https://www.rpmfind.net/
  • uname -m:硬件平台
  • uname -a:用于显示系统信息
    ``
    本章均以安装Apache的httpd包安装为例

四、RPM源安装

1、有网络时安装

  • 进入opt目录下
  • 格式:wget URL网址
    在这里插入图片描述

2、无网络安装

2.1、第一步:挂载

  • 即先分区,分区就要先挂载 mount,在文件系统/dev/sr0中挂载到/mnt;
mount  /dev/sr0  /mnt:挂载到 /mnt

在这里插入图片描述

  • 取消挂载:umount /dev/sr0 /mnt
  • ls /mnt/Packages | grep httpd:查询是否有安装包httpd
/var/lib/rpm: rpm的本地数据库的目录

2.2、第二步:进入Packages目录下

rpm -ivh [软件包名]  // 软件包名格式:.rpm
  • -i:安装软件
  • -v:显示详情
  • -h:友好显示
ls /mnt/Packages | grep httpd:查询是否有安装包httpd

2.3、第三步:安装发现有依赖关系

在这里插入图片描述
安装时发现有依赖关系,安装失败,
先查找httpd-tools,发现是有的,先进行安装依赖包

rpm -vih httpd-tools-2.4.6-88.el7.centos.x86_64.rpm

在这里插入图片描述
那就需要安装需要创建 /etc/mime.types
在这里插入图片描述
可以上网搜索一下 /etc/mime.types是什么情况
在这里插入图片描述
先查询一下系统有没有mailacp,有的话就再安装一下mailacp

grep mailcap
rpm -ivh mailcap-2.1.41-2.e17.noarch,rpm

在这里插入图片描述

2.4、第四步:安装完成

rpm -vih httpd-tools-2.4.6-88.el7.centos.x86_64.rpm

在这里插入图片描述

2.5、第五步:验证是否安装完成

rpm -q httpd

在这里插入图片描述

  • 针对已安装软件查询:
 -a [软件名]:查询所有包
-qa | grep [软件名]:查询所有安装的软件包/软件包是否安装
-qi [软件名]:查看软件详情/属性// rpm -qa | grep openssh:查询openssh所有的包
-ql :查询所有安装完成的软件//rpm -qa | grep openssh:查询openssh所有的包
-qc [软件名] :查询软件的主配置文件//rpm -qc httpd:查询软件的配置文件,扩展名.conf
-qb [软件名]:查看软件安装显示帮助文档在哪//rpm -qf /usr/share/man/man8/apachectl.8.gz
-qf [目录的路径]:目录由何种安装包安装的
-qR httpd:查看现在已安装软件的依赖关系
  • 针对未安装软件查询:
-qpi [软件包]:查看未安装的软件程序详情
-qpl [软件包]:查询未安装包安装时会安装在哪里

2.6、软件卸载

  • 正常卸载,需要一并卸载依赖包
rpm -e [软件包名]:需要卸载软件包时不能直接卸载,需要先卸载依赖关系的内容
rpm -e httpd-tools
需要先卸载 rpm -e httpd
再卸载 rpm -e httpd-tools(依赖包需要一并卸载)

在这里插入图片描述

  • 强制卸载,无须卸载软件包
rpm -e [软件包名] --nodeps:一般不推荐使用

2.7、启动软件

systemctl start [软件名] //systemctl start httpd:启动软件httpd
systemctl enable httpd:设置开机自启
systemctl disenable httpd:设置关闭开机自启
systemctl is-enable httpd:查看是否开机自启
netstat -antp | grep [应用程序端口号]:查看服务的状态和服务端口,查看是否启动
a:代表all,所有状态
n:显示数字
t:tcp协议
p:显示进程号

实例
问:查询httpd服务器已经启用了,如何查看服务器是否启用成功?
答:传输层产生进程的端口,端口唯一标识一个应用程序,httpd外部服务端口是80端口,所以查看80端口是否在监听即可

netstat -antp | grep 80

在这里插入图片描述

2.8、编辑网站内容

  • 进入虚拟机,使用火狐浏览器,网址:127.0.0.1(本地地址)
  • 创建网络:目录:cd /var/www/html–写一个主页:vim.index.html(index:首页)
    在这里插入图片描述
  • 编辑网站内容,比如:hello world
    在这里插入图片描述
  • 编辑域名
    • 进入了主配置文件,主配置文件查询rpm -qc httpd;vim /etc/httpd/conf/httpd.conf
    • 一般在95左右的时候有域名
      #ServerName www.example.com:80 // #代表注释
      #去掉,更改为ServerName www.lf.com:80
    • systemctl restart httpd:更改配置文件需要重启,配置更改没有问题就不会报错
    • 修改映射关系:vim /etc/hosts–网页即可访问网址

3、RPM更新命令

-U:更新升级软件包;软件包未安装时,直接安装,若已安装执行升级操作
-F:更新升级软件包;软件包未安装时,直接放弃升级操作

五、RPM报错处理

rpm无法正常运行时,报错rpm时效,使用下面重建rpm数据库中的两条命令修复操作:

  • 重建RPM数据库
rpm --rebuilddb 
rpm --initdb
  • rpm安装软件时不能对数字签名进行认证时的报错,导入公钥
rpm --inport/media/cdrom/RPM-GPG-KEY-Centos-7

-公钥的目录: cd /mnt
在这里插入图片描述

以上是关于linux-安装及管理程序 rpm源安装的主要内容,如果未能解决你的问题,请参考以下文章

linux安装及管理程序

Linux安装及管理程序精讲

Linux程序包管理之yum源安装

RPM包管理工具的常规命令及网站发布

linux安装及管理程序

Linux基础知识------安装及管理程序