linux如何直接下载预编译的package而不是安装(无root权限)

Abstract

本文总结了如何下载各种linux发行版上的包管理器打包好的二进制软件并使用的方法。

1. Introduction

linux安装软件一般要么是用apt,要么是yum等,但是这些包管理器都需要root权限,在没有root权限时,我们可以用conda安装部分软件,但是有的软件conda也没有。

此时,我们可以

  1. 从源代码编译
  2. 想办法找到别人编译好的package

对于从源代码编译,本文不做过多讨论,仅讨论如何获得已经编译好的二进制包。

2. Preliminary

如果一个软件可以通过apt或者yum安装,那么一定是有二进制包的,就保存在对应的包管理器网站上。

3. Method

打开这个网站,在右上角有个搜索框,输入你需要的软件名字,搜索即可。

出现搜索结果后,请选择你需要的系统和CPU指令集,下载package。这个package在ubuntu上是deb格式,在centos上是rpm格式,其他发行版各有异同,不作过多介绍。

下载好你需要的包,然后想办法解压即可。

4. Experiments

比如说,我要在centos 7上使用axel,搜索到的结果网址是:https://rhel.pkgs.org/7/epel-x86_64/axel-2.4-9.el7.x86_64.rpm.html

往下拉,找到下载地址:https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/a/axel-2.4-9.el7.x86_64.rpm

下载后解压出来,解压命令是[1]

mkdir axel-2.4-9.el7.x86_64
bsdtar -xf axel-2.4-9.el7.x86_64.rpm -C axel-2.4-9.el7.x86_64

然后你就可以看到axel-2.4-9.el7.x86_64文件夹内出现了etcusr目录,从中找到我们需要的二进制文件:axel-2.4-9.el7.x86_64/usr/bin/axel,使用即可。

5. Limitations

本文仅讨论了centos如何解压rpm包,没有讨论ubuntu系统。

References


  1. https://chatgpt.com ↩︎

posted @ 2024-05-20 17:01  王冰冰  阅读(38)  评论(2编辑  收藏  举报