第7章 软件包管理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

7.3.2
查看已安装的软件包
dpkg的-l选项可以列出当前系统上已经安装的软件包。 通常,这是充斥几页甚至几十页的冗长的字符串。显然这对 任何人都不会有太大的价值。因此,该命令常常和管道及搜 索命令配合使用。 现在来看一个例子,假设需要查找当前系统中 OpenSSH的版本信息: $ dpkg -l | grep openssh ii openssh-client 1:4.7p1-8ubuntu1.2 secure shell client, an rlogin/rsh/rcp repla
使用rpm -q命令查询当前系统中已经安装的软件包。 用户应该指定软件包的名字(而不是安装文件的名字), RPM会列出其具体的版本信息: $ rpm -q check check-0.9.5-72.1
7.4.4
卸载软件包
使用“rpm -e”命令卸载软件包。这个命令接收软件包 的名字作为参数。可以用上一节的方法确定想要卸载的软件 包的名字,但是名字中不应该带有版本信息。下面这条命令 从系统中删除了软件包tcpdump: $ sudo rpm -e tcpdump
7.1.2
运行QQ for Linux
至此,已经成功地安装了QQ for Linux,可以单击“应 用程序”|“互联网”|“腾讯QQ”命令运行QQ。
7.1.3
卸载QQ for Linux
当前版本的QQ for Linux仍然存在很多功能上的不足。 另外,安全性方面也存在进一步完善的空间。如果希望在 Linux下也能使用完整支持的QQ,可能还需要等到下一个版 本的发布。下面介绍如何卸载已安装的QQ for Linux。 一般来说,卸载软件包需要提供完整的软件包名字或 版本。如果无法完整给出这些信息(事实上,很少有人会记 住它们),软件包管理工具可以帮助用户找到这些信息。
7.5.2
下载和安装软件包
系统第一次启动时,需要运行apt-get update更新当前apt-get 缓存中的软件包信息。此后,就可以使用apt-get install命令安装软 件包了。事实上,笔者推荐在每次安装和更新软件包之前都运行 apt-get update,以保证获得的软件包是最新的。
7.3
管理.deb软件包:dpkg
本节将简要介绍dpkg的常用选项和注意事项,这个软 件包工具主要用于Debian和Ubuntu这两个发行版本。限于 篇幅,这里没有办法、也没有必要一一列出dpkg的所有选 项和功能。读者可以通过dpkg --help获得该命令完整的帮助 信息。
7.3.1
安装软件包
Hale Waihona Puke 7.4管理RPM软件包:rpm
类似的,rpm工具用于管理.rpm格式的软件包。这个软 件包管理工具用于绝大多数的Linux发行版本,如Red Hat、 openSUSE等等。下面简要介绍其使用方法及相关注意事项 。rpm的更多高级功能可以参考其用户手册。
7.4.1
安装软件包
使用rpm -i命令安装一个软件包。尽管安装工作只需要 一个-i就够了,但人们通常还习惯加上-v和-h这两个选项。v选项用于显示rpm当前正在执行的工作,-h选项通过打印 一系列的“#”提醒用户当前的安装进度: $ sudo rpm -i -v -h dump-0.4b41-1.src.rpm 1:dump warning: user tiniou does not exist - using root warning: group tiniou does not exist - using root warning: user tiniou does not exist - using root%) warning: group tiniou does not exist - using root ########################################### [100%]
7.2
软件包管理系统简述
在早期的UNIX/Linux系统中,安装软件是一件相当费 时费力的事情。系统管理员不得不直接从源代码编译软件, 并为自己的系统做各种调整,甚至还要修改源代码。尽管以 源代码形式发布的软件显著增强了用户定制的自由度,但在 各种细小环节上耗费如此巨大的精力显然是缺乏效率的。于 是,“软件包”的概念便应运而生了。 软件包管理系统的应用使Linux管理员得以从无休止的 兼容性问题中解脱出来。软件包使安装软件事实上成为一系 列不可分割的原子操作。一旦发生错误,可以卸载软件包, 也可以重新安装它们。同时,软件发行商甚至可以不用考虑 补丁的问题,因为客户在安装新版本软件包的同时就把老版 本替换掉了。
7.3.3
卸载软件包
使用dpkg的--remove(简写为-r)选项可以方便地卸载 已经安装的软件包。在本章开头的“快速上手”一节中,读 者已经实践了卸载软件包的基本步骤。下面的命令删除安装 在系统中的Opera浏览器: $ dpkg -l | grep opera ##查看Opera浏 览器的软件包信息 ii opera 9.62.2466.gcc4.qt3 The Opera Web Browser $ sudo dpkg --remove opera ##删除 Opera浏览器 (正在读取数据库 ... 系统当前总共安装有 184216 个文 件和目录。) 正在删除 opera ...
7.4.2
升级软件包
rpm -U命令用于升级一个软件包。这个命令的使用方 法和rpm -i基本相同,用户也可以为其指定通用的安装选项v和-h。如果系统上已经安装了dump较早的版本,那么下面 这条命令将其升级为版本0.4b41-1: $ sudo rpm -Uvh dump-0.4b41-1.src.rpm
7.5.4
配置apt-get
几乎所有的初学者都会问这样的问题:apt-get从哪里 下载这些软件?这些软件安全吗?事实上,所有apt-get用于 下载软件的地址——通常称之为安装源——都被放在 /etc/apt/sources.list中。这是一个文本文件,可以使用任何文 本编辑器打开并编辑。
7.5.5
升级操作实际是卸载和安装的组合。在升级软件时, RPM首先卸装老版本的软件包,然后再安装新版本的软件 包。如果旧版本的软件包不存在,那么RPM只须对所请求 的软件包进行安装。RPM的升级操作可以保留软件的配置 文件,这样用户就不必担心会被升级后的软件带到一个完全 陌生的环境中了。
7.4.3
查看已安装的软件包
7.1.1
安装QQ for Linux
QQ for Linux可以去腾讯公司的官方网站 下载,本书写作时,QQ for Linux仍处于1.0-Preview阶段, 也没有加入对64位Linux操作系统的支持。读者使用时可以 下载最新版本进行试验。下载页面同时提供了RPM包和 DEB包的下载,读者可以根据自己所使用的发行版本选择适 当的软件包。一般来说,除了Debian和Ubuntu使用DEB包 以外,其他发行版的Linux均使用RPM包。 下载到的文件应该类似于linuxqq_1.0Preview1_i386.deb或linuxqq_1.0-Preview1_i386.rpm,这里 假设读者将其放在自己的主目录下。
7.5
高级软件包工具:APT
rpm和dpkg这些软件包管理器的出现,大大减少了安 装软件的工作量。但系统管理员遗憾地发现,这些工具仍然 不能有效地解决依赖性问题。为了安装某个软件,管理员不 得不常常陷入“A依赖B,B依赖C,C依赖D……”这类无休 止的纠缠中。正是着眼于解决这类问题,以APT、yum等为 代表的高级软件包管理工具应运而生了。
7.1
快速上手:安装和卸载QQ for Linux
一直以来,国内用户熟知的即时通讯软件QQ只有 Windows版本。尽管Linux爱好者们开发了很多登录QQ的客 户端,但出于安全等方面的考虑,腾讯从未给予这些客户端 足够的支持,致使在Linux下使用QQ成为了一件几乎不可能 的事情。2008年8月,腾讯官方终于发布了第一款针对Linux 的QQ客户端。在Linux下聊QQ不再成为一种奢望。
$ apt-cache search flight ##搜索带“flight”字样的软件包 balder2d - A 2D shooter in zero gravity balder2d-data - data files for balder2d fgfs-atlas - Flight Gear Map Viewer fgfs-base - Flight Gear Flight Simulator -- base files flight-of-the-amazon-queen - a fantasy adventure game flightgear - Flight Gear Flight Simulator gl-117 - An action flight simulator gl-117-data - Data files for gl-117 ……
7.5.1
APT简介
APT,全称为Advanced Package Tool,即高级软件包 工具。这是现今最成熟的软件包管理系统。它可以自动检测 软件依赖问题,下载和安装所有文件;甚至只需要一条命令 ,就可以更新整个系统上所有的软件包。 APT最初被设计运行于Debian系统上,只能支持.deb格 式的软件包文件。如今,APT已经被移植到使用RPM软件 包机制的发行版上。可以从获得APT的RPM版 本。 APT工具最常用的有两个命令:apt-get和apt-cache。 前者用于执行和软件包安装有关的所有操作;后者主要用于 查找软件包的相关信息。在大部分情况下,用户也可以使用 图形化的ATP工具,本节以Ubuntu上的“新立得软件包管 理器”工具为例,介绍图形化APT的基本使用,其他的图形 化APT工具提供基本类似的用户界面和使用方法。
第7章
软件包管理
顾名思义,软件包是将应用程序、配置文件和管理数 据打包的产物。特定的软件包管理系统可以方便地安装和卸 载软件包。如今,所有的Linux发行版都采用了某种形式的 软件包系统,这使得在Linux上安装软件变得同在Windows 下一样方便。常用的软件包格式有两种,这取决于所使用的 发行版。SUSE、Red Hat、Fedora等发行版本使用RPM。 而Debian和Ubuntu则使用.deb格式的软件包。
和openSUSE、Red Hat等发行版本不同,Debian和 Ubuntu使用dpkg管理软件包。这些软件包通常以.deb结尾 。 dpkg使用--install选项安装软件,这个选项也可以简写 为-i。(回忆一下在本章开头安装QQ for Linux时,使用的 就是-i而不是--install选项)。事实上,Linux中存在很多这 类“缩写版”的命令,有兴趣的读者不妨在使用的时候注意 整理一下。
命令 apt-get install apt-get upgrade apt-get remove apt-get source apt-get clean
描述 下载并安装软件包 下载并安装在本系统上已有的软件包的最新版本 卸载特定的软件包 下载特定的软件源代码 删除所有已下载的包文件
7.5.3
查询软件包信息
同rpm和dpkg一样,使用apt-get安装和卸载软件包时必 须提供软件包的名字。apt-get并不能理解拼写错误或任何与 其缓存中软件包名不相符的写法。因此,提供正确的软件包 名就显得尤为重要。于是,APT提供了工具apt-cache。 apt-cache search命令可以搜索软件包列表中特定的软件 包。假设希望安装一个模拟飞行类游戏,但记不请它究竟叫 什么:
使用图形化的APT
同Linux下众多其他系统管理工具一样,各Linux发行 商也开发了APT的图形化界面。从用户友好的角度来讲,图 形化的APT无疑更具优势,特别是对于初学者而言。下面简 要介绍Ubuntu附带的“新立得软件包管理器”工具的使用 和配置。 Ubuntu用户可以依次单击“系统”|“系统管理”|“新立 得软件包管理器”命令找到这个图形化的APT工具。出于安 全考虑,必须首先提供系统管理员密码。(关于Debian和 Ubuntu的管理员帐号,可以参考3.1.3节)。
相关文档
最新文档