Linux 的套件管理系統 (Linux Package Management System)
一、套件管理系統簡介
1.什麼是套件管理系統
套件管理系統是用來管理電腦上的軟體,如安裝、升級、移除及設定軟體的工具程式組合
2.為什麼需要套件管理系統
土法鍊鋼安裝程式的方法:
* 取得及下載原始程式碼 (source code)
* 將原始程式碼解開
* 編譯程式
* 安裝
舉例來說:
$ wget http://demo.site/demo.tar.gz
$ tar zxvf demo.tar.gz
$ cd demo
$ ./configure
$ make
$ make install
缺點:
* 編譯程式花費時間且並不是每個人都懂得如何去編譯程式
* 即使是下載原始碼回來自行編譯,一樣是有套件相依性的問題需要解決
(如我要自行編譯安裝 gimp 套件,必須先安裝 gtk 套件,而安裝 gtk 套件之前,可能又得先安裝 xorg-x11 等相關套件)
* 自行安裝的套件,如何得知其版本及倒底安裝了哪些檔案?這些安裝的檔案又是安裝在哪個目錄底下?日後又該如何進行升級或移除的動作?
因此,除非有需要必須自行修補程式碼並重新編譯程式,否則,可以盡量利用現成的套件管理系統來安裝別人已經預先編譯好的 Binary 程式,既省時、省事又方便
同時,透過套件管理系統,它除了可以幫我們處理套件相依性的問題外,套件管理系統本身也有資料庫系統,可以記載每個套件的名稱、描述、版本資訊、提供的廠商等相關的資訊,方便使用者日後的查詢及維護
3.套件管理系統的功能
* 可以驗證檔案的正確性 (Verification of file checksums)
* 可以檢查套件的數位簽章 (Checking fo digital signatuures)
* 提供簡單及方便的套件安裝、升級及移除等功能
* 套件相依性問題的處理 (Dependency)
* 套件更新檢查,方便將系統保持在最新、最安全的狀態,包含錯誤修正及安全更新等等 (bug fixes and security updates)
* 套件的群組分類,方便使用者查詢、安裝及維護套件
二、Linux 的套件格式 (Package Format)
1.Binary packages
已經預先編譯好的可執行檔
常見的套件延伸檔名:
* rpm
* deb
* tgz/tbz/tar.gz/tar.bz2
slackware tgz - gzipped tarball
rpm - cpio
deb - ar
2.Source packages
套件的原始程式碼及相關的修補檔
3.Recipe packages
使用一個檔案(如 ebuild or recipe),而在這個檔案裡面包含了該如何去下載、解壓縮、編譯及安裝套件的相關資訊,如 Gentoo Linux 的 Portage 及 Gobo Linux 的 Recipe 等 (FreeBSD 的 port 及 Mac OS X 的 DarwinPorts 也是)
4.Binary 套件格式之間的轉換
* 可以透過 alien 程式來進行轉換
三、套件管理員 (Package Manager)
1.rpm based (Red Hat Package Manager/RPM Package Manager)
* 底層指令 – rpm
* 套件管理系統 – apt4rpm up2date yum urpmi yast pirut synaptic yumex aptitude smart 等等
2.deb based
* 底層指令 – dpkg
* 套件管理系統 – apt dselect tasksel aptitude synaptic adept smart 等等
3.pkgtool for Slackware
* 底層指令 – installpkg removepkg upgradepkg
* 3rd-party 的套件管理系統 – swaret slapt-get slackupdate emerde slackpkg stratdate 等等
4.pacman for Arch Linux
* 底層指令 – pacman
* 套件管理系統 – jacman gtkpacman 等等
5.portage for Gentoo Linux
* emerge ebuild
6.recipe for Gobo Linux
* Compile – PrepareProgram SymlinkProgram CompileProgram
7.Smart Package Manager
* The Smart Package Manager project has the ambitious objective of creating smart and portable algorithms for solving adequately the problem of managing software upgrading and installation.
* 支援 APT APT-RPM YUM URPMI YAST 等各種 Repositories 的格式
分享到:
相关推荐
标题提及的"Novell推出基于Linux跨平台系统管理套件"指的是Novell公司发布的一款针对Linux操作系统的跨平台系统管理工具。Novell是一家知名的IT公司,尤其在操作系统和网络服务领域有着深厚的背景。这个系统管理套件...
dpkg 是 Debian Packager 的简写,为 Debian 专门开发的套件管理系统,方便软件的安装、更新及移除。dpkg 是 Debian 软件包管理器的基础,它被 Ian Murdock 创建于 1993 年。dpkg 与 RPM 十分相似,同样被用于安装、...
1. **嵌入式Linux套件**:嵌入式Linux是指将Linux操作系统用于专门设计的硬件设备中,如电话系统、工业自动化设备等。这种套件通常包含内核、库、开发工具和其他必要的软件组件,以便开发者能快速构建和定制适合特定...
基本的系统管理命令如`apt`(或`yum`)用于软件包的安装和管理,`ps`和`top`显示进程状态,`kill`和`pkill`用来结束进程。 关于Process处理的指令,如`pgrep`根据名称查找进程,`nice`和`renice`调整进程优先级,`...
常用Linux软件包括办公软件(如LibreOffice或OpenOffice)、图形界面环境(如GNOME和KDE)、开发工具(如Eclipse、Vim、Emacs)、数据库管理系统(如MySQL、PostgreSQL)、网络管理工具(如Apache、Nginx)、版本...
* Linux 内核(Kernel):内核是系统的心脏,是运行程序和管理硬件设备的内核程序,决定着系统的性能和稳定性,实现操作系统的基本功能。 * Linux 的 Shell:Shell 是系统的用户界面,提供用户与内核进行交互操作的...
Linux操作系统下的KDE Office套件是一个强大的开源办公解决方案,它为用户提供了一系列的工具,用于处理文字处理、电子表格、演示文稿以及图像编辑等任务。KDE Office套件以其跨平台性和与开源社区的紧密联系而备受...
Linux的基础操作包括命令行交互、文件管理、权限设置等。命令行是Linux的核心,常用命令如ls(列出目录内容)、cd(切换目录)、mkdir(创建目录)、rm(删除文件或目录)、cp/mv(复制/移动文件或目录)。文件权限...
教程内容包括了安装Linux系统、配置桌面环境、美化Linux桌面、使用菜单和窗口、配置网络和Shell命令等基础知识,以及文件权限、用户和组管理、硬盘管理、服务器配置等进阶主题。 此外,教程还包括对常用Linux软件如...
本文主要探讨了如何利用开源医学影像存储系统(PACS)和相对封闭的Linux操作系统来管理和存储介入手术室中的DSA(数字减影血管造影)数据。作者通过搭建开源DICOM服务器并配置DSA主机的三维工作站,实现了DSA数据的...
- Linux 内核: 系统的核心部分,负责管理系统的资源和提供基本服务。 - 系统调用接口: 用于应用程序访问内核服务的接口。 - 语言函数库: 提供常用函数以支持高级编程语言。 - Linux Shell: 用户与系统交互的...
不同的 Linux 发行版之间的相同点是它们都使用同样的 Linux 核心和自由软件套件,但不同的 Linux 发行版之间的不同点是它们使用的核心和软件的版本可能会不同,各开发商加入的应用工具不同,使用的套件管理模式不同...
综上所述,这些知识点涵盖了Linux平台的升级和优化,嵌入式系统的图形软件栈设计,网络基础设施的安全与流量管理,以及电子测试设备的灵活性和效率。这些内容对于Linux系统开发者、网络运维人员、嵌入式系统工程师...
用户会学习如何在终端中导航、执行程序和管理系统。 5. **软件安装**:讲解如何通过包管理器(如apt、yum或dnf)来安装、更新和卸载软件。理解软件仓库的概念,以及如何添加第三方源以获取更多软件。 6. **网络和...
2. **Linux Shell**:Shell是用户与内核交互的界面,提供命令行接口,允许用户执行命令、编写脚本和管理系统。 3. **Linux文件系统**:Linux采用了一种分层的文件系统结构,如EXT2、EXT3、NFS和SMB等,使得文件在...
Linux系统上有着丰富的开源软件库,例如办公套件LibreOffice、图像处理软件GIMP、编程IDE如Eclipse和Visual Studio Code等,满足不同用户的需求。 通过阅读"Linux菜鸟专用.pdf"和"Linux初学者入门优秀教程.pdf",...
6. **包管理系统**:如APT(Advanced Package Tool)和YUM,它们使得安装、升级、卸载软件变得简单,同时也维护了系统的依赖关系。 在第039-072页的内容中,可能会涵盖以下主题: - **进程管理**:包括进程的创建...
### Linux网络操作系统知识梳理 #### 一、基础知识 ##### 基本命令 ...以上内容是对Linux网络操作系统的基础知识进行了梳理,包括基本概念、命令使用、文件系统管理等方面,旨在帮助初学者快速入门Linux系统。