又大又粗又猛免费视频久久_国产理论在线播放_久久男人av资源网站免费软件_99国产精品无码

何為“玲瓏”,它從哪里來又要到哪里去?- 文末有福利(玲瓏–)

2020 年,借鑒沙箱/容器的技術(shù)方案,玲瓏原型的核心開發(fā)悄然完成;

2022 年,作為 deepin 發(fā)行版未來的核心特性,玲瓏隨 deepin v23 預(yù)覽版共同發(fā)布,初步具備可用性;

2023 年,我們將玲瓏項目代碼、玲瓏官網(wǎng)、玲瓏商店等資產(chǎn)捐贈給開放原子開源基金會,欲匯聚更多產(chǎn)業(yè)力量,攜手推動玲瓏發(fā)展,加速生態(tài)建設(shè)……

那么到底何為“玲瓏”?它從哪里來?又要到哪里去?接下來,此文為你一一揭秘。

前言:軟件包管理器的演進(jìn)

Linux 操作系統(tǒng)一直以其開源性質(zhì)和靈活性而聞名,而要使 Linux 系統(tǒng)能夠順利安裝并運行所需的軟件,最關(guān)鍵的部分就是軟件包管理器。

顧名思義,Linux 軟件包管理器是一種在 Linux 操作系統(tǒng)上用于安裝、更新和卸載軟件包的工具。它的歷史可以追溯到上世紀(jì) 90 年代,此時 Linux 正處于起步階段,軟件的安裝必須手動下載源代碼并編譯,這對非技術(shù)用戶來說是一項繁瑣且困難的任務(wù)。

這種情況下,先后催生了 dpkg 和 rpm,然而由于不能自動解決依賴關(guān)系,其使用起來依舊不便。

直到 Debian 的 apt、Red Hat 的 up2date 的發(fā)布,包管理器可用性有了很大的提升。它們采用了一種被稱為“依賴關(guān)系解決器”的算法,能夠自動解決軟件包之間的依賴關(guān)系,從而簡化軟件的安裝和升級過程。但這在另一方面大大增加了復(fù)雜度,維護(hù)者們需要非常謹(jǐn)慎小心地處理,稍有不慎就會陷入“依賴地獄”,導(dǎo)致軟件包系統(tǒng)發(fā)生故障。

此外,還有許多其他的軟件包管理器,如 yum、portage 和 pacman 等。包管理器的多樣性給用戶帶來了更多選擇,但缺點也十分顯著:它們的軟件包無法互通,這意味著一款軟件要在其他發(fā)行版上使用,可能需要被重復(fù)打包。

隨著 Linux 內(nèi)核對容器的支持、Docker的誕生,Snap、Flatpak 等一批容器思想的包管理器也開始嶄露頭角。這類格式的軟件包與系統(tǒng)環(huán)境幾乎完全解耦,不再依賴系統(tǒng)上的庫文件(AppImage 也是如此),應(yīng)用分發(fā)開始逐步變得簡單起來。但磁盤、內(nèi)存占用較高,啟動時間被不斷延長等問題也隨之而來,至今仍未被解決。

探索:“玲瓏”應(yīng)運而生

deepin 自 2015 年放棄基于 Ubuntu 作為上游,選擇 Ubuntu 的非商業(yè)上游社區(qū) Debian 作為研發(fā)的基礎(chǔ)起,我們便收到了眾多用戶關(guān)于軟件包管理上的問題反饋,常見的有:

  • 系統(tǒng)上能用的應(yīng)用太少,可用的應(yīng)用版本太老;
  • 系統(tǒng)更新后,某些應(yīng)用無法正常使用;
  • 從其他來源獲取某些應(yīng)用軟件安裝后,包管理器無法正常工作,甚至系統(tǒng)無法繼續(xù)使用。

以上這些問題有一個共性原因:依賴關(guān)系綁定太強(qiáng)。因系統(tǒng)底層庫的關(guān)系,應(yīng)用無法隨意更新,在底層庫有接口變動時,應(yīng)用需要重新適配才能正常工作。

