====Linux软件包====
Linux系统中,软件通常以源代码或者预编译包的形式提供。
- 软件的源代码通常需要编译为二进制代码才可使用,安装比较耗时。用户可以自行调节编译选项,决定需要的功能或组件,或者针对硬件平台作一些优化
- 预编译包通常由软件发布者进行编译,用户只要将预编译包拷贝到系统中即可。考虑到预编译包的通用性,预编译包一般不会针对某种硬件平台优化,所包含的功能和组件也是通用的组合。
- ubuntu系统中,软件通常以deb格式的包发布,它是一种预编译包
====Linux DPKG命令====
deb包命令遵循如下约定:
soft_ver-rev_arch.deb
soft:软件包名称
ver:软件版本号
rev:ubuntu修订版本号
arch:目标架构名称
使用dpkg命令来管理deb包
dpkg -i :安装deb软件包
dpkg -r : 删除软件包
dpkg -r -P :连同配置文件一起删除
dpkg -I : 查看软件包信息
dpkg -L : 查看包内文件
dpkg -l : 查看系统中已安装软件包信息
dpkg-reconfigure xxx 重新配置软件包
dpkg -r : 删除软件包
dpkg -r -P :连同配置文件一起删除
dpkg -I : 查看软件包信息
dpkg -L : 查看包内文件
dpkg -l : 查看系统中已安装软件包信息
dpkg-reconfigure xxx 重新配置软件包
同时安装多个软件包:
dpkg -i aaa.deb bbb.deb ccc.deb
====Linux apt命令====
如果一个软件依赖关系过于复杂,使用dpkg安装就不是一个明智的选择,这个时候就需要用到apt软件包管理系统。apt可以自动检查依赖关系,通过您预设的方式来获得相关软件包,并且自动安装和配置它
apt至少需要一个软件信息数据库和至少一个存放大量deb的软件仓库,我们称之为“源”,源可以是网络服务器、CD或者本地仓库,需要修改/etc/apt/sources.list文件,使apt系统能够连接到源。
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 :搜索软件包
-d 仅下载
-f 强制安装
apt-get remove xxx :卸载xxx
apt-get update :更新软件信息数据库
apt-get upgrade :进行系统升级
apt-cache search :搜索软件包
建议经常使用 sudo apt-get update 命令来更新您的软件信息数据库
====源码包====
在少数情况下,例如某软件没有以deb包的格式发布,或者需要定制适合自己的软件,可以通过编译源代码的方式安装它。
源码目录中通常有一个 configure 脚本,用来配置即将开始的编译过程。您可以执行它
sudo ./configure [--prefix=/usr/loca/xxx ......]
sudo ./configure [--prefix=/usr/loca/xxx ......]
它会自动检测软件的编译环境和依赖关系,并且生成 Makefile 文件。
使用带参数的命令 ./configure --help ,或者阅读 INSTALL 文件,查看该脚本允许的参数。例如使用
--prefix=/usr/local/xxx 参数,将软件的安装目录设定为 /usr/local/xxx/ 。(如果一定要将软件安装在单独目录下,建议您安装在这里)
--prefix=/usr/local/xxx 参数,将软件的安装目录设定为 /usr/local/xxx/ 。(如果一定要将软件安装在单独目录下,建议您安装在这里)
使用make命令,系统会根据Makefile文件中的设定,通过make工具调用编译器和所需的资源文件,将源代码编译成目标文件
再调用make install命令,make工具会自动连接目标文件和库文件,将最终生成的文件拷贝到Makefile文件设定的路径中,并完成更改文件的的属性,删除残留文件的活动
编译安装完成后,为了更方便使用它,需要给程序的可执行文件做一个符号链接
sudo ln -sf /usr/local/xxx/可执行文件 /usr/local/bin/可执行文件