ubuntu 源码安装


 使用了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编译好的文件分配到他们该去的目录下。

原文地址:https://www.cnblogs.com/yujinghui/p/2697554.html