PackageKit是一個開源軟件項目,它被設計為通用的統一圖形包管理系統,可以在基於Linux的計算機上輕鬆安裝,重新安裝,更新和刪除軟件包。它的主要目標是盡可能多地支持圖形包管理器,使其在盡可能多的GNU / Linux發行版中可用。
功能一目了然
主要功能包括自動安裝依賴項文件,安裝新功能,啟動時應用安全更新,允許非特權用戶安裝應用程序,打開未知文件格式,刪除文件依賴項以及與現有包管理器集成的功能,包括APT,YUM,Conary等。
PackageKit的優點在於它獨立於特定的基於Linux內核的操作系統或硬件架構。當然,這意味著它可以輕鬆部署在任何GNU / Linux發行版上,但前提是支持原始包管理器。這也意味著它可以成功安裝在64位和32位硬件平台上。
使用PolicyKit進行用戶身份驗證
另一個有趣的功能是,默認情況下,PackageKit使用PolicyKit進行用戶身份驗證,這意味著系統管理員(root)將能夠輕鬆控制誰可以安裝哪種類型的軟件或誰不允許安裝軟件包。安裝了PackageKit的GNU / Linux操作系統。
支持的GNU / Linux發行版和應用程序
目前,PackageKit已成功通過各種GNU / Linux發行版測試,包括Kubuntu,Fedora,openSUSE,Foresight Linux,SUSE Linux Enterprise Server,SUSE Linux Enterprise Desktop,Sabayon和Moblin。
各種項目與PackageKit很好地集成,包括Nautilus文件管理器,GNOME PackageKit包管理器,Apper包管理器,Listaller包管理器,Openmoko Installer包管理器,Brasero CD / DVD刻錄軟件,Zero Install分佈式安裝系統,system-config Fedora,Anjuta IDE和GNOME軟件的-printer CUPS服務器配置器。
此版本中的新功能:
- 後端:
- alpm:將安裝原因設置為顯式安裝(Christian Hesse)
- entropy:修復了remove_package和search_details(skullbocks)
- entropy:刪除郵件並修復刪除功能(skullbocks)
- hif:訪問sack cache(Kalev Lember)時添加缺失鎖定
- hif:改進並行內核安裝的解析(Kalev Lember)
- hif:包括升級時標記為安裝的所有軟件包(Kalev Lember)
- portage:刪除郵件並修復刪除功能(skullbocks)
- python / backend:修復參數順序(skullbocks)
- urpm:正確使用is_package_installed()(Thierry Vignaud)
- yum:獲取更新詳細信息時修復回溯(Richard Hughes)
- yum:修復兩個幾乎不可能被擊中的蟒蛇警告(Richard Hughes)
- yum:將端口轉發到新的WhatProvides API(Richard Hughes)
- yum:首先使用NEWEST過濾器(Kalev Lember) 返回已安裝的軟件包
- yum:更新內部詳細信息API更改的組代碼(Kalev Lember)
- 新功能:
- 為zsh(Will Thompson)定義command_not_found_handler
- 錯誤修正:
- 在應用離線更新時更正標點符號(Matthew Miller)
- 如果正在運行bash命令完成(Ville Skytta) ,請不要運行
- 修復產生後端的詳細信息(Richard Hughes)
- 端口GTK +模塊到org.freedesktop.PackageKit.Modify2(Matthias Clasen)
- 在pkcon(Richard Hughes) 中返回語法錯誤的正確錯誤
- 如果沒有為repo-enable(Richard Hughes)做任何事情,則返回正確的錯誤
版本中的新功能:
- 後端:
- alpm:將安裝原因設置為顯式安裝(Christian Hesse)
- entropy:修復了remove_package和search_details(skullbocks)
- entropy:刪除郵件並修復刪除功能(skullbocks)
- hif:訪問sack cache(Kalev Lember)時添加缺失鎖定
- hif:改進並行內核安裝的解析(Kalev Lember)
- hif:包括升級時標記為安裝的所有軟件包(Kalev Lember)
- portage:刪除郵件並修復刪除功能(skullbocks)
- python / backend:修復參數順序(skullbocks)
- urpm:正確使用is_package_installed()(Thierry Vignaud)
- yum:獲取更新詳細信息時修復回溯(Richard Hughes)
- yum:修復兩個幾乎不可能被擊中的蟒蛇警告(Richard Hughes)
- yum:將端口轉發到新的WhatProvides API(Richard Hughes)
- yum:首先使用NEWEST過濾器(Kalev Lember) 返回已安裝的軟件包
- yum:更新內部詳細信息API更改的組代碼(Kalev Lember)
- 新功能:
- 為zsh(Will Thompson)定義command_not_found_handler
- 錯誤修正:
- 在應用離線更新時更正標點符號(Matthew Miller)
- 如果正在運行bash命令完成(Ville Skytta) ,請不要運行
- 修復產生後端的詳細信息(Richard Hughes)
- 端口GTK +模塊到org.freedesktop.PackageKit.Modify2(Matthias Clasen)
- 在pkcon(Richard Hughes) 中返回語法錯誤的正確錯誤
- 如果沒有為repo-enable(Richard Hughes)做任何事情,則返回正確的錯誤
版本1.0.8中的新功能:
- 後端:
- alpm:將安裝原因設置為顯式安裝(Christian Hesse)
- entropy:修復了remove_package和search_details(skullbocks)
- entropy:刪除郵件並修復刪除功能(skullbocks)
- hif:訪問sack cache(Kalev Lember)時添加缺失鎖定
- hif:改進並行內核安裝的解析(Kalev Lember)
- hif:包括升級時標記為安裝的所有軟件包(Kalev Lember)
- portage:刪除郵件並修復刪除功能(skullbocks)
- python / backend:修復參數順序(skullbocks)
- urpm:正確使用is_package_installed()(Thierry Vignaud)
- yum:獲取更新詳細信息時修復回溯(Richard Hughes)
- yum:修復兩個幾乎不可能被擊中的蟒蛇警告(Richard Hughes)
- yum:將端口轉發到新的WhatProvides API(Richard Hughes)
- yum:首先使用NEWEST過濾器(Kalev Lember) 返回已安裝的軟件包
- yum:更新內部詳細信息API更改的組代碼(Kalev Lember)
- 新功能:
- 為zsh(Will Thompson)定義command_not_found_handler
- 錯誤修正:
- 在應用離線更新時更正標點符號(Matthew Miller)
- 如果正在運行bash命令完成(Ville Skytta) ,請不要運行
- 修復產生後端的詳細信息(Richard Hughes)
- 端口GTK +模塊到org.freedesktop.PackageKit.Modify2(Matthias Clasen)
- 在pkcon(Richard Hughes) 中返回語法錯誤的正確錯誤
- 如果沒有為repo-enable(Richard Hughes)做任何事情,則返回正確的錯誤
版本1.0.7中的新功能:
- 後端:
- alpm:將安裝原因設置為顯式安裝(Christian Hesse)
- entropy:修復了remove_package和search_details(skullbocks)
- entropy:刪除郵件並修復刪除功能(skullbocks)
- hif:訪問sack cache(Kalev Lember)時添加缺失鎖定
- hif:改進並行內核安裝的解析(Kalev Lember)
- hif:包括升級時標記為安裝的所有軟件包(Kalev Lember)
- portage:刪除郵件並修復刪除功能(skullbocks)
- python / backend:修復參數順序(skullbocks)
- urpm:正確使用is_package_installed()(Thierry Vignaud)
- yum:獲取更新詳細信息時修復回溯(Richard Hughes)
- yum:修復兩個幾乎不可能被擊中的蟒蛇警告(Richard Hughes)
- yum:將端口轉發到新的WhatProvides API(Richard Hughes)
- yum:首先使用NEWEST過濾器(Kalev Lember) 返回已安裝的軟件包
- yum:更新內部詳細信息API更改的組代碼(Kalev Lember)
- 新功能:
- 為zsh(Will Thompson)定義command_not_found_handler
- 錯誤修正:
- 在應用離線更新時更正標點符號(Matthew Miller)
- 如果正在運行bash命令完成(Ville Skytta) ,請不要運行
- 修復產生後端的詳細信息(Richard Hughes)
- 端口GTK +模塊到org.freedesktop.PackageKit.Modify2(Matthias Clasen)
- 在pkcon(Richard Hughes) 中返回語法錯誤的正確錯誤
- 如果沒有為repo-enable(Richard Hughes)做任何事情,則返回正確的錯誤
版本1.0.6中的新功能:
- 後端:
- alpm:不要混合聲明和代碼(ISO C90禁止)(Christian Hesse)
- alpm:將配置的全局字段移動到後端priv(Fabien Bourigault)
- alpm:將禁用的全球字段移至後端priv(Fabien Bourigault)
- alpm:當localdb改變時重新初始化libalpm(Fabien Bourigault)
- alpm:刪除RepoEnable(Fabien Bourigault)
- alpm:刪除不再使用的禁用repos邏輯(Fabien Bourigault)
- alpm:刪除未使用的變量(Christian Hesse)
- hif:在不受信任的回購檢查中修復使用後免費使用(Kalev Lember)
- 新功能:
- 添加dbus方法以返回準備好的包裹(petervo)
- 添加pk_backend_is_transaction_inhibited(Fabien Bourigault)
- gstreamer插件:添加對PK會話服務接口v2的支持(Kalev Lember)
- 錯誤修正:
- 使用--verbose而不是tty時,不要遞歸鎖定調試互斥鎖(Richard Hughes)
- 製作“重啟”無操作文件的默認操作(Stephen Gallagher)
- gstreamer插件:適應gstreamer缺少的插件更改(Kalev Lember)
- gstreamer插件:當某些參數為NULL時,避免使用關鍵字(Kalev Lember)
新內容:
- 後端:
- alpm:修復移除包裹時的不良事件使用情況(Fabien Bourigault)
- alpm:尊重模擬旗幟,同時移除包裹(Fabien Bourigault)
- alpm:榮譽模擬pk_backend_install_files(Fabien Bourigault)
- alpm:在提交交易時禁止緩存失效(Fabien Bourigault)
- alpm:跟踪本地數據庫更改並使緩存無效(Fabien Bourigault)
- hif:適應新的Hawkey API(Richard Hughes)
- 錯誤修正:
- 將缺少的--allow-downgrade和--allow-reinstall添加到手冊頁(Richard Hughes)
版本1.0.4中的新功能:
- 庫:
- 添加PK_INFO_ENUM_UNAVAILABLE(理查德休斯)
- 後端:
- alpm:pk_alpm_transaction_packages中的清潔邏輯(Fabien Bourigault)
- alpm:修復pk_backend_resolve_name中的錯誤邏輯(Fabien Bourigault)
- alpm:在詢問包文件時修復SIGSEV(Fabien Bourigault)
- alpm:安裝包裹時的榮譽模擬(Fabien Bourigault)
- alpm:Pacman 4.2支持(Christian Hesse,piernov)
- aptcc:始終尊重非交互標誌(Matthias Klumpp)
- aptcc:如果我們不互動,請不要詢問配置更改(Matthias Klumpp)
- aptcc:使用/ tmp中的子目錄存儲臨時數據(Matthias Klumpp)
- apt:刪除未經編輯的後端(Richard Hughes)
- dummy:通過不在線程代碼中調用pk_backend_job_finished()來修復make檢查(Richard Hughes)
- hif:在安全的情況下自動導入元數據公鑰(Richard Hughes)
- hif:自動安裝AppStream元數據(Richard Hughes)
- hif:使用較新版本的libhif(Richard Hughes)修復編譯
- hif:修復幾個小內存洩漏(Richard Hughes)
- hif:在解決期間尋找不可用的包(Richard Hughes)
- hif:在這裡移動hif_source_is_supported()(Colin Walters)
- hif:代理從州到工作的允許取消狀態(Richard Hughes)
- hif:為僅元數據回購(Richard Hughes)返回'不可用'軟件包
- hif:支持HIF_SOURCE_KIND_LOCAL(Richard Hughes)
- hif:使用線程本地HifTransaction來避免db3索引損壞(Richard Hughes)
- urpmi:實際上只實現了_download&simulate(Thierry Vignaud)
- urpmi:將自己添加為維護者(Thierry Vignaud)
- urpmi:添加對'allow_downgrade'的支持(Thierry Vignaud)
- urpmi:添加對allow-reinstall(Thierry Vignaud)的支持
- urpmi:那些日子考慮gstreamer1.0(Thierry Vignaud)
- urpmi:通過新的removepackages args(Thierry Vignaud)
- urpmi:鎖定寫入事務(Thierry Vignaud)
- 新功能:
- 向pkcon(Richard Hughes)添加'quit'命令
- 將install和remove命令添加到packagekit-direct測試工具(Richard Hughes)
- 錯誤修正:
- 實際上在無法取消交易時禁止登錄(Richard Hughes)
- 設置ErrorCode後允許pk_backend_job_set_allow_cancel()(Richard Hughes)
- 不要嘗試對前綴為'。'的任何內容運行command-not-found。 (理查德休斯)
- 不要在編譯的後端使用PkBackendSpawn助手(Richard Hughes)
- 在取消從未運行的任務時修復難以調試的崩潰(Richard Hughes)
- 製作pk_backend_job_call_vfunc()線程安全(Richard Hughes)
- 製作pk_backend_repo_list_changed()線程安全(Richard Hughes)
- 使網絡檢測代碼更簡單(Richard Hughes)
- 退出守護程序時真正刪除計時器GSource(Matthias Klumpp)
- 重新創建下載位置(Richard Hughes)
版本1.0.0中的新功能:
- 注意:
- 經過7年多的時間,我們終於發布了第一個穩定版本,共有99個tarball版本和11697個來自284個人的版本。哇噢!
- 我想向所有為這個項目的成功做出貢獻的人致以衷心的感謝。我不可能自己完成它,而且有很多人比他們意識到的更重要。
- 現在,更實際的方面。這些是此版本的重大變化:
- 離線更新功能已移至正確的D-Bus界面,並且已刪除pkexec幫助程序。離線更新是一項重要功能,不再值得用螺栓固定。所有現有用戶都已移植到新界面,但如果您從unstable或jhbuild運行GNOME,則需要3.13.92。
- 沒有更多的插件。樹內和樹外插件都是崩潰的最大來源,並且系統化的離線更新合併到核心守護程序中,它們就不再需要了。已通知所有受影響的項目。
- 不再是conary,opkg,smart或yum插件。這些已經有兩年沒有維護和破壞了,所以有時間給他們起伏了。
- alpm,aptcc,hif和zypp插件有很多愛,並且具有最新的功能並且運行良好。
- 後端:
- alpm:添加APPLICATION過濾器(Fabien Bourigault)
- alpm:添加DOWNLOADED過濾器以獲取更新(Fabien Bourigault)
- alpm:正確命名空間文件和符號(Richard Hughes)
- alpm:發布更新詳細信息URL時不要崩潰(Richard Hughes)
- alpm:在完成之前不要設置可取消或狀態(Richard Hughes)
- alpm:刷新回購時的榮譽緩存年齡(Fabien Bourigault)
- alpm:僅授予更新包下載標誌(Fabien Bourigault)
- alpm:為後端數據使用輔助結構(Richard Hughes)
- alpm:使用系統數據庫而不是前綴(Richard Hughes) 中的數據庫
- aptcc:鏈接-lutil for forkpty(Colin Watson)
- conary:刪除Conary後端(Richard Hughes)
- hif:讓鎖定dir尊重DESTDIR(Richard Hughes)
- hif:刪除一些未使用的函數(Richard Hughes)
- hif:使用hy_sack_create()的真實路徑(Richard Hughes)
- hif:將hif_source_commit()用於新版本的庫(Richard Hughes)
- hif:使用緩存的元數據(Richard Hughes)
- katja:修復存儲庫初始化缺陷(Eugene Wissner)
- opkg:刪除opkg後端(Richard Hughes)
- smart:刪除SMART後端(Richard Hughes)
- yum:刪除yum後端(Richard Hughes)
- zypp:添加APPLICATION過濾器支持(Dominique Leuenberger)
- zypp:添加DOWNLOADED過濾器支持(Dominique Leuenberger)
- zypp:使用PK 0.9.x進行更新(Dominique Leuenberger)
- 新功能:
- 添加D-Bus界面和幫助以獲得離線支持(Richard Hughes,Kalev Lember)
- 將repo-set-data命令添加到packagekit-direct(Richard Hughes)
- 添加一個生成一些離線元數據的簡單腳本(Richard Hughes)
- 添加pk_backend_job_get_cancellable()(Richard Hughes)
- 添加pk_backend_job_is_cancelled()(Richard Hughes)
- 添加pk_backend_set_user_data()(Richard Hughes)
- 添加pk_offline_get_prepared_sack()並在systemd-updates插件中使用它(Richard Hughes)
- 刪除pk-debuginfo-install(Richard Hughes)
- 刪除對不支持/ etc / os-release(Richard Hughes)的發行版的支持
- 刪除--enable-systemd-updates配置開關(Richard Hughes)
- 刪除events / pre-transaction.d功能(Richard Hughes)
- 刪除pkexec systemd助手(Richard Hughes)
- 刪除插件界面(Richard Hughes)
- 從配置文件中刪除各種選項(Richard Hughes)
- 錯誤修正:
- 自動為線程後端執行pk_backend_job_finished()(Richard Hughes)
- 默認情況下不要將守護程序關閉(Richard Hughes)
- 修復ConnMan網絡支持的編譯(Richard Hughes)
- 修復packagekit-offline-update.service generation(Kalev Lember)
- 增加默認交易限額(Matthias Klumpp)
- 首選npapi-sdk over mozilla-plugins(Dominique Leuenberger)
- 守護程序啟動時刷新NetworkManager狀態(Richard Hughes)
要求:
- glib 2.14.0
- dbus比1.1.3更新(20070819或更高版本)
- dbus-glib 0.74
- libnm 0.6.4(可選)
- polkit-dbus 0.5
- polkit-grant 0.5
評論沒有發現