安装及管理文件

优点:

  • 契合系统兼容性强
  • 如果你可以看懂源代码,修改新增功能
  • 比较自由

缺点:

  • 如果编译出了问题,你看不懂源代码,无法解决
  • 安装过程复杂
  • 没有统一的管理人员

安装过程

程序包编译安装:

源代码–>预处理–>编译–>汇编–>链接–>执行

预处理:./configure 定义模块和路径 (–prefix=PATH 指定路径) //在文件夹内有configure

编译:make

写入硬盘:make install

用途:

将下载的软件包解压并释放源代码包到指定的目录。

操作:

  • 使用tar命令将软件包解压到指定目录,一般选择/usr/src/目录(也可自建目录)。
  • 解包后的源代码文件位置:/usr/src/软件名-版本号。

用途:

设置安装目录、安装模块等选项。

操作:

使用源码目录中的configure脚本,执行 “./configure –help” 可查看帮助。

配置选项:

–prefix=软件安装目录

示例:

[root@localhost ~]# cd /usr/src/httpd-2.4.25 //切换至源代码包释放目录
[root@localhost httpd-2.4.25]# ./configure –prefix=/usr/local/apache //运行configure脚本,检测安装环境,并指定安装目

用途:

  • 生成可执行的二进制文件。
  • 复制二进制的文件到系统,配置应用环境。

操作步骤:

  • 编译:执行make命令。
  • 安装:执行make install命令。

示例:

[root@localhost httpd-2.4.25]# make //编译
[root@localhost httpd-2.4.25]# make install //安装

mkdir /app //建立文件夹
cd /data
tar xf httpd-2.4.29.tar.bz2 //解压源码包
cd httpd-2.4.29/
yum install apr gcc pcre* -y //安装依赖环境需要的 工具包
./configure –prefix=/app //选择安装目录
make -j2 //编译 j2 代表使用2颗cpu编译
make install //写进硬盘
systemctl stop firewalld //关闭防火墙
setenforce 0
cd /app/
cd /app/bin
/app/bin/apachectl start //开启服务
ss -ntap |grep 80 //有就没问题
/app/bin/apachectl stop //停止服务

格式:

yum [option] [command] [package…]

常用命令:

  1. yum install

配置本地yum源

[root@localhost ~]mount /dev/sr0 /mnt/ //将光盘挂载到/mnt目录下

注意:mount命令是一次性挂载,退出当前终端或重启后就不存在了。永久挂载需要修改配置文件。

[root@localhost ~]# cd /etc/yum.repos.d/ //切换至/etc/yum.repos.d/
[root@localhost ~]# mkdir bak //创建一个名为bak的新目录
[root@localhost ~]# mv *.repo bak/ //将yum仓库中以.repo结尾的文件移动到bak中

[root@localhost yum.repos.d]# vim local.repo //新建yum仓库文件
[local]
name=local //设置名称
baseurl=file:///mnt //设置链接地址,file://是固定格式,挂载在/mnt
gpgcheck=0 //无需验证公钥
enabled=1 //开启此yum源

:wq //保存退出

[root@localhost yum.repos.d]# yum clean all //清除缓存
[root@localhost yum.repos.d]# yum makecache //重新建立元数据
[root@localhost yum.repos.d]# yum list //查看可安装的软件列表
[root@localhost yum.repos.d]# yum install httpd -y //安装httpd测试是否成功

优点:

  • 统一的安装包格式
  • 已经帮你编译完成
  • 使用简单

缺点:

  • 有依赖关系

查询已安装的 RPM 软件信息

rmp -q[子选项] [软件名]

选项 功能 -qa 显示当前系统中以 RPM 方式安装的所有软件列表 -q 查询指定软件是否已安装 -qi 查看指定软件包的名称、版本、许可协议、用途描述等详细信息 -ql 显示指定的软件包在当前系统中安装的所有目录、文件列表 -qc 列出已安装的指定软件的配置文件 -qd 列出已安装的指定软件的软件包文档所在位置 -qf 查看指定的文件或目录是由哪个软件包所安装的

查询未安装的RPM软件包文件信息

rmp -qp[子选项] RPM包文件

选项 功能效果 -qp 查询未安装的软件包 -qpd 查询未安装的指定软件包的文档位置 -qpi 查询未安装的指定软件包的完整名称等详细信息 -qpl 查询未安装的指定软件包的文件列表 -qpc 查询未安装的指定软件包的配置文件位置

安装、升级、卸载RPM软件包

rpm -ivh tree-1.6.0-10.el7.x86_64.rpm

rpm -U 软件名 (要升级包)

选项 说明 -h 在安装或升级软件包的过程中,以”#”号显示安装进度。 – -force 强制安装某个软件包,比如要安装版本更旧的软件包。 -v 显示软件安装过程中的详细信息 –nodeps 在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系,强制安装

