原作者 | Mike Hearn |
---|---|
開發者 | Jan Niklas Hasse |
当前版本 |
|
编程语言 | C、C++、Python |
操作系统 | Linux |
类型 | 軟體包管理系統 |
许可协议 | GNU較寬鬆公共許可證 |
网站 | autopackage.org (存檔) Autopackage在Google Code上的項目主頁 |
Autopackage是一個自由的軟體包管理系統,其目標為可以簡易的創造在所有的Linux發行版上安裝的軟體包,此專案由Mike Hearn於2002年時創立。
在2010年8月時,Autopackage宣佈與Listaller專案合併[2]。
aMSN和Inkscape等專案都有提供Autopackage類型的安裝檔,而Freshmeat.net也提供了一個地方讓提供內容的人放置Autopackage檔案的URL。但其提供的軟體包列表非常有限,而且裡面大多數程式的版本是過時的(舉例來說,Autopackage上的GIMP版本為2.2.6,但截至2013年8月,GIMP的最新版本為2.8.6)[3][4]。
Autopackage是用來安裝那些二進制,或是預編譯的非核心應用程式(如文書處理器、網頁瀏覽器、或是電腦遊戲),而不是核心函式庫或是如作業系統殼層等的核心應用程式。 Autopackage想要以類似Windows或MacOS的安裝程式的方式「改善」Linux在桌面平台的可用性[5]。
Autopackage不提供核心應用程式及函式庫的其中一個原因是,這可能會有相容性問題。即便用來提供非核心的函式庫也可能會有問題。一方面來說Autopackage提供了多數系統都可安裝的檔案,但另一方面來說,它也可能會與已安裝的軟體包有相依性的衝突。
Autopackage也可以作為與發行版原有的軟體包管理系統(例如RPM或是deb)互補的一個工具。不像這些格式,Autopackage檢查相依性的方法是,直接檢查對應的檔案是否存在,而不是從資料庫中查詢。這簡化了Autopackage的設計,因為其不需要跟蹤所有提供的軟體包[6]。
那些使用Autopackage的軟體包也必須重新定位,這表示每個軟體包必須被安裝到不同的目錄中。這可以讓Autopackage可以安裝軟體包在非root用戶的家目錄下。
Autopackage的軟體包使用了.package
副檔名。實際上是可執行的bash腳本,可以透過執行它們來安裝檔案。在Autopackage包裡的檔案並不易透過除了Autopackage以外的軟體進行解壓縮,因為其必須透過Autopackage解析以避免檔案放置錯誤或其他問題[7]。
Autopackage包的程式會被安裝在寫死的系統路徑,可能會導致與已有的軟體包衝突, 從而導致部份錯誤。這通常可以利用反安裝使用Autopackage安裝的舊版軟體解決。
Autopackage檔案也可以使用Listaller工具安裝或移除[8]。Listaller在其檔案格式中包含了Autopackage包,Listaller在處理Autopackage檔時就如同在處理其他的Listaller檔案格式 。
What's a desktop Linux platform? Why do we need one? Essentially, software is easy to install on Windows and MacOS [...] because by depending on "Windows 2000 or above" developers get a huge chunk of functionality guaranteed to be present, and it's guaranteed to be stable. In contrast, on Linux you cannot depend on anything apart from the kernel and glibc.
What is autopackage? For users: it makes software installation on Linux easier. If a project provides an autopackage, you know it can work on your distribution. You know it'll integrate nicely with your desktop and you know it'll be up to date, because it's provided by the software developers themselves. You don't have to choose which distro you run based on how many packages are available. For developers: it's software that lets you create binary packages for Linux that will install on any distribution, can automatically resolve dependencies and can be installed using multiple front ends, for instance from the command line or from a graphical interface. It lets you get your software to your users quicker, easier and more reliably. It immediately increases your user base by allowing people with no native package to run your software within seconds.