在意識到這些問題后,我們開始嘗試使用新的軟件包管理器。

  • 在 deepin 上適配 Snap:由于 Snap 在除 Ubuntu 系統(tǒng)環(huán)境外有諸多兼容性問題,遂放棄。
  • 將部分自研應(yīng)用轉(zhuǎn)化為 AppImage:AppImage 有著不錯的可移植性,這些應(yīng)用可以很輕松地在其他發(fā)行版上使用。但它沒有集中的倉庫存儲和軟件包管理功能,也不提供 Snap、Flatpak 同一級別的沙箱,安全性無法保障,不適合作為操作系統(tǒng)的默認(rèn)軟件包管理方式。
  • 2017年,deepin 對 Flatpak 格式進(jìn)行了跟進(jìn),完成了 100 的軟件包構(gòu)建工作,后因其應(yīng)用體積較大,磁盤占用過多、Bug 修復(fù)緩慢等各種原因沒有繼續(xù)適配。

在經(jīng)歷過種種“折騰”后,基于對各類包管理器的了解,我們決定自己設(shè)計一套軟件包管理系統(tǒng)。

在經(jīng)過 3 個多月的技術(shù)調(diào)研,1 年多的原型驗證、技術(shù)方案完善和產(chǎn)品打磨后,最終一套先進(jìn)的解決方案——“玲瓏”應(yīng)運而生。

何為“玲瓏”,它從哪里來又要到哪里去?- 文末有福利(玲瓏--)

頂層組件關(guān)系圖

  • 應(yīng)用沙箱 (ll-box) :按照 OCI 標(biāo)準(zhǔn)設(shè)計的應(yīng)用沙箱運行環(huán)境,利用內(nèi)核 Cgroup、Namespace 特性將應(yīng)用與宿主機(jī)環(huán)境隔離,限制系統(tǒng)資源的使用。
  • 應(yīng)用管理服務(wù) (ll-service/ll-cli) :提供應(yīng)用沙箱環(huán)境創(chuàng)建,系統(tǒng)兼容性問題處理等功能。完成對應(yīng)用的安裝狀態(tài)/運行狀態(tài)管理。
  • 權(quán)限管理代理服務(wù) (ll-dbus-proxy/ll-fuse-proxy) :提供權(quán)限管理功能,包括 DBus 接口以及文件接口。
  • 應(yīng)用構(gòu)建工具(ll-builder):提供容器化的應(yīng)用構(gòu)建環(huán)境,方便開發(fā)者在不同的環(huán)境上構(gòu)建出一致性的應(yīng)用。
  • 單獨打包格式(uab/AppBundle):Uniontech Application Bundle,應(yīng)用包封裝格式,提供可直接運行的二進(jìn)制包格式。
  • 倉庫系統(tǒng)(ll-repo-server):提供包上傳、下載、信息統(tǒng)計、查詢等功能,底層存儲使用 OSTree。

何為“玲瓏”,它從哪里來又要到哪里去?- 文末有福利(玲瓏--)

運行視圖

成果:解決兼容性問題、性能大幅提升

此前,國內(nèi)軟件生態(tài)建設(shè)尚不成熟,軟件兼容性、安全性問題頻出,在面向不同的操作系統(tǒng)進(jìn)行應(yīng)用打包和分發(fā)時,會額外耗費大量的時間和資源。

而玲瓏的出現(xiàn),無疑為解決這一難題提供了新思路。玲瓏的隔離技術(shù)可以將應(yīng)用與系統(tǒng)進(jìn)行完全解耦,從而徹底解決系統(tǒng)與應(yīng)用、應(yīng)用與應(yīng)用之間因升級引起的兼容性問題 ,同時減少不同操作系統(tǒng)下分發(fā)時的打包次數(shù)。

何為“玲瓏”,它從哪里來又要到哪里去?- 文末有福利(玲瓏--)

傳統(tǒng)架構(gòu) Vs 玲瓏架構(gòu)

當(dāng)前,玲瓏的基礎(chǔ)設(shè)施已較為完善,衍生出了 5 個項目,共 9 個組件。

何為“玲瓏”,它從哪里來又要到哪里去?- 文末有福利(玲瓏--)

項目組件概述