rpm -e 软件名 (缩写)

以上三种都是可以安装软件包的,具体用哪一种看具体情况。 因为PRM安装软件包时有依赖关系,所以一般使用YUM安装和源码编译安装

Original: https://www.cnblogs.com/fengxia6/p/16728287.html
Author: 风夏呀
Title: 安装及管理文件

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/577770/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • shell operator EOF shell 操作符 << <<<

    总结: 这些被叫做shell操作符 shell operator 主要分为 control operators和redirection operators < Origina…

    Linux 2023年5月28日
    092
  • 使用URL快捷方式提高效率

    阅文时长 | 0.9分钟字数统计 | 1453.6字符主要内容 | 1、引言&背景 2、URL格式基本格式介绍 3、附录:Hotkey详细参数 4、拓展:收藏夹中的URL格…

    Linux 2023年6月14日
    092
  • Java并发-建立线程

    一、建立新的线程 方法介绍 1、java.lang.Thread 1.0 Thread(Runnable target) 构造一个新线程,用于调用给定目标的run()方法。 voi…

    Linux 2023年6月7日
    083
  • docker-compose安装,yml文件配置

    1、离线安装 https://github.com/docker/compose/releases 移动文件 mv docker-compose-linux-x86_64 /usr…

    Linux 2023年6月14日
    085
  • 搭建Redis三主三从集群

    Redis三主三从集群规划 10.0.128.19 使用端口 7000 700110.0.128.22 使用端口 7002 700310.0.128.23 使用端口 7004 70…

    Linux 2023年6月8日
    0105
  • 【小记】Ubuntu 工具链升级 gcc 流程

    我的是 Ubuntu Server 20.04 LTS,默认 gcc-9,工具链升级至 gcc-11,和 Ubuntu 22.04 LTS 保持一致。 如果本文发文时间比较旧,你所…

    Linux 2023年6月13日
    074
  • 画图3D Paint 3D工作区黑屏

    最近不知道画图3D抽什么风,黑屏了。 后来研究很久,发现这货竟然是用独立显卡,集显带不起来。 解决方案是在Nvidia控制面板给他分配独立显卡,不要使用集显,不要使用集显,不要使用…

    Linux 2023年6月13日
    0106
  • cron 表达式

    cron 表达式 1.简介:一个cron表达式最少有5个空格来分割时间元素,总共有7个元素,分别如下: ① 秒(0-59) ② 分钟(0-59) ③ 小时(0-23) ④ 天(月的…

    Linux 2023年6月7日
    068
  • Netty源码解读(一)-前置准备

    前置条件 源码版本netty4.1 了解Java NIO、Reactor模型和Netty的基本使用。 解释一下: Java NIO:了解BIO和NIO的区别以及Java NIO基础…

    Linux 2023年6月7日
    084
  • Postfix发送邮件时报错“libmysqlclient.so.18: cannot open shared object file: No such file or directory”

    在一台Linux服务器上使用postfix发送邮件时遇到上面错误: sendmail.postfix: error while loading shared libraries: …

    Linux 2023年5月27日
    085
  • Markdown基本使用

    元素 Markdown 语法 [标题(Heading)] [粗体(Bold)] [斜体(Italic)] [引用块(Blockquote)] [有序列表(Ordered List)…

    Linux 2023年6月13日
    086
  • 方法的深度理解

    权限修饰符 返回值类型 类名(行参列表 )throws 异常的类型{ //方法体 约定俗称:子类中叫重写的方法,父类中叫被重写的方法。 ①子类重写的方法名和行参列表和父类被重写的方…

    Linux 2023年6月14日
    095
  • linux命令之查找grep

    grep(全称:Global Regular Expression Print)是一种强大的文本搜索工具,它可以使用正则表达式搜索文本,并把匹配的行打印出来。它的使用权限是所有用户…

    Linux 2023年5月27日
    095
  • 五分钟通俗理解自动驾驶

    大家好,我是良许。 这几年,自动驾驶这个概念非常火热,无论是百度还是谷歌,都做出了还不错的原型机,但是你真的知道什么是自动驾驶吗? 本文就花 5 分钟左右的时间,向大家科普一下什么…

    Linux 2023年6月14日
    098
  • Linux vim退出命令

    :w – 保存文件,不退出 vim:w file -将修改另外保存到 file 中,不退出 vim:w! -强制保存,不退出 vim:wq -保存文件,退出 vim:w…

    Linux 2023年6月13日
    087
  • LAXCUS授权开源协议

    LAXCUS 授权许可证 第1版 本许可证仅针对LAXCUS分布式操作系统和衍生子版本,围绕LAXCUS分布式操作系统设计开发的硬件、硬件驱动程序、应用软件不受本许可证约束。 您对…

    Linux 2023年6月6日
    0114
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球