今天再为各位提供一个利用apt-get从联网Ubuntu系统下载包及其依赖包并转移、本地安装于离线Ubuntu系统的方法。
作为示例的gcc/build-essential是许多Linux软件安装、编译都需要的依赖包,由于此gcc及build-essential等属于较底层支持,故大部分Linux发行版均已安装以上包,而联网Linux系统仅需简单语句就可以安装,故在此着重介绍离线Ubuntu系统的安装方法。
“GCC(GNU Compiler Collection)是一套编译器系统,支持多种编程语言,如C、C++、Fortran等。它是Linux系统上编译和构建软件的关键工具,能够将源代码编译成可执行文件。”
“Build-essential是一个在Debian和Ubuntu系统上提供的元包,包含了一些基本的编译工具和库,包括GCC、G++、make以及其他必需的开发工具。安装build-essential包,可以确保系统具备构建和编译软件所需的所有基本工具和依赖项,使得开发者能够轻松地进行软件开发和编译工作。”
由于build-essential包含gcc、make等必要开发工具,故在此直接安装build-essential。
对于联网Ubuntu系统:
sudo apt-get install build-essential
如果遇到依赖关系问题,可以利用以下语句解决:
sudo apt-get install -f
对于未联网Ubuntu系统,核心思路是在另一台联网的相同Ubuntu系统上下载build-essential的各种依赖包,再由离线系统安装:
在联网Ubuntu系统中下载:
# 安装“apt-rdepends”工具
sudo apt-get install apt-rdepends
# 下载build-essential的依赖包
apt-rdepends build-essential | grep "^\w" > build-essential-deps.txt
# 建立并进入安装包的缓存目录
mkdir build-essential-deps
cd build-essential-deps
# 下载所有依赖包
for pkg in $(cat ../build-essential-deps.txt); do apt-get download $pkg; done
将文件夹中全部文件(.deb)移动至未联网的Ubuntu Server中:
“/path/to/your/pkg”
cd /path/to/your/pkg
# 安装以下全部软件包
sudo dpkg -i *.deb
验证安装:
gcc --version
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
make --version
GNU Make 4.2.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
安装完成!
WeChat public account:长安不老李