使用了ubuntu有一段时间了,安装软件基本上都是apt-get这样,后来用apt-get安装apache,之后删除了,想源码安装一个apache。可是发现apt-get并不能把apache完全的删除。这个让有点强迫症的我实在是受不了,但是之后又重新安装了一个ubuntu,也就没管那么多了,今天就来总结一下关于ubuntu安装软件的方法。
第一就是apt-get了,这个没什么说的。复制粘贴一下相关的命令:
apt-cache search package 搜索包,如果你不知道具体包名,先
sudo apt-cache search packagename 一下。
这个命令是常用的,必须记住
apt-cache show packagename 获取包的信息,版本,大小之类的
apt-get install packagename 安装包,这个命令是最常用的。
apt-get install pacekage --reinstall 重新安装
apt-get -f install packagename 强行安装
apt-get remove packagename remove alread package softe
apt-get remove packagename --pure remove and all 安装了要干净的卸掉
apt-get autoremove 自动删除不要的包
apt-get update
apt-get upgrade 更新已经安装的包
apt-get dist-upgrade 升级系统,没用过,
apt-cache depends pacakgename 了解使用的依赖,很少用
apt-cache rdepends packagename 了解具体的依赖。
apt-get build-dep packagename 安装相关的编译环境。 这个有时需要用。
apt-get source package 下载安装该包的源码, 编程时有时需要看(实际上有几个人看呢?)
apt-get clean
apt-get autoclean 清理下载文件存档。 常用,这个在安装完后,有时需要把下载的包给清除掉,毕竟不想让空间无谓的塞满不需要的东西吧。
apt-get check 检查是否有损坏的依赖。 很少用。
以上调用该命令时,都必须在sudo后运行,sudo缩写为supper do,而apt表示是
advanced pacakge Tool.
复制粘贴于 http://www.cnitblog.com/kenlistian/archive/2008/04/05/41991.html
后来在网上查了查,据说aptitude很不错,可以自动删除依赖包。但是只能删除自己下载的…… 以后装个什么软件就全靠他了,源码安装什么的虽然很好很专业,但是有时候真的很麻烦……
复制粘贴aptitude命令
用法: aptitude [-S 文件名] [-u|-i]
aptitude [选项] <动作> ...
动作 (如果未指定,aptitude 将进入交互模式):
install - 安装/升级软件包
remove - 卸载软件包
purge - 卸载软件包并删除其配置文件
hold - 将软件包置于保持状态
unhold - 取消对一个软件包的保持命令
markauto - 将软件包标记为自动安装
unmarkauto - 将软件包标记为手动安装
forbid-version - 禁止 aptitude 升级到某一特定版本的软件包。
update - 下载新/可升级软件包列表
safe-upgrade - Perform a safe upgrade
full-upgrade - Perform an upgrade, possibly installing and removing packages
forget-new - 忘记哪些软件包是“新”的
search - 按名称 和/或 表达式搜索软件包
show - 显示一个软件包的详细信息
clean - 删除已下载的软件包文件
autoclean - 删除旧的已下载软件包文件
changelog - 查看一个软件包的变更日志
download - 下载软件包的 .deb 文件
reinstall - 下载并(可能)重新安装一个现在已经安装了的软件包
选项:
-h 此帮助文本
-s 模拟动作,但是并不真正执行。
-d 仅仅下载软件包,不安装或者卸载任何东西。
-P 总是提示确认执行动作
-y 假设对简单的 是/否 问题回答“是”
-F 格式 指定显示搜索结果的格式;参见手册
-O 次序 指定如何排列显示搜索结果;参见手册
-w 宽度 指定显示搜索结果的格式宽度
-f 积极地尝试修复损坏的软件包。
-V 显示就要安装的软件包版本。
-D 显示自动改变的软件包的依赖关系
-Z 显示每个软件包的安装尺寸的变化。
-v 显示附加信息。(可能会提供多次)
-t [release] 设置将要安装的软件包的发布版本
-q 在命令行状态下,不显示进度条。
-o key=val 直接设置名为“key”的配置选项
--with(out)-recommends 指定是否将推荐(建议)处理为
强依赖关系。
-S fname 从文件名中读取aptitude的扩展状态信息。
-u 开始运行时下载新的软件包列表。
-i 开始运行时执行安装。
粘贴于http://hi.baidu.com/pizialiang/item/6f9049d9edaf29f8cb0c39c6
下面为源码安装,不管怎么自己能够掌握软件安装的位置还是很不错的事。以安装intltool为例:
1、解压intltool ,进入intltool里面,你会发现有一个叫做configure的shell文件。简单来说他就是打扫房子的,一个软件要入住新家总是要检查一下环境呢,如果少了什么(依赖包神马的)他会告诉你的。所以当你./configure的时候 你会发现,屏幕上出现好多字,xxxxxxx yes,xxxxxx no之类的。缺啥补啥。我们会经常看到 --prefix (前缀的意思),如果不指定prefix,则可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr /local/etc。其它的资源文件放在/usr/local/share。你要卸载这个程序,要么在原来的make目录下用一次make uninstall(前提是make文件指定过uninstall),要么去上述目录里面把相关的文件一个个手工删掉。指定prefix,直接删掉一个文件夹就够了。这样就不存在删不干净的问题了。然后当前的目录下面会出现 Makefile。其实,这个脚本真的应该做的就是建立一个 Makefile 文件。
一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作。make就是一个解释makefile中指令的命令工具。所以要使用make之前,一定要有makefile。make编译了所有的文件创造了可执行文件并存放在一个。当make添加了install参数时,make就会去找makefile中的install标签,执行这部分的标签的内容。把make编译好的文件分配到他们该去的目录下。