Listaller

Linux系統的跨散佈版軟體安裝工具

Listaller是一個自由的電腦軟體安裝系統(類似軟體包管理系統),目標是讓建立可在所有的Linux發行版上安裝的軟體包變得容易,它也提供了許多工具及API讓Linux上的軟體管理更加友善。

Listaller
Listaller-Logo
開發者Matthias Klumpp
目前版本0.5.8(2013年8月2日,​11年前​(2013-08-02
原始碼庫 編輯維基數據鏈結
程式語言Vala, C/C++
作業系統Linux
類型軟體包管理系統
許可協定GNU LGPL, GNU LGPL
網站listaller.tenstral.net

歷史

2007年12月由freedesktop.org的其中一個開發者,Matthias Klumpp,開始了這個專案,希望使用通用的使用者介面管理所有種類的Linux軟體(而不論其如何安裝)的實驗性專案。 因此,Listaller擁有可管理Autopackage,LOKI,Mojo頁面存檔備份,存於網際網路檔案館)以及原生發行版軟體包的後端。原始的專案提供了一個使用者介面以管理所有已安裝的軟體包。並使用它自己的抽象層與發行版原生的軟體包管理系統進行溝通,但之後被PackageKit取代[1]。 Listaller也提供了一個跨發行版的軟體安裝格式,以便建立的軟體包能在大多數的發行版上運行。Listaller的安裝程式部份也可以用來協助安裝Autopackage的軟體包。 最早期的版本是用Object Pascal寫成的。

雖然這個專案一開始是實驗性的,但很快就變成Autopackage及Mojo的競爭對手。 到2011為止,Listaller仍未有穩定的釋出版。而因為AppStream基本上已經完成了Listaller原先大多數的目標,所以作者決定把Listaller變成一個單純的軟體安裝程式而不是完整的軟體管理器,並且加入AppStream專案。 因為Pascal並不被認為是一個理想的可與其他專岸合作的語言,而該專案又已經花了許多時間在Pascal與其他第三方函式庫的綁定,所以Listaller便以Vala重寫,並且目標變為與AppStream及PackageKit進行無縫整合。也因此把通用軟體管理器的部份移除,而該專案現在的目標是創造一個跨發行版的二進制Linux檔案格式。

目的

Listaller是用來安裝那些二進制,或是預編譯的非核心應用程式(如文書處理器網頁瀏覽器、或是電腦遊戲),而不是核心函式庫或是如作業系統殼層等的核心應用程式。Listaller因為一些安全問題而不提供安裝系統函式庫。 Listaller使用自己的軟體包格式,稱為IPK軟體包(為Installation package的縮寫),是以LZMA方式壓縮的Tar檔。

IPK軟體包只包含了小型的組態檔案來修改安裝過程 。並且不提供安裝指令碼。所有的安裝過程都由Listaller內部預置的例行程式控制,但必要時也可以由第三方程式來修改安裝過程。

Listaller的重要性在於它可以跟桌面環境、已存在的軟體管理工具以及發行版整合。因此,它預設提供了幾個整合的組件,可以使用任何支援PackageKitAppStream的第三方軟體管理利用Listaller安裝的軟體。

所有已安裝的第三方工具預設會在沙盒裡運行[2]

那些使用Listaller的軟體包也必須重新定位,這表示每個軟體包必須被安裝到不同的目錄中。這可以讓Listaller可以安裝軟體包在非root使用者的家目錄下,雖然這個模式很容易啟用,但並不鼓勵使用這種方式安裝。Listaller開發工具提供了檔案以及必須的工具給應用程式開發者,讓他們可以將軟體重新定位。

Listaller和Autopackage的關係

2010年8月時兩個專案宣佈將會合併[3]。合併後,Autopackage放棄了自己的二進制軟體包格式以及所有安裝Autopackage包的使用者介面。 Autopackage所開發的工具,像是BinReloc(用來重新定位應用程式)或是APBuild,現在都以Listaller專案的一部份進行開發。 Autopackage決定要併入Listaller的原因是,兩個專案都極度缺乏開發者,所以他們決定合併。

整合

KDEApper的形式對Listaller提供支援,雖然開發者需要在編譯時對其進行調整。而GNOME則是將其作為GNOME-PackageKit套裝的一部份進行開發。 理論上,任何可以運行PackageKit(版本號須大於0.8.6)的發行版都應該要對Listaller提供支援。 Ubuntu宣佈他們將不會使用Listaller作為Ubuntu Phone上的第三方軟體安裝工具,而會開發一個Ubuntu特有的解決方案[4]

參見

註釋

外部連結