• linux使用源码安装软件


    在日常使用linux服务器的时候, 难免会遇到非root用户但需要安装软件的情况. 这时就需要我们使用源码安装了.

    这篇文章将大概流程介绍的挺好: https://blog.csdn.net/bobobe/article/details/109144385

    但细节部分仍可以进行补充.
    下面我将以源码安装unzip软件作为模板来介绍非root用户如何使用源码安装软件.

    1. 找到源码

    基本上所有的软件源码安装包都可以在清华镜像(https://mirrors.tuna.tsinghua.edu.cn/)中找到

    清华镜像中软件包的寻找方法:
    这次要找linux中Ubuntu系统的unzip软件

    • 我们在首页的镜像列表找即可(按字典序排序)找到了Ubuntu目录,鼠标放上面可以看到介绍(流行的软件安装包仓库),
    • 点进去看到一些目录(看目录名字应该能大致猜出意思), 因此去/pool目录下的/main目录中寻找即可.
    • 清华镜像为了方便我们查找, 特地按字典序建立了子目录, 非常方便, 我们要找unzip软件, 去/u目录下找即可.
    • /u目录下可以看到了很多的软件包了, 直接网页内搜索unzip(当然一个一个找也行)就能找到unzip软件包所在的目录(找不到的话就另行他法吧, 毕竟这里只是常见的软件包)
    • 进入unzip目录后, 就可以看到非常多的版本, 找源版本下载即可(看英文.orig的应该就是源版本了)

    下载的话, 直接windows下载然后发送到远程服务器, 或者通过wget filesrc命令直接在linux中下载也可以.

    2. 解压

    将下载下来的软件源码安装包解压出来即可
    通过tar -zxvf filename即可解压

    3. 找到并修改makefile文件

    要将默认的root安装目录修改为当前非root安装目录

    首先找到linux的makefile文件,

    • 打开解压后的文件, 如果能在第一层直接找到Makefile文件的话, 就不用再找了.
    • 如果第一层找不到的话, 找/unix目录下的Makefile文件(看这些目录名就明显猜到含义了,这里有macos, windows, linux各种操作系统的Makefile文件)
      /unix目录下的Makefile文件复制出来即可

    然后就是修改Makefile文件,

    • 通过'/'+'关键字'的方式可以在vim打开的文件中搜索关键字, 回车后通过N来遍历搜索结果
    • 如果对文件不了解的话, 几个常见的路径关键字PATH, DIR等可以都试试, 这里直接通过DIR就可以找到路径了
    • 可以看到, 里面的一些参数(下面的内容是节选自Makefile文件中的内容, 对prefix参数进行了修改)
    manext = 1
    prefix = /home/这里填非root用户的用户名/usr/local
    # prefix = /usr/local
    BINDIR = $(prefix)/bin#                 where to install executables
    MANDIR = $(prefix)/man/man$(manext)#    where to install man pages
    INSTALLEDBIN = $(BINDIR)/funzip$E $(BINDIR)/unzip$E $(BINDIR)/unzipsfx$E \
            $(BINDIR)/zipgrep$E $(BINDIR)/zipinfo$E
    INSTALLEDMAN = $(MANDIR)/funzip.$(manext) $(MANDIR)/unzip.$(manext) \
            $(MANDIR)/unzipsfx.$(manext) $(MANDIR)/zipgrep.$(manext) \
            $(MANDIR)/zipinfo.$(manext)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    其实还是比较清楚的, prefix参数就是软件要安装的目录了, 后面的是对bin, man等目录的定义, 所以我们只需要修改prefix参数的内容即可, 为了尽量保持和root用户的参数对齐, 我就在/usr/local前面添加了当前用户/home/当前用户的用户名, 这样, 该软件就会安装在当前目录下的~/usr/local目录下了.
    wq保存vim的修改即可.

    4. 使用Makefile安装软件

    修改完的Makefile可以让我们将软件安装在当前用户下的目录了, 执行make && make install即可进行安装.
    只要没报错就算安装成功.

    5. 添加环境变量, 激活配置文件

    这时候我们已经安装好软件了, 可以直接在安装目录中使用了(~/usr/local/bin), 但想要方便的使用还是需要将软件添加到环境变量中的(毕竟, 你也不想你每次用软件的时候都敲一大堆目录的事情被别人知道吧~~)

    打开~/.bashrc文件, 在下面追加export PATH="~/usr/local/bin:$PATH", 这里记得用双引号, 单引号无法引用PATH.
    wq保存后通过命令激活该配置文件即可source ~/.bashrc

    6. 验证软件是否安装成功

    在终端中输入unzip发现可以使用了, 软件安装成功

  • 相关阅读:
    时间复杂度与空间复杂度
    【MySQL】MySQL 慢SQL如何避险
    (附源码)springboot应用支撑平台和应用系统 毕业设计 984655
    期末复习【微机原理】
    ARM 详解
    react+antd封装表格组件2.0
    弘辽科技:拼多多商家如何自己提升销量?提升销量需要注意什么?
    作业fgets计算行数和大小
    技术总结: PPT绘图
    【Arduino+ESP32专题】案例:简单的实现NTC热敏电阻检测板卡温度
  • 原文地址:https://blog.csdn.net/qq_40482358/article/details/126106605