昨天我尝试下载一个名为 GNU Net 的程序,但是当我尝试 ./configure 时,我收到多个错误,表明缺少库。当我尝试下载丢失的软件包时,发生了同样的事情。每次我尝试下载丢失的软件包时,我都会不断地倒退一步,尝试下载丢失的软件包。这是一个官僚机构。最终,当我重新启动时,出现了问题,我不得不格式化我的计算机。我的问题是:如果软件管理器中没有列出软件,是否有更简单、更方便的方法在 Linux (Mint) 上下载软件?或者下载一些常用的库?
答案1
是的。首先,您需要的绝大多数程序都可以在存储库中找到。这意味着它们可以通过软件中心或通过apt-get install
命令安装。您想要安装的程序就是这种情况,该程序可以在软件中心找到,并且可以通过以下方式安装:
sudo apt-get install gnunet
如果您的软件中心中没有该软件,则说明您的软件源列表配置错误。最有可能的是,您已经禁用了 Mint 安装时应该存在的 Ubuntu 存储库。套餐gnunet
有没有在 Ubuntu 存储库中,因此您没有理由不能直接安装它。
对于那些不在存储库中的程序,在大多数情况下,您将能够找到它们的软件包,并且不需要从源代码安装。
最后,对于确实需要从源代码安装的少数情况,您可以通过运行以下命令来获取 Debian 派生发行版(例如 Linux Mint)上的大部分所需工具:
sudo apt-get install build-essential
但是,在许多情况下,当您选择从源安装时,您正在编译程序的较新版本,该程序可能依赖于比您已安装的库更新的版本。这可能会导致通常所说的“依赖地狱”这就是你在这里发生的事情。当您发现自己处于这种情况时,configure
您尝试安装的软件附带的脚本很可能会让您知道缺少什么。您应该看到类似的消息
Checking for foo: no foo found
foo
可以是任何东西。在大多数情况下,可以通过搜索foo
包及其关联包(无论发生什么情况都会.dev
附带的开发库)来解决此问题。foo
在这里,我使用libaa1
作为例子
$ apt-cache search libaa1
libaa1 - ASCII art library
libaa1-dbg - ASCII art library, debugging symbols
libaa1-dev - ASCII art library, development kit
要解决依赖性,您可以运行:
sudo apt-get install libaa1-dev
幸运的是,现在您几乎不需要从源代码进行编译,因此下次只需使用软件中心即可。
答案2
如果您想在命令行轻松搜索包,还可以安装 aptitude
sudo apt-get install aptitude
然后可以做
sudo aptitude search gnunet
如果您确实想从源代码构建,则需要安装开发人员工具,其中包括 gcc 编译器、make 和库。可能还有更多,具体取决于您要安装的依赖项。
sudo apt-get install build-essential