AppStream 標準化 Linux 應用軟體安裝
建立日期 2011-02-10 08:00 最近更新在 2011-02-21 23:39
作者是 謝良奇/編譯
作為持續將 Linux 推向主流的嘗試之一,Linux 上的軟體安裝近年來越來越簡便,易於使用的 Ubuntu 的 Application Center 就是一個例子。然而,不同的散佈套件在軟體安裝上各自仰賴自己的前後端軟體,仍然是一大問題。日前所有主要 Linux 散佈套件的成員展開若干討論,針對此問題提出了已經付諸實作的一套解決方案。
AppStream 專案是 Linux 圈子裡最近的大新聞之一,其目的是透過建構跨越所有 Linux 散佈套件的標準化應用軟體安裝程式,解決套件管理的問題。日前,來自 RedHat、Fedora、Debian、Ubuntu、openSUSE、Mandriva、Mageia 的開發者,齊聚在位於 Nürnberg 的 SUSE 辦公室,討論如何實作可視為應用軟體商店 (Application Store) 的通用應用軟體安裝程式。
AppStream 的主要賣點是,不論用戶使用的是何種散佈套件,都可以在 Linux 系統上管理所安裝的軟體,過程中無須考慮使用的是何種套件管理系統,以及他們已經安裝了哪些不同版本的程式庫。
身為 KDE 貢獻者與 openDesktop.org 維護者的 Frank Karlitschek 表示,Linux 圈子裡越來越多人了解到,為了吸引一般用戶與第三方開發者到 Linux 平台,一套好的應用軟體安裝程式是不可或缺的。目前的套件管理程式對於終端用戶而言太過複雜,一般用戶不會在意軟體相依性、程式庫和其他內部細節。使用者在意的是畫面截圖、說明文字、評比、標籤、評論、來自朋友的推薦,以及其他現今套件管理軟體未提供的功能。
事實上,關於通行於所有散佈套件的套件格式並非首見。多年來被提出討論的想法中,最知名的要算是 Ryan C. Gordon 的 FatELF 檔案。不過獲得的回應從支持、懷疑到反對都有。Ryan 的想法是將所需的核心模組、相依軟體、程式庫、軟體檔案,全都包含在一個大型的軟體套件檔案中。
儘管採取完全不同的機制,AppStream 基本上可說是上述概念的重新復出。AppStream 建構於 Bretzn 專案所引入的觀念上。Bretzn 專案會在開發者送出程式碼之後為不同的架構與散佈套件打包軟體套件,之後發佈套件並送出釋出公告。
AppStream 團隊認為 Ubuntu Software Center 是不錯的使用者介面,並計畫將其移植到 PackageKit。他們計畫使用 Xapian 伺服器為使用者提供搜尋功能,並運用 Open Collaboration Services 來允許用戶發表評比和評論。AppStream 使用者介面將是 PackageKit 的前端,用來指示散佈套件上的套件管理系統進行所需應用軟體的安裝。
FatELF 和 AppStream 主要的差異在於 FatELF 包含了通用套件所需的所有檔案,而 AppStream 僅僅彙編了通用安裝程式所需的元數據 (metadata)。正如 Frank 所指出,此一想法是基於現有套件管理機制上,為搜尋和安裝應用軟體打造出更好的工具。
重要的是,目前的計畫並未提及要所有 Linux 散佈套件的應用軟體提供集中式的單一商店。確切地說,這是一套用以協助用戶搜尋、評估、安裝可見於各自 Linux 散佈套件的應用軟體的一致性方式。
AppStream 無疑地將會提升 Linux 使用者體驗。然而,對於 AppStream 是否真的有助於一般 Linux 終端用戶安裝軟體時面臨的問題,也出現了質疑的聲音。因為許多知名的應用軟體,特別是像 Skype 或 Adobe Flash 這類的私有軟體,並不會為所有架構和散佈套件,提供 Linux 安裝程式。對於那些只是想安裝軟體,卻搞不懂 i386 或 rpm 等字尾意涵的非技術背景用戶來說,這將是主要的問題。
此外,由於 AppStream 事實上並未將軟體安裝與移除程序標準化,不同的散佈套件仍舊使用不同的套件格式,這表示為 Linux 打包軟體套件的開發者,仍然必須同時製作 RPM 和 Debian 套件。加上散佈套件間的軟體倉儲各自不同,Fedora 上可解的相依性關係,在 Ubuntu 就不一定行得通。儘管如此,在 Linux 社群達成真正的標準化套件管理前,AppStream 仍然是不壞的折衷方案。
相關網址:
1.主要 Linux 散佈套件合作軟體商店
https://www.osnews.com/story/24330/Major_Linux_Distributions_Collaborating_on_Application_Store/2.通用的套件管理程式
https://ostatic.com/blog/one-package-manager-for-them-all3.Linux 廠商共組軟體商店
https://www.pcworld.com/businesscenter/article/218010/linux_vendors_teaming_up_for_an_app_store.html4.GNU/Linux 即將出現統一的軟體商店?
https://www.muktware.com/a/1/4/26/2011/7095.AppStream:是否代表 Linux 軟體安裝標準化
https://www.thevarguy.com/2011/02/02/appstream-standardizing-software-installs-on-linux-or-not/