apt-get 和过时的软件包

apt-get 和过时的软件包

为什么 中的许多软件包apt-get都已过时?例如,我想将 Clojure 编程语言的最新实现安装到我的机器上。但是,运行命令时apt-cache search clojure我得到以下结果:

clojure - a Lisp dialect for the JVM
clojure-contrib - user contributed set of libraries for clojure
clojure1.2 - Lisp dialect for the JVM
clojure1.3 - Lisp dialect for the JVM
leiningen - simple build system for Clojure
libclojure-maven-plugin-java - Clojure plugin for Maven
libclucy-clojure - Clojure interface to the Lucene search engine
libjava-jdbc-clojure - Clojure interface to sql databases via jdbc
librobert-hooke-clojure - Function wrapper library for Clojure
libtools-logging-clojure - Logging macros for Clojure

所有 clojure 实现都是旧的(clojure版本 1.1)。Clojure 编程语言的最新版本是 1.5。

为什么软件包不是最新的?我需要重新配置我的 apt-get 程序吗?

答案1

在我看来,它apt-get与 Ubuntu 更新程序有着相同的理念,即不会进行任何非“长期支持”的操作系统升级(除非您进行不同的配置)。

我认为基本源仅针对“稳定”和“安全”的软件包。当程序由其提供商更新时,新版本不太可能很快出现在基本存储库中。我们在 LibreOffice 套件中遇到了这种情况:即使 4.0.3 已经发布,您仍会停留在版本 4.0.2.2 上(据我所知)。对于此示例,您需要添加 LibreOffice 存储库(ppa:libreoffice/libreoffice-4-0)才能获取最新的软件包。在其他一些情况下,例如php,软件包的名称在主要版本之间会发生变化(在某些发行版上php变为php5或)。php53

大多数应用程序都一样。获取提供商的 PPA,或者如果不可用,则下载源代码并编译它们,这很容易,因为您通常会INSTALL在源代码 tarball 中找到一个文件。

一些有用的命令:

sudo add-apt-repository [ppa] # Adds a PPA to apt sources.
sudo apt-get update # Reloads the packages list from the current apt sources.
sudo apt-get dist-upgrade # Proceeds to packages update.

对我来说,这个特性在概念上存在缺陷apt-get。我同意它为初学者提供了一些安全性(无需下载未经认证的“安全”应用程序),但对于开发人员或更高级的用户来说,它可能变得相当令人不安。

相关内容