Ubuntu软件包管理

1.软件包依赖关系

1.1软件包A依赖软件包B

要运行A必须安装B

1.2软件包A推荐软件包B(recommends)

软件包维护者认为所有用户都互惠喜欢缺少某些功能的A,而B功能更完善一些.

1.3软件包A建议软件包B(suggests)

B中某些功能与A的功能相关,并能增强A的功能

1.4软件包A与软件包冲突(conflicts)

如果系统中安装了B那么A无法运行.

1.5软件包A替换软件包B(replace)

B中文件被A替换

1.6软件包A提供软件包B(provides)

A中包含了B 的文件

2.软件包管理工具概述

2.1synaptic(新立得)

是目前首选的基于GTK的图形化APT前端程序.包含对debian package的实验性支持.

可从系统>系统管理>synaptic软件包管理器启动.

2.2APT(The Advanced Package Tool,高级软件包工具)

添加/删除程序和新立得都是建立在其基础之上的.

一些常用命令:

查看软件信息:sudo apt-cache showsrc

获得源代码:sudo apt-get source

安装软件包:sudo apt-get install

删除软件包: sudo apt-get remove

获取新的软件包列表: sudo apt-get update

升级有可用更新系统: sudo apt-get upgrade

列出更多命令选项: apt-help

2.3Aptitude

Aptitude 完全可以作为apt-get的的一个兼容代替品.

最好一直使用它,否则将失去Aptitude包存放的软件安装清单,就不能享受自动删除多余软件包的功能.

常用命令:

安装软件包: sudo aptitude install

删除: sudo aptitude remove

搜索/查找指定软件: sudo aptitude search

更新软件列表: sudo aptitude update

更新已安装的软件包: sudo aptitude upgrade

更新整个系统: sudo aptitude dist-upgrade

2.4 dpkg

dpkg (Debian Package)是为Debian系统专门开发的软件包管理工具.

常用命令:

-i 安装本地软件包

-c 列出 的内容

-l 提取 中的信息

-r 删除一个已安装的软件包

-P 完全删除一个软件包包括配置文件

-reconfigue 重新配置一个软件包,如果它使用的是debconf

2.5 Dselect

管理菜单中驱动程序

Q 退出 R撤销 D恢复到前一次升级状态 U按照建议进行操作

2.6 源码包安装程序

S1. 解压源码包 S2. 进入解压目录下 cd /${解压路径} S3.配置软件的编译环境 ./configure S4. 编译 make S5.安装 make install 制作deb包时将s5中的命令改为: checkinstall

Ubuntu软件包命名

Ubuntu软件包命名遵循下列约定:
foo_ver-rev_arch.deb
一般这里的foo是软件包的名称,ver是软件本身的版本号,rev是Ubuntu修订版本号,arch是目标架构名称。当然,文件很容易被改名;不过,你也可以通过运行下面的命令来找出文件filename实际是那个软件包:
dpkg--infofilename
Ubuntu修订版本号由Ubuntu开发者或创建这个软件包的人指定。通常,包被修改过之後,会把修改版本号加一,有些也会加上ubuntu的标志以便和Debian区分开来。
Ubuntu软件包格式
Ubuntu“软件包”,或称之为Debian包文件(Debianarchivefile),包含了可执行文件、库文件、和相关程序的文档。通常Ubuntu文件的文件名以.deb结尾。

Ubuntu操作系统中的deb文件包详细介绍

