IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux深入探索06-软件管理与安装(源码安装) -> 正文阅读

[系统运维]Linux深入探索06-软件管理与安装(源码安装)

一、简介

在Linux平台下,软件包的类型可以划分为两类:源码包、二进制包。
源码包:即程序软件的源代码(一般也叫Tarball,即将软件的源码以tar打包后再压缩的资源包)。
二进制包:如 Red Hat发行版的.rpm包,Debian发行版的.deb包。

我将会分三章节来讲解linux中软件的安装与管理,分别是:

  • 源码安装(源码包)
  • RPM与YUM(rpm包:如CentOS系统)
  • dpkg与apt-*(deb包:如Unbuntu系统)

如果你明确自己要用的是哪种安装方式,那你也可以只看相关的那一章节就行。

这一章将要介绍的是Linux平台下的源码安装,关于二进制包的安装可以查看我接下来的两篇文章:
Linux深入探索07-软件管理与安装(RPM与YUM)
Linux深入探索08-软件管理与安装(dpkg与apt-*)

二、源码安装

源码包的安装主要分为三个步骤,如图:

1、最简单的例子

为了能够更好的理解源码包的安装过程,这里举一个最简单的例子来加以说明。

1)获取源代码文件
这里使用C语言来编写一个最简单的程序,输出“Hello World!”,
首先,使用命令vim hello.c创建一个C源文件,内容如下:

#include <stdio.h>

int main(void){
    printf("Hello World!\n");
}

2)编译
编译的命令为gcc hello.c
执行了上面的命令后则可以发现当前目录下多了一个a.out,该文件即为编译后生成的二进制文件。

3)测试结果
运行命令./a.out,则可以得到如下结果。

举上面这个例子只是为了能够更加好的理解软件在Linux中安装的原理,在实际中可以说是不会有这么简单的一个程序来让你安装的。一般情况,一个软件是由一系列的程序文件来组成,所以现实中的源码包安装方法并没有像上面那个例子那么简单,那下面就来介绍一般情况下的源码包安装方法。

2、源码包安装详解

现实中,使用一个源码包来安装程序时,基本步骤如:

在上图第二步中的--prefix后面接的路径表示这个软件将要安装到哪个目录去,如果没有指定--prefix=/path这个参数,通常默认为/usr/local。本人推荐安装位置为 /usr/local/XXXXXX为自己的实际目录,这样会方便以后的管理。

源码包安装方式的man文件默认保存在/usr/local/man/usr/local/share/man中,如果你的安装路径自定义为如/usr/local/XXX,则man文件则一般是在/usr/local/XXX/share/man中。此时如果你想要通过man来查看你所安装软件的man手册,则需要自行修改man的路径配置文件(可能是man.config或者manpath.config)。需要在相应位置添加如下一行:

MANPATH    /usr/local/XXX/share/man

3、卸载

通过源码包安装的软件,当你想要卸载的时候,只需要把整个安装路径删除掉就行了,100%卸载,不会像windows那样经常会残留那多注册表之类的垃圾。

根据你的安装时候选择的安装路径,源码包的卸载又分为两种情况:
1)如果你安装时候指定的路径为: --prefix=/usr/local/XXX,那么卸载的时候只需要把XXX这个文件夹删除即可,因为该软件安装的所有文件都是放置在XXX这个文件夹。
2)但如果你进行源码包安装的时候没有指定位置(默认值一般为/usr/local/),或指定的位置为–prefix=/usr/local,则这时候你安装软件生成的文件将分别存储在/usr/local/里面的bin、lib或ect等目录中,这时候卸载起来就相对麻烦一点了。

4、源码包安装与二进制包的区别

  • 源码包的优点:
    ① 开源,如果有能力可以修改源代码
    ② 可以自由选择所需的功能
    ③ 软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高
    ④ 卸载方便
  • 源码包的缺点:
    ① 安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误等
    ② 编译过程时间较长,安装比二进制安装时间长
    ③ 因为是编译安装,安装过程中一旦报错新手不好解决
  • 二进制包的优点:
    ① 包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载
    ② 安装速度比源码快得多
  • 二进制包的缺点:
    ① 经过编译,不可以再看到源码
    ② 功能选择不如源码包灵活
    ③ 依赖性

参考

书籍:
《鸟哥的Linux私房菜——基础学习篇》鸟哥
《The Linux Command Line》William E. Shotts, Jr.

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-01-17 11:52:14  更:2022-01-17 11:54:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 8:27:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码