《第七讲Ubuntu软件包管理ppt课件.ppt》由会员分享,可在线阅读,更多相关《第七讲Ubuntu软件包管理ppt课件.ppt(37页珍藏版)》请在三一办公上搜索。
1、Ubuntu应用程序的安装和卸载,Ubuntu可以使用图形环境下的“添加/删除程序”。,“添加/删除程序”概述,该工具自动记录Ubuntu系统可安装的应用程序,并对其分类,还提供用户检索功能。 启动:应用程序添加/删除程序,安装/卸载应用程序,安装选中左侧应用程序类别中的具体内容,勾选复选框,再单击“应用改变”。卸载先找到相应的应用程序,取消复选框,再单击“应用改变”。,注意,Ubuntu应用程序中,当要卸载有多个应用程序依赖的应用程序时,系统会提示无法删除它们。(如pidgin)如果用户没有激活在线软件包库,或没有提供CD-ROM的安装支持,有些应用程序和软件包是不能通过添加/删除程序安装的
2、。关于包依赖关系的问题,Ubuntu提供了软件包管理器。,Ubuntu软件包管理,Ubuntu采用了Debian的软件包管理机制,让用户随时可以通过网络升级到最新的Ubuntu系统。,8.1 Deb软件包概述,Debian首先提出软件包管理机制: Deb软件包 将应用程序开发后得到的二进制文件、配置文档、帮助文件等合并打包在一个文件中,用户使用软件包管理器可以直接操作软件包,完成其获取、安装、卸载、查询和软件包版本管理等。Redhat软件包管理机制:Rpm软件包,APT软件包管理器,由于系统中软件包之间存在复杂的依赖关系,Debian开发出 APT 软件包管理器,能够自动检查和修复软件包之间的
3、依赖关系,同时还可以主动帮助用户获取软件包。APT工具促进了Deb软件包被广泛地使用。,软件包的类型,.deb软件包文件包含了二进制可执行文件、库文件、配置文件、版权声明和man/info帮助页面等文档。软件包有两种类型:二进制软件包deb源码包deb-src:先归档,再打包成.dsc文件,软件包的命名,Filename_Version-Reversion_Architecture.deb例如:g+_4.1.2-9ubuntu2_i386.deb,文件名,软件版本号,修订版本号,适用的计算机架构,软件包的优先级,Ubuntu为每个软件包指定了一个优先级,作为软件包管理器选择安装和卸载的依据。级
4、别从高到低分别有:Required, Important, Standard, Optional, Extra。142页表8.1任何高优先级的软件包都不能依赖于低优先级的软件包。在Ubuntu发布新版本时,按照优先级由高到低的次序一层层冻结系统。,软件包的状态,为了记录用户使用系统过程中安装、卸载软件包的行为,Ubuntu为软件包定义了两类状态:期望状态:未知、已安装、删除、清除、保持。当前状态:未安装、已安装、仅存配置、仅解压缩、配置失败、不完全安装。,软件包的依赖关系,Linux中某个软件组件是否能够正常运行,依赖于其他一些软件组件的存在,这样做可以使系统更加致密和紧凑。需要解决两个问题:
5、软件组件依赖 和 软件组件冲突。依赖关系有:依赖、推荐、建议、替换、冲突和提供(143页表8.3)。软件包管理器将依据软件包“依赖关系”完成组件的安装或卸载。,8.2 软件包管理工具概述,不同层次和类型的软件包管理工具命令行dpkg: Debian源码包安装工具dpkg-deb:Debian包安装工具Apt:advanced packaging tool强大的包管理系统文本窗口界面Dselect:使用菜单界面的包管理工具Aptitude:Apt的高级的字符和命令行前段Tasksel:Task安装工具图形界面:新立得synaptic,从软件源的镜像站点自动获取安装相关的所有软件包;将应用软件的相
6、关文档打包成Deb软件包;查询和检索Deb软件包信息;检查当前操作系统中软件包的依赖关系;安装和卸载Deb软件包。,使用软件包管理工具可以实现:,8.2.2 命令行管理工具,dpkg:最早的Deb管理工具,可以实现软件包的安装、编译、卸载、查询以及应用程序打包等功能。但不支持软件包复杂的依赖关系和用户自动获取软件包。dpkg-deb:dpkg的后端工具,为dpkg提供更底层的软件包管理功能。在使用dpkg命令时自动调用。apt:最强大,维护软件包数据库、自动检查依赖关系、安装和升级软件包、从软件源镜像站点主动获取相关软件包等。,8.2.3 文本窗口管理工具,实质上是将命令行工具作为底层,在上层
7、包装了一个文本界面,使用户无需记忆大量复杂的命令。aptitudesudo aptitude按q键退出dselect:适合在文本终端环境下使用,仅使用数字菜单、不支持鼠标。tasksel:适用于首次安装或大面积升级。,8.2.4 图形界面管理工具,实质上synaptic的底层仍是依赖于APT包管理命令。它实现了软件包的安装、卸载、升级、查询,软件包过滤、版本锁定、强制安装等功能。启动方式:sudo /usr/sbin/synaptic系统-系统管理-新立得软件包管理器,8.3 dpkg软件包管理器,dpkg两大缺陷:不能主动从镜像站点获取软件包;安装软件包时,无法检查包的依赖关系。因此,在对一
8、个软件组件的依赖关系不清楚时,最好使用APT管理器。dpkg通常用来安装单个软件包。dpkg命令的使用,147页表8.5。,第9章 APT软件包管理器,APT工作原理软件源的配置软件包和源码包的查询、安装和卸载检查软件包依赖关系,9.1 APT工作原理,Ubuntu采用集中式的软件仓库机制,将各种软件包置于许多镜像服务器中,进行有效地组织和管理。这些镜像服务器就是“软件源”。源的配置文件/etc/apt/sources.list列出了最合适访问的镜像站点地址。APT能够检查Ubuntu系统中的软件包依赖关系,大大简化了用户安装和卸载的过程。,一组APT命令,apt-cache:查看软件包信息a
9、pt-get:管理软件包(安装、卸载、升级等)apt-get source:获得源码包apt-get install:安装软件包apt-get update:获取新的软件包列表apt-get upgrade:升级有可用更新的系统apt-get remove:删除软件包apt-get help:列出更多命令和选项apt-proxy:搭建APT代理服务器apt-show-versions:显示软件包版本信息apt-config:读取APT配置文件apt-cdrom:将CD-ROM加入软件源配置文件,9.2 设置APT源,备份当前源列表文件: sudo cp p /etc/apt/sources.l
10、ist /etc/apt/sources.list_backup源列表文件中各配置项的含义修改软件源配置文件,方法:直接使用文本编辑器修改,如sudo gedit /etc/apt/sources.list图形工具:系统-系统管理-软件源修改后,运行apt-get update更新包列表,设置APT源,将CD-ROM加入配置文件:直接将CD-ROM的配置项加入sources.list文件。用apt-cdrom命令完成扫描安装光盘内容是否完整:apt-cdrom ident将光盘加入源列表:apt-cdrom add,选择最优源,netselectvv:评测各个镜像站点的性能(网络请求报文到达目
11、标主机的时间耗费 和 跳转站点数)。将netselect找出的连接速度最快的镜像站点加入源的配置文件。,9.4 apt-get 管理软件包,在apt-get命令平台下,自动完成软件包的获取、安装、编译和卸载,以及检查依赖关系。语法:apt-get 子命令 选项 子命令:164页表9.4选项:表9.5工作时,apt-get自动下载并安装具有依赖关系(depends)的包,而不处理推荐(recommends)和建议(suggests)关系的包。,9.4.2 刷新软件源,apt-get update 会扫描软件源服务器,并为该服务器所具有的软件包资源建立一个本地索引文件,以后当进行安装操作时,就会依
12、据这些索引向服务器申请资源。建议在计算机空闲时,经常使用apt-get update 刷新软件源。,9.4.3 安装软件包,apt-get install 用该命令安装软件包的过程:扫描本地存放的软件包资源索引文件,找到最新版本的软件包;进行依赖关系检查,找到支持该软件正常运行的所有软件包;从镜像站点下载相关的软件包;解压、安装和配置。,重装软件包,若不小心损坏了已安装的软件包,或希望重新安装软件包中某些文件的新版本时: apt-get -reinstall install ,9.4.4 更新软件包,将系统中所有软件包一次升级到最新版本: sudo apt-get upgrade,9.4.5
13、升级到新版本,将Ubuntu系统升级到一个新版本 sudo apt-get dist-upgrade1、修改软件源配置文件中的版本标识2、apt-get update 刷新包更新索引表3、apt-get dist-upgrade 将系统升级到新 版本,9.4.6 卸载软件包,不完全卸载:卸载某个软件包,及连带删除其关联包,但保留这些包在系统中的配置信息:sudo apt-get remove 完全卸载:彻底删除所有相关的软件包,及其配置文件。sudo apt-get -purge remove ,9.4.7 修复包依赖关系,先用apt-get check对软件包的依赖关系进行检查。再用apt-
14、get f install修复。,9.4.8 清理软件包缓存区,清理整个缓存中已下载的包(用户认为已经没有价值)apt-get clean按照依赖关系清理缓存区中多余的低版本的软件包apt-get autoclean,9.5 管理源码包,用户可以随时获取GNU应用程序的源码包,或有偿获取第三方软件包的源码。确保配置文件中有deb-src项目。,源码包的管理,查询当前源中是否存放了某个源码包 apt-cache showsrc ,命令结果返回:版本、优先级、编译依赖关系、适用计算机架构、镜像站点中存放的位置,以及源码包中包含的文件等。获取源码包:apt-get source 首先将源码包下载到用户当前所在目录,并在命令执行过程中,将源码包解压到同名目录中,应用程序的源代码就存放在这里。,第10章 图形界面软件包管理器,使用 Synaptic 管理软件包,其底层功能仍依赖于 APT 来实现。完成软件包的安装、卸载、升级、查询,以及包过滤、版本锁定、强制安装等功能。,Synaptic软件包管理器,启动:系统系统管理新立得认识synaptic主窗口刷新源设置软件源:菜单-设置-软件库刷新软件源:菜单-编辑-重新载入软件包信息查看软件包信息安装软件卸载软件升级软件包、升级整个系统,