Linux系统中,软件通常以源代码或者预编译包的形式提供。
软件源代码需要您亲自编译为二进制的机器代码才能够使用,安装比较耗时,不过您可以自行调节编译选项,决定您需要的功能或组件,或者针对您的硬件平台作出优化。
预编译的软件包,通常是由软件的发布者进行编译,您只要将软件拷贝到系统中就可以了。考虑到预编译软件包的适用性,预编译软件包通常不会针对某种硬件平台优化。它所包含的功能和组件也是通用的组合。
Ubuntu系统中,软件通常以“deb”格式的包文件发布,它是一种预编译软件包。deb包中除了包含已编译的软件,通常还包括软件的拷贝路径、对其它软件包的依赖关系纪录、一个比较通用的配置文件以及软件的描述、版本、作者、类别、占用空间等信息。
deb软件包命令遵行如下约定:
soft_ver-rev_arch.deb soft为软件包名称,ver为软件版本号,rev为Ubuntu修订版本号,arch为目标架构名称
例如:azureus_2.4.0.2-0ubuntu2_all.deb 您需要使用“dpkg”命令来管理deb软件包:
dpkg -i | --install xxx.deb 安装deb软件包
dpkg -r | --remove xxx.deb 删除软件包
dpkg -r -P | --purge xxx.deb 连同配置文件一起删除
dpkg -I | -info xxx.deb 查看软件包信息
dpkg -L xxx.deb 查看文件拷贝详情
dpkg -l 查看系统中已安装软件包信息
dpkg-reconfigure xxx 重新配置软件包
有些时候,您使用“dpkg”安装一个软件包,系统会提示您该软件包依赖其它软件包。这时,您先安装其它软件包,直到满足依赖关系为止。或者同时安装多个软件包
dpkg -i aaa.deb bbb.deb ccc.deb APT
如果一个软件依赖关系过于复杂,使用“dpkg”来安装它,并不是一个明智的选择,这个时候您就需要用到APT软件包管理系统。APT可以自动的检查依赖 关系,通过您预设的方式来获得相关软件包,并自动安装配置它。事实上,在多数情况下,我们推荐您使用APT软件包管理系统。
APT系统需要一个软件信息数据库和至少一个存放着大量deb包的软件仓库,我们称之为“源”。“源”可以是网络服务器,安装CD或者本地软件仓库。您需要修改“/etc/apt/sources.list”文件,使APT系统能够连接到“源”。
您可以在以下页面中获得网络安装源的列表,并且根据您的网络环境,选择速度较快的源。
http://wiki.ubuntu.org.cn/%E5%BF%AB%E9%80%9F%E8%AE%BE%E7%BD%AE%E6%8C%87%E5%8D%97/DapperDrake APT系统主要包括“apt-get”和“apt-cache”等命令。它们通常都是复合命令,包含若干个子命令。
apt-get install xxx 安装xxx -d 仅下载
-f 强制安装
apt-get remove xxx 卸载xxx apt-get update 更新软件信息数据库
apt-get upgrade 进行系统升级
apt-cache search 搜索软件包
Tips:建议您经常使用“apt-get update”命令来更新您的软件信息数据库
源码包
对于绝大多数软件,我们建议您使用APT系统来安装它。在少数情况下,例如某软件没有以deb包的格式发布,或者您需要定制适合自己的软件,您可以通过编译源代码的方式安装它。
首先您需要下载软件的源码包,并且将它解包为一些源代码文件。并了便于管理,我们建议您将下载的源码包移动到“/usr/local/src/”目录下,并在这里解包。
sudo mv xxx.tar.gz /usr/local/src 移动源码包
cd /usr/local/src 进入“/usr/local/src/”目录
sudo tar -xzvf xxx.tar.gz 解包源码
cd xxx_ver/ 进行解包后的源码目录
源码目录中通常有一个“configure”脚本,用来配置即将开始的编译过程。您可以执行它
sudo ./configure [--prefix=/usr/loca/xxx ......] 它会自动检测软件的编译环境和依赖关系,并且生成“Makefile”文件。
您可以使用带参数的命令“./configure --help”,或者阅读“INSTALL”文件,查看该脚本允许的参数。例如使用“--prefix=/usr/local/xxx”参数,将软件的安 装目录设定为“/usr/local/xxx/”。(如果您一定要将软件安装在一个目录下,我们建议您安装在这里)
现在执行“make”命令,系统会根据“Makefile”文件中的设定,通过“make”工具调用编译器和所需资源文件,将源代码文件编译成目标文件。
sudo make
执行“make install”命令,“make”工具会自动将连接目标文件,将最终生成的文件拷贝到“Makefile”文件设定的路径中,并且完成更改文件的属性,删除残留文件等活动。
sudo make install 现在,您的编译安装已经完成,为了更方便的使用它,需要给程序的可执行文件作一个符号链接。
sudo ln -sf /usr/local/xxx/exe /usr/local/bin/exe Tips:为了顺利的进行编译,您至少需要安装“build-essential”软件包。
使用命令“sudo apt-get install build-essential”安装它。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值