基础知识:
通常情况下,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 与源码包安装
原文:http://blog.csdn.net/acema/article/details/25562971