Linux软件的安装与卸载
参考:
通常Linux应用软件的安装包有三种:
- tar包,如software-1.2.3-1.tar.gz。它是使用UNIX系统的打包工具tar打包的。
- rpm包,如software-1.2.3-1.i386.rpm。它是Redhat Linux提供的一种包封装格式。
- dpkg包,如software-1.2.3-1.deb。它是Debain Linux提供的一种包封装格式。
(如:搜狗输入法:sogoupinyin_2.1.0.0082_amd64.deb)
大多数Linux应用软件包的命名也有一定的规律,它遵循:
名称-版本-修正版-类型
例如:
- software-1.2.3-1.tar.gz 意味着:
- 软件名称:software
- 版本号:1.2.3
- 修正版本:1
- 类型:tar.gz,说明是一个tar包。
- sfotware-1.2.3-1.i386.rpm
- 软件名称:software
- 版本号:1.2.3
- 修正版本:1
- 可用平台:i386,适用于Intel 80x86平台。
- 类型:rpm,说明是一个rpm包。
- 对于software-1.2.3-1.deb就请大家自己练习一下。
通常,用tar打包的,都是源程序;而用rpm、dpkg打包的则常是可执行程序
1.“dpkg ”是“Debian Packager ”的简写
安装.deb文件,可以直接双击安装,跟windows的.exe一样,如搜狗输入法:sogoupinyin_2.1.0.0082_amd64.deb,可以直接在软件中心下载的软件和下载的大多数成熟的商业软件都属于这个,越来越方便了...?
安装 dpkg –i deb软件包名 如: dpkg –i software-1.2.3-1.deb
卸载 dpkg –e 软件名 如: dpkg –e software
Dpkg 使用文本文件来作为数据库.通称在 /var/lib/dpkg
目录下. 通称在 status 文件中存储软件状态,和控制信息. 在 info/ 目录下备份控制文件, 并在其下的 .list 文件中记录安装文件清单
dpkg --info "软件包名" --列出软件包解包后的包名称.
dpkg -l 列出当前系统中所有的包.可以和参数less一起使用在分屏查看. (类似于rpm -qa)dpkg -l |grep -i "软件包名" --查看系统中与"软件包名"相关联的包.dpkg -s 查询已安装的包的详细信息.dpkg -L 查询系统中已安装的软件包所安装的位置. (类似于rpm -ql)dpkg -S 查询系统中某个文件属于哪个软件包. (类似于rpm -qf)dpkg -I 查询deb包的详细信息,在一个软件包下载到本地之后看看用不用安装(看一下呗).dpkg -i 手动安装软件包(这个命令并不能解决软件包之前的依赖性问题),如果在安装某一个软件包的时候遇到了软件依赖的问题,可以用apt-get -f install在解决信赖性这个问题.dpkg -r 卸载软件包.不是完全的卸载,它的配置文件还存在.dpkg -P 全部卸载(但是还是不能解决软件包的依赖性的问题)dpkg -reconfigure 重新配置
安装: rpm –ivh rpm软件包名 ,如: rpm –ivh software-1.2.3-1.i386.rpm
卸载: rpm –e 软件名 如: rpm –e software
详细请参考
3.tar打包的应用软件
-
安装
整个安装过程可以分为以下几步:
- 取得应用软件:通过下载、购买光盘的方法获得;
- 解压缩文件:一般tar包,都会再做一次压缩,如gzip、bz2等,所以你需要先解压。如果是最常见的gz格式,则可以执行:“tar –xvzf 软件包名”,就可以一步完成解压与解包工作。如果不是,则先用解压软件,再执行“tar –xvf 解压后的tar包”进行解包;tar解压时,可以设置解压目录的,默认为。
- 阅读附带的INSTALL文件、README文件;
- 执行“./configure”命令为编译做好准备;
- 执行“make”命令进行软件编译;
- 执行“make install”完成安装;
- 执行“make clean”删除安装时产生的临时文件。
所以我们举这个例子中,fcitx如果定制安装到 /opt/fcitx目录中,完整的安装方法应该是:
[root@localhost fcitx]# tar jxvf fcitx-3.2-050827.tar.bz2 [root@localhost fcitx]#cd fcitx [root@localhost fcitx]# ./configure --prefix=/opt/fcitx [root@localhost fcitx]# make [root@localhost fcitx]# make install卸载:
有些软件包的源代码在编译安装后可以用make install命令来进行卸载,如果不提供此功能,则软件的卸载必须手动删除。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净, 那你应该在编译前进行配置,指定软件将要安装到目标路径:./configure --prefix=目录名,这样可以使用“rm -rf 软件目录名”命令来进行干净彻底的卸载。与其它安装方式相比,需要用户自己编译安装是最难的,它适合于使用Linux已有一定经验的人,一般不推荐初学者 使用。
4.apt-get
最重要最常用的, apt-get命令只能用于在repositories中的包,即Ubuntu 官方源中就有这个程序,不能用于处理自己下载的deb包,也可以用在下方第五条所加的PPA源
平时apt-get install安装软件时,下载的deb文件都会存放在/var/cache/apt/archives/下
apt-cache search # ------(package 搜索包)apt-cache show #------(package 获取包的相关信息,如说明、大小、版本等)apt-get install # ------(package 安装包)apt-get install # -----(package --reinstall 重新安装包)apt-get -f install # -----(强制安装, "-f = --fix-missing"当是修复安装吧...)apt-get remove #-----(package 删除包)apt-get remove --purge # ------(package 删除包,包括删除配置文件等)apt-get autoremove --purge # ----(package 删除包及其依赖的软件包+配置文件等(只对6.10有效,强烈推荐))apt-get update #------更新源apt-get upgrade #------更新已安装的包apt-get dist-upgrade # ---------升级系统apt-get dselect-upgrade #------使用 dselect 升级apt-cache depends #-------(package 了解使用依赖)apt-cache rdepends # ------(package 了解某个具体的依赖,当是查看该包被哪些包依赖吧...)apt-get build-dep # ------(package 安装相关的编译环境)apt-get source #------(package 下载该包的源代码)apt-get clean && apt-get autoclean # --------清理下载文件的存档 && 只清理过时的包apt-get check #-------检查是否有损坏的依赖dpkg -S filename -----查找filename属于哪个软件包apt-file search filename -----查找filename属于哪个软件包apt-file list packagename -----列出软件包的内容apt-file update --更新apt-file的数据库 Tips:建议您经常使用“apt-get update”命令来更新您的软件信息数据库
APT 的几个图形前端(其中一些在使用前得先安装):
dselectconsole-aptaptitudegnome-apt这里 dselect 无疑是最强大的,也是最古老,最难驾驭。
5.PPA
Using a Personal Package Archive (PPA), you can distribute software and updates directly to Ubuntu users. Create your source package, upload it and Launchpad will build binaries and then host them in your own apt repository.
That means Ubuntu users can install your packages in just the same way they install standard Ubuntu packages and they'll automatically receive updates as and when you make them.
Every individual and team in Launchpad can have one or more PPAs, each with its own URL.
Packages you publish in your PPA will remain there until you remove them, they're superseded by another package that you upload or the version of Ubuntu against which they're built becomes obsolete.
安装方法:到 launchpad 上找到项目的主页,它的 overview 里一般都会有加源的详细说明。 找到 Adding this PPA to your system 的部分,记下该源的地址,比如:ppa:gwibber-daily/ppa 然后打开终端,输入: sudo add-apt-repository ppa:user/ppa-name(把 ppa:user/ppa-name换成你要找的源的地址) 最后, sudo apt-get update 例如:
也可以打开【软件中心】->【软件源】->【其他软件】,选择添加,在弹出的窗口中APT行里输入 ppa:user/ppa-name 格式的内容。
删除命令格式则为:sudo add-apt-repository -r ppa:user/ppa-name, 然后进入 /etc/apt/sources.list.d 目录,将相应 ppa 源的保存文件删除。 最后同样更新一下。