码迷,mamicode.com
首页 > 其他好文 > 详细

Ubuntu软件安装指南:dpkg、apt 与源码包安装

时间:2014-05-12 23:56:25      阅读:493      评论:0      收藏:0      [点我收藏+]

标签:dpkg   apt   linux   build-essential   软件包安装   

基础知识:

通常情况下,linux会这样放软件的组件(一般规范):
程序的文档->/usr/share/doc; /usr/local/share/doc
程序->/usr/share; /usr/local/share
程序的启动项->/usr/share/apps; /usr/local/share
程序的语言包->/usr/share/locale; /usr/local/share/locale
可执行文件->/usr/bin; /usr/local/bin
而有的软件为了和系统组件分隔开,选择栖息于 /opt,但目录结构往往是一样的,把/usr或/usr/local 替换为了/opt/"软件名"

DPKG 

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 安装一个软件包,系统会提示您该软件包依赖其它软件包。这时,
您先安装其它软件包,直到满足依赖关系为止。或者同时安装多个软件包 

sudo 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%B
D%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        搜索软件包 
Tip:建议您经常使用 sudo apt-get update 命令来更新您的软件信息数据库 
APT 系统修复 
由于各种意外,APT 系统可能会出现问题,使用如下命令,尝试进行修复: 
apt-get -f install

源码包 

对于绝大多数软件,我们建议您使用 APT 系统来安装它。在少数情况下,例如某软件没有以 deb 包的格式发布,或者需要定制适合自己的软件,您可以通过编译源代码的方式安装它。 
首先需要下载软件的源码包,并且将它解包为一些源代码文件(一般里面都有README等安装说明文件)。并了便于管理,建议将下
载的源码包移动到 /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/可执行文件 /usr/local/bin/可执行文件 

卸载软件用:  sudo make uninstall


Tip:为了顺利的进行编译,至少需要安装 build-essential 软件包。 
sudo apt-get install build-essential


附录:对于build-essential的解释:

linux操作系统上面开发程序, 光有了gcc/g++ 是不行的,它还需要一个 build-essential软件包,该包是一个meta package,包含了许多与编译有关的软件包,作用是提供编译程序必须软件包的列表信息。

也就是说 编译程序有了这个软件包,它才知道 头文件在哪 才知道库函数在哪,还会下载依赖的软件包   最后才组成一个开发环境。
当然 build-essential包 安装时 需要的依赖包 有些你用不上,用build-essential 只不过方便管理罢了!


二进制安装包安装

bin或run或sh文件或没有扩展名的文件安装(需要安装的二进制包installer)

此类型为Linux通用的2进制安装包,可能只对应x86,也可能包括x86-64支持(64位系统支持)
首先鼠标操作,在“属性”把文件权限更改为“可以执行”。 命令行界面操作也可, 然后运行, 命令行则是到那个目录下 ./文件名 (.bin或.run) 或 sh ***.sh 例子: ./realplayer.bin ./install.run sh setup.sh


参考资料:

软件安装指南 

Ubuntu软件安装指南:dpkg、apt 与源码包安装,布布扣,bubuko.com

Ubuntu软件安装指南:dpkg、apt 与源码包安装

标签:dpkg   apt   linux   build-essential   软件包安装   

原文地址:http://blog.csdn.net/acema/article/details/25562971

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!