相比其他類似軟件包格式,玲瓏在啟動速度、資源占用方面具有許多優(yōu)勢:

  • 使用非全量運行時(宿主系統(tǒng) Runtime),整體體積較?。?/li>
  • 由于復(fù)用宿主系統(tǒng)上的庫,可以使用到部分已經(jīng)加載到內(nèi)存中的庫文件,啟動速度會更快,同一應(yīng)用在玲瓏下啟動速度提升顯著;
  • 提供開發(fā)庫托管服務(wù),類似NuGet,方便開發(fā)者進(jìn)行開發(fā);
  • 支持Rootless(無特權(quán))沙箱。

何為“玲瓏”,它從哪里來又要到哪里去?- 文末有福利(玲瓏--)

軟件包大小統(tǒng)計

何為“玲瓏”,它從哪里來又要到哪里去?- 文末有福利(玲瓏--)

軟件包啟動耗時統(tǒng)計

在最新版本 deepin v23 上,已預(yù)裝十多款左右玲瓏格式自研應(yīng)用。玲瓏網(wǎng)頁商店內(nèi),常用應(yīng)用已上架 120 余款,如QQ、微信、網(wǎng)易云音樂、迅雷等,累計下載量當(dāng)前已達(dá) 40w 。

未來:助力操作系統(tǒng)軟件包生態(tài)健康發(fā)展

未來,我們將從權(quán)限管控、用戶交互及可用軟件數(shù)量等方面著手,對玲瓏進(jìn)行進(jìn)一步加強(qiáng)優(yōu)化。

1、權(quán)限管控

當(dāng)前玲瓏文件訪問文件的權(quán)限較為單一,只能在應(yīng)用啟動前處理目錄的掛載,未掛載的目錄無法被啟動后的應(yīng)用訪問到。

未來將會支持文件訪問權(quán)限的動態(tài)管控,無論應(yīng)用啟動與否均可管理,同時控制中心會同步適配玲瓏的權(quán)限管控,提供應(yīng)用權(quán)限管理界面。

2、用戶交互

目前玲瓏應(yīng)用的更新需要用戶手動命令行更新,需要一定的 Linux 基礎(chǔ)。且當(dāng)軟件包出現(xiàn)問題時,無法直接查詢到構(gòu)建源頭的信息,如 git 項目的 hash 值。

未來,應(yīng)用商店將支持玲瓏應(yīng)用更新。同時支持溯源,對開發(fā)者來說能快速查詢到軟件包使用的源文件 hash 值,更容易追蹤和解決問題。

3、軟件包生態(tài)

生態(tài)建設(shè)需要大家共同發(fā)力,我們目前已在著手開發(fā)相關(guān)軟件包轉(zhuǎn)換工具,可以將現(xiàn)有的 deb、appimage 等格式軟件包輕松地轉(zhuǎn)換成玲瓏應(yīng)用。同時也在推動已有合作軟件廠商對玲瓏的適配。

與其踽踽獨行,不如結(jié)伴而行,生態(tài)建設(shè)需要大家共同努力。此前,deepin 開源社區(qū)已和北京航空航天大學(xué)開展暑期共建開源生態(tài)合作,已有眾多北航學(xué)子參與到生態(tài)共建中來。

我們衷心希望玲瓏能夠解決多發(fā)行版應(yīng)用分發(fā)困難的問題,同時也期待更多的感興趣的朋友加入我們,共建應(yīng)用分發(fā)體系,為操作系統(tǒng)軟件生態(tài)健康發(fā)展貢獻(xiàn)力量。

你對玲瓏的未來有哪些期待或建議呢?歡迎在公眾號評論區(qū)留言,留言點贊數(shù)前三的參與者,將獲得 deepin 社區(qū)文化周邊一份~

何為“玲瓏”,它從哪里來又要到哪里去?- 文末有福利(玲瓏--)

(溫馨提示:留言點贊截止時間為2023 年 9 月 1 日18:00?;顒咏Y(jié)束后,我們將聯(lián)系中獎?wù)咚统鲶@喜?。?/span>


內(nèi)容來源:深度操作系統(tǒng)公眾號

原文鏈接:https://mp.weixin.qq.com/s/XUnWNi6CZaJBf944Ge94Uw

文字來源:kamiyadm

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
在線咨詢
分享本頁
返回頂部