关于debian包管理器

67 views
Skip to first unread message

包乾

unread,
Jul 30, 2013, 9:46:56 AM7/30/13
to sh...@googlegroups.com
关于debian的包管理器,小弟还是有点糊里糊涂的地方。
(dpkg, aptitude, apt)

首先我知道dpkg是作为apt和aptitude的后端,实际执行包安装卸载的工作,而apt和aptitude则是作为前端,解析包依赖关系阿等等。我的问题是

1. apt和aptitude到底有啥不一样?我在google读了n多博客资料甚至debian的官方manual,莫衷一是。有人说两者完全不是一回事,有人说现在可以兼容着用,有人说apt好,有人说aptitude好,彻底糊涂。我不想知道哪个好,我只想知道他们到底是什么关系。

2. 我每次安装一个软件xxx,都会带来大量的依赖包。而这些依赖包,有些可能后来被其他的包也用到,有些则一直没有。有一天我想卸载xxx,以及所有只有他依赖于的包,我该如何做?

3. 在/var/log里apt, aptitude, dpkg都有自己的log,这些log我到底该看哪个??是不是我安装每个软件都要记住自己当时用的是dpkg,apt,还是aptitude?

4. 用源码直接编译的软件该 怎 么 管 理!

请各位大神赐教。。。

Yu Changyuan

unread,
Jul 30, 2013, 9:50:02 AM7/30/13
to sh...@googlegroups.com

aptitude算apt的前端吧,可以不装的。

--
-- You received this message because you are subscribed to the Google Groups Shanghai Linux User Group group. To post to this group, send email to sh...@googlegroups.com. To unsubscribe from this group, send email to shlug+un...@googlegroups.com. For more options, visit this group at https://groups.google.com/d/forum/shlug?hl=zh-CN
---
您收到此邮件是因为您订阅了 Google 网上论坛的“Shanghai Linux User Group”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 shlug+un...@googlegroups.com
要查看更多选项,请访问 https://groups.google.com/groups/opt_out。
 
 

Dennis Lan (dlan)

unread,
Jul 30, 2013, 10:10:59 AM7/30/13
to sh...@googlegroups.com


在 2013年7月30日 下午9:46,"包乾" <houke...@gmail.com>写道:
>
> 关于debian的包管理器,小弟还是有点糊里糊涂的地方。
> (dpkg, aptitude, apt)
>
> 首先我知道dpkg是作为apt和aptitude的后端,实际执行包安装卸载的工作,而apt和aptitude则是作为前端,解析包依赖关系阿等等。我的问题是
>
> 1. apt和aptitude到底有啥不一样?我在google读了n多博客资料甚至debian的官方manual,莫衷一是。有人说两者完全不是一回事,有人说现在可以兼容着用,有人说apt好,有人说aptitude好,彻底糊涂。我不想知道哪个好,我只想知道他们到底是什么关系。
>
> 2. 我每次安装一个软件xxx,都会带来大量的依赖包。而这些依赖包,有些可能后来被其他的包也用到,有些则一直没有。有一天我想卸载xxx,以及所有只有他依赖于的包,我该如何做?
>

我要是用debian,就不去想卸载
放弃洁癖

> 3. 在/var/log里apt, aptitude, dpkg都有自己的log,这些log我到底该看哪个??是不是我安装每个软件都要记住自己当时用的是dpkg,apt,还是aptitude?
>
> 4. 用源码直接编译的软件该 怎 么 管 理!
>
> 请各位大神赐教。。。
>

Dennis Lan (dlan)

unread,
Jul 30, 2013, 10:13:29 AM7/30/13
to sh...@googlegroups.com


在 2013年7月30日 下午9:46,"包乾" <houke...@gmail.com>写道:
>

比如gentoo,在安装时会去分析依赖关系
然后一个个装

包乾

unread,
Jul 30, 2013, 10:16:42 AM7/30/13
to sh...@googlegroups.com
可以稍微详细介绍一下在安装依赖关系包的时候debian和gentoo的行为区别么?我很感兴趣


2013/7/30 Dennis Lan (dlan) <denni...@gmail.com>

Zhang Cheng

unread,
Jul 30, 2013, 11:05:10 AM7/30/13
to sh...@googlegroups.com
你邮件里面提到的apt应该都换成apt-get。

并没有apt这个命令。dpkg可以认为跟rpm是类似的东西,它本身并不处理依赖,仅负责与.deb文件打交道,如将.deb包安装到系统里、将系统里某个包卸掉、处理deb包里的各项事宜(如config)。apt是包管理机制,这套机制提供了一套依赖关系机制和实现。apt-get、aptitude是apt包管理机制的交互工具,这两者互相兼容。其中apt-get是纯命令行的工具,aptitude既可以当纯命令行工具来使用,也可以不加参数启动一个ncurse界面来操作,如果熟悉aptitude的各种操作键,那么用aptitude是非常舒适的,可以非常方便的查看依赖关系、在有多种依赖解决方案时,可以便捷的选择方案。aptitude是我始终不愿意去使用其他发行版的主要原因。

至于装软件时会装一大堆依赖包的问题,debian里的依赖主要有三种:Depends、Recommends、Suggest。直观上可以理解为:Depends表示这个依赖必须要被安装;否则无法使用,Recommends表示强烈建议你把这个依赖也装上,否则你可能会用的不爽;Suggest表示推荐你也装一下这个包,不过不装也无所谓啦(一般-doc的包都会写在suggest里面)。而从实现上说,Depends的包是一定会被装上的,Recommends是在默认的情况下会同时被装上的,Suggest的包则除非特殊指定否则不会被装上的。使用apt-get时如果不想安装Recommends,可以这样:
apt-get install --no-install-recommends $pkg
使用aptitude的ncurse时,可以ctrl-t -> Options -> Preferences -> [ ] Install recommended packages automatically。

Debian的每个被安装的包有两种:manually和automatically,manually表示这个包是人明确指定要装的,automatically表示这个包并非人为指定,而是为了满足依赖而被装上的。当用户卸载一个包时,如果有automatical包没有其他包depends时,会被自动卸载。

debian包管理器管理的软件,起文件都分布在/usr/、/lib/等目录下。debian的所有包都会避开/usr/local/这个目录,这个目录设计的目的就是给用户自己安装软件用的。同时,debian还提供了一个很贴心的用户组staff(ubuntu没有),/usr/local/下的所有文件的group都是staff(并且/usr/local/这个目录本身的group属性有s标志,因此在其内新建的目录也会继承该组),属于staff组的用户可以直接读写该目录。因此,如果你的系统只有你一个人使用,或者你是某个多人使用系统的“小管理员”,你可以把自己加到staff组内,以后装软件(例如编译安装时),设置prefix为/usr/local,那么可以不用root,直接make install。
除了/usr/local/外,你也可以使用/opt/。不过根据我的经验,/opt/更多为一些第三方应用通过deb或者安装文件安装时的默认路径,比如google-chrome的deb默认装载/opt/下,Adobe Flash Media Server的installer默认装载/opt/下,等等。不过这个目录debian官方仓库里的软件肯定不会用,所以你也可以随便使用。

以上是对楼主的4个问题的回复。

这里多说一点,aptitude相比apt-get更灵活的地方,我个人觉得在选择依赖时非常方便。今天正好碰到个例子,有人(在ubuntu 10.04上)要装php5-mysql,结果发现一堆apache的包也被依赖上了。我通过aptitude发现,php5-mysql的依赖phpapi这个包,phpapi是个需包,许多其他包provides phpapi,比如libapache2-mod-php5, php5-cgi, php5-cli等,也就是说只要装其中某一个,就相当于你装了phpapi,于是apt-get默认选择了第一个。在aptitude中可以非常清楚的看到这个依赖关系,于是(根据我的实际需求)选择了安装php5-cgi,避开了apache。这是一个依赖选择的例子,除此之外,还有发生冲突时,aptitude也会给你提供多个解决方案,用非常直观方式的选择。因此,个人比较建议,如果用debian/ubuntu的话,稍微花些时间熟悉一下aptitude是很值得的,有些时候会省很多事。





2013/7/30 包乾 <houke...@gmail.com>

--
-- You received this message because you are subscribed to the Google Groups Shanghai Linux User Group group. To post to this group, send email to sh...@googlegroups.com. To unsubscribe from this group, send email to shlug+un...@googlegroups.com. For more options, visit this group at https://groups.google.com/d/forum/shlug?hl=zh-CN
---
您收到此邮件是因为您订阅了 Google 网上论坛的“Shanghai Linux User Group”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 shlug+un...@googlegroups.com
要查看更多选项,请访问 https://groups.google.com/groups/opt_out。
 
 



--
Cheng,
Best Regards

Dennis Lan (dlan)

unread,
Jul 30, 2013, 11:08:36 AM7/30/13
to sh...@googlegroups.com
2013/7/30 包乾 <houke...@gmail.com>:
> 可以稍微详细介绍一下在安装依赖关系包的时候debian和gentoo的行为区别么?我很感兴趣

debianw我不清楚

gentoo的依赖关系,按照目前的EAPI分两种,a)DEPEND(编译依赖,compile-time)
b)RDEPEND(运行依赖,run-time),有讨论引入其他依赖,不过迟迟未定
具体可以看看这个
http://devmanual.gentoo.org/general-concepts/dependencies/index.html

Yu Changyuan

unread,
Jul 30, 2013, 11:14:39 AM7/30/13
to sh...@googlegroups.com

ot一下,看到楼上的回复,不由想起当年混源用debian,然后用aptitude修conflict的日子。

ps:对前面关于apt和aptitude的说法的不准确性表示歉意(中文里面好像不能说自己表示歉意?)

Feng Helong

unread,
Jul 30, 2013, 11:18:23 AM7/30/13
to sh...@googlegroups.com
有依赖不满足可以apt-get install -f 来解决

Zhang Cheng

unread,
Jul 30, 2013, 11:24:44 AM7/30/13
to sh...@googlegroups.com
2013/7/30 Dennis Lan (dlan) <denni...@gmail.com>
我要是用debian,就不去想卸载
放弃洁癖

​要说洁癖,个人觉得debian比gentoo干净多了。我并不想引起口水战,只说说一些我个人的理解,也可能有错误的地方,欢迎大家指出。
* debian常常会将一个软件分成多个包:二进制包、libxxx、-dev、-dbg、-doc等等,其中
  - 二进制包,一般仅提供相关的二进制程序和manpage等
  - 如果这个二进制程序提供了静态库供其他项目使用,那么其静态库和相应​的头文件会放在-dev包里
  - 如果这个二进制程序还提供了动态链接库给其他项目使用,那么一般会有一个libxxx的包
  - 许多项目编译时都可以生成一个含有dbg信息的二进制文件,方便用户调试使用,这个二进制文件放在-dbg包中
  - 有些项目,其文档比较大,就可能会被放到单独的一个-doc包中
  + debian将一个包分的这么细,就是为了让用户可以装更少的东西,我不需要这个项目提供的.a文件、.h文件,那我就不需要装-dev包,我不需要文档,也可以不装-doc包,从而达到节省空间的目的。
* debian的依赖还分编译依赖和使用依赖。许多软件会依赖一大堆其他的库,因此在编译时需要这些库的头文件或者.a文件,而运行的时候并不需要这些文件(或者仅需要一些.so文件),这些文件一般都在-dev包里提供,安装的时候就不需要被依赖上。而gentoo,因为要在本地编译,因此许多静态链接的库的文件也不得不都装到系统里。
* 许多人觉得debian的依赖很搓,依赖一大堆东西,我想主要原因是一些包的打包者写的依赖关系并不好,或者有些情况是用户并没有理解打包者的意图。
  - 例如gnome这个包,这是一个meta包,它本身不提供任何实质的东西,仅提供依赖关系。这个包的依赖写的比较多,它(他们)的目的是,用户装上之后肯定能用,许多常见的软件都会被依赖上。
* 当然,说到洁癖,gentoo的use机制确实让debian用户很羡慕。比如我不用蓝牙,但是debian的gnome的一些核心包在编译时都依赖了蓝牙,因此一些蓝牙的包我不得不装上。debian这种二进制发行版(预编译)的缺点就是无法为用户提供足够多的flavor。这应该是许多人觉得debian“不够洁癖”的主要原因。



--
Cheng,
Best Regards

Zhang Cheng

unread,
Jul 30, 2013, 11:29:14 AM7/30/13
to sh...@googlegroups.com

2013/7/30 Yu Changyuan <rei...@gmail.com>

ot一下,看到楼上的回复,不由想起当年混源用debian,然后用aptitude修conflict的日子。


​呵呵,只要把依赖关系搞清楚了,混用源没有啥压力。激进的debian用户一般都会混用unstable和experimental源。而有些情况下(比如我现在不想升级到gnome 3.8,只想停在3.4,在新装的系统上)会混用debian snapshots仓库,完全没有问题。如果debian能提供一个仓库,这个仓库里有每个软件的所有历史版本的话就更好了,降级软件、选择特定版本都会变得非常方便。​



--
Cheng,
Best Regards

Feng Helong

unread,
Jul 30, 2013, 11:29:55 AM7/30/13
to sh...@googlegroups.com
apt-get 中的upgrade和dist-upgrade命令在aptitude中变成了safe-upgrade和full-upgrade
aptitude中不止具备了apt-get的一些功能,还包括了apt-cache apt-mark等
aptitude中的why,whynot命令可以让你查询到你安装或者卸载的软件的一些依赖问题
如果你安装,卸载,更新软件引入了冲突,aptitude会给你一些建议,而apt-get只是会告诉你,你不能这么做

aptitude不是还有图形界面么,虽然没怎么用。。

Feng Helong

unread,
Jul 30, 2013, 11:33:09 AM7/30/13
to sh...@googlegroups.com
gentoo的包管理确实很好,而且还可以对单独的包使用USE,而不是全局的


--

Zhang Cheng

unread,
Jul 30, 2013, 11:41:15 AM7/30/13
to sh...@googlegroups.com

2013/7/30 Feng Helong <fenghel...@gmail.com>

apt-get 中的upgrade和dist-upgrade命令在aptitude中变成了safe-upgrade和full-upgrade
aptitude中不止具备了apt-get的一些功能,还包括了apt-cache apt-mark等
aptitude中的why,whynot命令可以让你查询到你安装或者卸载的软件的一些依赖问题
如果你安装,卸载,更新软件引入了冲突,aptitude会给你一些建议,而apt-get只是会告诉你,你不能这么做

aptitude不是还有图形界面么,虽然没怎么用。。

​你说的aptitude的图形界面,应该就是指ncurse界面吧。说实话,用aptitude的ncurse界面,从来都用不着记各种命令、参数,同时所有的操作都会很有数。比如升级软件,一般在aptitude中按U,然后g看一下哪些包会被升级、安装、卸载,心里都有数,如果感觉不满意,可以重新调整策略。对于有冲突时,一方面可以按e,aptitude提供了若干方案,让你自由选择,另一方面也可以按b跳转到有冲突的包上,查看具体的冲突原因,以方便人为处理。

再ot远一些,apt-file这个工具我也非常喜欢,主要是两个功能,查看一个包提供了哪些文件、查看一个文件由哪个包提供。比如我总是记不住hg这个命令的包名,于是
$ apt-file search -x bin/hg$​
mercurial: /usr/bin/hg



--
Cheng,
Best Regards

xiyoulaoyuanjia

unread,
Jul 30, 2013, 11:55:37 AM7/30/13
to sh...@googlegroups.com
在 2013年7月30日下午11:05,Zhang Cheng <steph...@gmail.com>写道:
你邮件里面提到的apt应该都换成apt-get。

并没有apt这个命令。dpkg可以认为跟rpm是类似的东西,它本身并不处理依赖,仅负责与.deb文件打交道,如将.deb包安装到系统里、将系统里某个包卸掉、处理deb包里的各项事宜(如config)。apt是包管理机制,这套机制提供了一套依赖关系机制和实现。apt-get、aptitude是apt包管理机制的交互工具,这两者互相兼容。其中apt-get是纯命令行的工具,aptitude既可以当纯命令行工具来使用,也可以不加参数启动一个ncurse界面来操作,如果熟悉aptitude的各种操作键,那么用aptitude是非常舒适的,可以非常方便的查看依赖关系、在有多种依赖解决方案时,可以便捷的选择方案。aptitude是我始终不愿意去使用其他发行版的主要原因。

至于装软件时会装一大堆依赖包的问题,debian里的依赖主要有三种:Depends、Recommends、Suggest。直观上可以理解为:Depends表示这个依赖必须要被安装;否则无法使用,Recommends表示强烈建议你把这个依赖也装上,否则你可能会用的不爽;Suggest表示推荐你也装一下这个包,不过不装也无所谓啦(一般-doc的包都会写在suggest里面)。而从实现上说,Depends的包是一定会被装上的,Recommends是在默认的情况下会同时被装上的,Suggest的包则除非特殊指定否则不会被装上的。使用apt-get时如果不想安装Recommends,可以这样:
apt-get install --no-install-recommends $pkg
使用aptitude的ncurse时,可以ctrl-t -> Options -> Preferences -> [ ] Install recommended packages automatically。

Debian的每个被安装的包有两种:manually和automatically,manually表示这个包是人明确指定要装的,automatically表示这个包并非人为指定,而是为了满足依赖而被装上的。当用户卸载一个包时,如果有automatical包没有其他包depends时,会被自动卸载。

debian包管理器管理的软件,起文件都分布在/usr/、/lib/等目录下。debian的所有包都会避开/usr/local/这个目录,这个目录设计的目的就是给用户自己安装软件用的。同时,debian还提供了一个很贴心的用户组staff(ubuntu没有),/usr/local/下的所有文件的group都是staff(并且/usr/local/这个目录本身的group属性有s标志,因此在其内新建的目录也会继承该组),属于staff组的用户可以直接读写该目录。因此,如果你的系统只有你一个人使用,或者你是某个多人使用系统的“小管理员”,你可以把自己加到staff组内,以后装软件(例如编译安装时),设置prefix为/usr/local,那么可以不用root,直接make install。
除了/usr/local/外,你也可以使用/opt/。不过根据我的经验,/opt/更多为一些第三方应用通过deb或者安装文件安装时的默认路径,比如google-chrome的deb默认装载/opt/下,Adobe Flash Media Server的installer默认装载/opt/下,等等。不过这个目录debian官方仓库里的软件肯定不会用,所以你也可以随便使用。

以上是对楼主的4个问题的回复。

这里多说一点,aptitude相比apt-get更灵活的地方,我个人觉得在选择依赖时非常方便。今天正好碰到个例子,有人(在ubuntu 10.04上)要装php5-mysql,结果发现一堆apache的包也被依赖上了。我通过aptitude发现,php5-mysql的依赖phpapi这个包,phpapi是个需包,许多其他包provides phpapi,比如libapache2-mod-php5, php5-cgi, php5-cli等,也就是说只要装其中某一个,就相当于你装了phpapi,于是apt-get默认选择了第一个。在aptitude中可以非常清楚的看到这个依赖关系,于是(根据我的实际需求)选择了安装php5-cgi,避开了apache。这是一个依赖选择的例子,除此之外,还有发生冲突时,aptitude也会给你提供多个解决方案,用非常直观方式的选择。因此,个人比较建议,如果用debian/ubuntu的话,稍微花些时间熟悉一下aptitude是很值得的,有些时候会省很多事。

很详细,谢谢... 


--
继续上路。。

YunQiang Su

unread,
Jul 30, 2013, 2:19:23 PM7/30/13
to sh...@googlegroups.com
赞张成耐心,如果用Debian的话,
packages.debian.org 这个网站很好用。

2013/7/30 xiyoulaoyuanjia <xiyoula...@gmail.com>:
> --
> -- You received this message because you are subscribed to the Google Groups
> Shanghai Linux User Group group. To post to this group, send email to
> sh...@googlegroups.com. To unsubscribe from this group, send email to
> shlug+un...@googlegroups.com. For more options, visit this group at
> https://groups.google.com/d/forum/shlug?hl=zh-CN
> ---
> 您收到此邮件是因为您订阅了 Google 网上论坛的“Shanghai Linux User Group”论坛。
> 要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 shlug+un...@googlegroups.com
> 要查看更多选项,请访问 https://groups.google.com/groups/opt_out
>
>



--
YunQiang Su

Yu Changyuan

unread,
Jul 30, 2013, 6:22:52 PM7/30/13
to sh...@googlegroups.com

gentoo的portage也是有坑的,说起来满眼都是泪啊。

每满更新系统心中都默默地祈祷:
更新前祈祷要更新的包里面不要有gcc,
更新中祈祷要single pass, 不要build fail,
更新结束祈祷这次更新不要broken太多package,revdep-rebuild几百个包

更不要提更新grub,内核(这个其实还好),udev(网卡名字改得真纠结)这些容易中枪的包了。

起来

AR (aka AleiPhoenix)

unread,
Jul 30, 2013, 9:11:01 PM7/30/13
to sh...@googlegroups.com
2013/7/31 Yu Changyuan <rei...@gmail.com>

gentoo的portage也是有坑的,说起来满眼都是泪啊。

每满更新系统心中都默默地祈祷:
更新前祈祷要更新的包里面不要有gcc,
更新中祈祷要single pass, 不要build fail,
更新结束祈祷这次更新不要broken太多package,revdep-rebuild几百个包

更不要提更新grub,内核(这个其实还好),udev(网卡名字改得真纠结)这些容易中枪的包了。


debian用起来确实比较安逸,不过对于某这种懒人不遇到问题不解决来说,只能自己折腾gentoo/LFS来深入了解一些东西。
 

portage里gcc stable的版本也不是时常更新,也不用每次一绿就更新...按照需要来就好(比如在VPS上某就直接把sys-devel/gcc给mask了)

一般不是很奇葩的pkg,一般都一次性过了,除非踏进了distcc之类的坑...

revdep-rebuild倒是真挺烦的,由于不少编译链接都是直接链接版本文件于是....


至于GRUB、udev之类的, eselect news里有读过的话也会知道有升级。某感觉这其实是在黑archlinux XDDDD


gcc是小事.... chromium才坑呢...

但要数坑起来,gentoo-alt/gentoo-prefix才是真正的坑...


--
Silence is golden.

twitter: @AccelReality
wikipedia: AleiPhoenix
blog: weblog.areverie.org
wiki: wiki.areverie.org

tlze

unread,
Jul 30, 2013, 10:04:28 PM7/30/13
to sh...@googlegroups.com
2013/7/31 AR (aka AleiPhoenix) <aleip...@gmail.com>:
> 2013/7/31 Yu Changyuan <rei...@gmail.com>
>>
>> gentoo的portage也是有坑的,说起来满眼都是泪啊。
>>
>> 每满更新系统心中都默默地祈祷:
>> 更新前祈祷要更新的包里面不要有gcc,
>> 更新中祈祷要single pass, 不要build fail,
>> 更新结束祈祷这次更新不要broken太多package,revdep-rebuild几百个包
>>
>> 更不要提更新grub,内核(这个其实还好),udev(网卡名字改得真纠结)这些容易中枪的包了。
>
>
> debian用起来确实比较安逸,不过对于某这种懒人不遇到问题不解决来说,只能自己折腾gentoo/LFS来深入了解一些东西。
>
>
> portage里gcc
> stable的版本也不是时常更新,也不用每次一绿就更新...按照需要来就好(比如在VPS上某就直接把sys-devel/gcc给mask了)
>
> 一般不是很奇葩的pkg,一般都一次性过了,除非踏进了distcc之类的坑...
>
> revdep-rebuild倒是真挺烦的,由于不少编译链接都是直接链接版本文件于是....
>
>
> 至于GRUB、udev之类的, eselect news里有读过的话也会知道有升级。某感觉这其实是在黑archlinux XDDDD
>
>
> gcc是小事.... chromium才坑呢...
>
> 但要数坑起来,gentoo-alt/gentoo-prefix才是真正的坑...
>

“gcc是小事.... chromium才坑呢...”
感触良多。已经很久不编译chromium了。

包乾

unread,
Jul 30, 2013, 10:11:20 PM7/30/13
to sh...@googlegroups.com

感谢zhangcheng哥耐心解释!太棒了!我好好消化一下

2013/07/31 0:05 "Zhang Cheng" <steph...@gmail.com>:

包乾

unread,
Jul 30, 2013, 11:09:36 PM7/30/13
to sh...@googlegroups.com

感谢关于包类型的解说,这些经验信息太重要了!然而一般网上却没有

2013/07/31 0:24 "Zhang Cheng" <steph...@gmail.com>:
--

Yu Changyuan

unread,
Jul 30, 2013, 11:59:57 PM7/30/13
to sh...@googlegroups.com

关于chromium,早就改用binary的chrome了。
ps:刚到mac air, 有人熟gentoo prefix吗?

Yu Changyuan

unread,
Jul 31, 2013, 12:03:36 AM7/31/13
to sh...@googlegroups.com

补充一下,现在desktop上gcc确实不是什么大事了,但是在arm(armhf,beaglebone的板子)上就不是了。

AR (aka AleiPhoenix)

unread,
Jul 31, 2013, 12:18:00 AM7/31/13
to sh...@googlegroups.com
2013/7/31 Yu Changyuan <rei...@gmail.com>

补充一下,现在desktop上gcc确实不是什么大事了,但是在arm(armhf,beaglebone的板子)上就不是了。


为啥不用binary的? 

Dennis Lan (dlan)

unread,
Jul 31, 2013, 12:50:18 AM7/31/13
to sh...@googlegroups.com
你要不去gentoo-alt的maillist上问?估计这边很少人会用prefix

http://www.gentoo.org/proj/en/gentoo-alt/prefix/
http://wiki.gentoo.org/wiki/Prefix/libc


2013/7/31 Yu Changyuan <rei...@gmail.com>:

AR (aka AleiPhoenix)

unread,
Jul 31, 2013, 1:01:05 AM7/31/13
to sh...@googlegroups.com
2013/7/31 Dennis Lan (dlan) <denni...@gmail.com>
你要不去gentoo-alt的maillist上问?估计这边很少人会用prefix

http://www.gentoo.org/proj/en/gentoo-alt/prefix/
http://wiki.gentoo.org/wiki/Prefix/libc

gentoo-alt 的mailling list人也比较少,发是可以发,估计得等一阵子。

IRC更快一点。

Todd Gao

unread,
Aug 1, 2013, 1:00:34 AM8/1/13
to sh...@googlegroups.com
我的习惯是能下binary的,不用apt-get,也不用source code

ubuntu的包管理太不喜欢


2013/7/31 AR (aka AleiPhoenix) <aleip...@gmail.com>
2013/7/31 Dennis Lan (dlan) <denni...@gmail.com>

--
-- You received this message because you are subscribed to the Google Groups Shanghai Linux User Group group. To post to this group, send email to sh...@googlegroups.com. To unsubscribe from this group, send email to shlug+un...@googlegroups.com. For more options, visit this group at https://groups.google.com/d/forum/shlug?hl=zh-CN
---
您收到此邮件是因为您订阅了 Google 网上论坛的“Shanghai Linux User Group”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 shlug+un...@googlegroups.com
要查看更多选项,请访问 https://groups.google.com/groups/opt_out。
 
 



--
Todd Gao
An Android Developer

Ben Luo

unread,
Aug 1, 2013, 1:13:37 AM8/1/13
to shlug
正好和我相反。不能 apt-get install 的坚决不用。

2013/8/1 Todd Gao <ggt0...@gmail.com>:

依云

unread,
Sep 10, 2013, 11:34:17 AM9/10/13
to sh...@googlegroups.com
感谢 Zhang Cheng 啦,终于知道了 apt-get 和 aptitude 的差别了~

On Tue, Jul 30, 2013 at 11:05:10PM +0800, Zhang Cheng wrote:
> 你邮件里面提到的apt应该都换成apt-get。
>
> 并没有apt这个命令。dpkg可以认为跟rpm是类似的东西,它本身并不处理依赖,仅负责与.deb文件打交道,如将.deb包安装到系统里、将系统里某个包卸掉、处理deb包里的各项事宜(如config)。apt是包管理机制,这套机制提供了一套依赖关系机制和实现。apt-get、aptitude是apt包管理机制的交互工具,这两者互相兼容。其中apt-get是纯命令行的工具,aptitude既可以当纯命令行工具来使用,也可以不加参数启动一个ncurse界面来操作,如果熟悉aptitude的各种操作键,那么用aptitude是非常舒适的,可以非常方便的查看依赖关系、在有多种依赖解决方案时,可以便捷的选择方案。aptitude是我始终不愿意去使用其他发行版的主要原因。
>
> 至于装软件时会装一大堆依赖包的问题,debian里的依赖主要有三种:Depends、Recommends、Suggest。直观上可以理解为:Depends表示这个依赖必须要被安装;否则无法使用,Recommends表示强烈建议你把这个依赖也装上,否则你可能会用的不爽;Suggest表示推荐你也装一下这个包,不过不装也无所谓啦(一般-doc的包都会写在suggest里面)。而从实现上说,Depends的包是一定会被装上的,Recommends是在默认的情况下会同时被装上的,Suggest的包则除非特殊指定否则不会被装上的。使用apt-get时如果不想安装Recommends,可以这样:
> apt-get install --no-install-recommends $pkg
> 使用aptitude的ncurse时,可以ctrl-t -> Options -> Preferences -> [ ] Install
> recommended packages automatically。
>
> Debian的每个被安装的包有两种:manually和automatically,manually表示这个包是人明确指定要装的,automatically表示这个包并非人为指定,而是为了满足依赖而被装上的。当用户卸载一个包时,如果有automatical包没有其他包depends时,会被自动卸载。
>
> debian包管理器管理的软件,起文件都分布在/usr/、/lib/等目录下。debian的所有包都会避开/usr/local/这个目录,这个目录设计的目的就是给用户自己安装软件用的。同时,debian还提供了一个很贴心的用户组staff(ubuntu没有),/usr/local/下的所有文件的group都是staff(并且/usr/local/这个目录本身的group属性有s标志,因此在其内新建的目录也会继承该组),属于staff组的用户可以直接读写该目录。因此,如果你的系统只有你一个人使用,或者你是某个多人使用系统的“小管理员”,你可以把自己加到staff组内,以后装软件(例如编译安装时),设置prefix为/usr/local,那么可以不用root,直接make
> install。
> 除了/usr/local/外,你也可以使用/opt/。不过根据我的经验,/opt/更多为一些第三方应用通过deb或者安装文件安装时的默认路径,比如google-chrome的deb默认装载/opt/下,Adobe
> Flash Media
> Server的installer默认装载/opt/下,等等。不过这个目录debian官方仓库里的软件肯定不会用,所以你也可以随便使用。
>
> 以上是对楼主的4个问题的回复。
>
> 这里多说一点,aptitude相比apt-get更灵活的地方,我个人觉得在选择依赖时非常方便。今天正好碰到个例子,有人(在ubuntu
> 10.04上)要装php5-mysql,结果发现一堆apache的包也被依赖上了。我通过aptitude发现,php5-mysql的依赖phpapi这个包,phpapi是个需包,许多其他包provides
> phpapi,比如libapache2-mod-php5, php5-cgi,
> php5-cli等,也就是说只要装其中某一个,就相当于你装了phpapi,于是apt-get默认选择了第一个。在aptitude中可以非常清楚的看到这个依赖关系,于是(根据我的实际需求)选择了安装php5-cgi,避开了apache。这是一个依赖选择的例子,除此之外,还有发生冲突时,aptitude也会给你提供多个解决方案,用非常直观方式的选择。因此,个人比较建议,如果用debian/ubuntu的话,稍微花些时间熟悉一下aptitude是很值得的,有些时候会省很多事。

--
Best regards,
lilydjwg

Linux Vim Python 我的博客:
http://lilydjwg.is-programmer.com/
--
A: Because it obfuscates the reading.
Q: Why is top posting so bad?

yi lu

unread,
Sep 10, 2013, 11:37:57 AM9/10/13
to sh...@googlegroups.com
aptitude 不好记,apt-get好记


2013/9/10 依云 <lily...@gmail.com>

da chen

unread,
Sep 10, 2013, 12:39:37 PM9/10/13
to sh...@googlegroups.com

可以试下编译libreoffice……你会感觉编译chromium还可以忍受……

da chen

unread,
Sep 10, 2013, 12:42:37 PM9/10/13
to sh...@googlegroups.com

哪家的VPS可以用gentoo?求介绍~

Jianlei Zhang

unread,
Sep 10, 2013, 6:47:27 PM9/10/13
to sh...@googlegroups.com
Linode
--
此致

张建雷 敬上

DaboD

unread,
Sep 10, 2013, 10:41:00 PM9/10/13
to sh...@googlegroups.com
+1


On Tuesday, July 30, 2013 11:05:10 PM UTC+8, Stephen wrote:
你邮件里面提到的apt应该都换成apt-get。

并没有apt这个命令。dpkg可以认为跟rpm是类似的东西,它本身并不处理依赖,仅负责与.deb文件打交道,如将.deb包安装到系统里、将系统里某个包卸掉、处理deb包里的各项事宜(如config)。apt是包管理机制,这套机制提供了一套依赖关系机制和实现。apt-get、aptitude是apt包管理机制的交互工具,这两者互相兼容。其中apt-get是纯命令行的工具,aptitude既可以当纯命令行工具来使用,也可以不加参数启动一个ncurse界面来操作,如果熟悉aptitude的各种操作键,那么用aptitude是非常舒适的,可以非常方便的查看依赖关系、在有多种依赖解决方案时,可以便捷的选择方案。aptitude是我始终不愿意去使用其他发行版的主要原因。

至于装软件时会装一大堆依赖包的问题,debian里的依赖主要有三种:Depends、Recommends、Suggest。直观上可以理解为:Depends表示这个依赖必须要被安装;否则无法使用,Recommends表示强烈建议你把这个依赖也装上,否则你可能会用的不爽;Suggest表示推荐你也装一下这个包,不过不装也无所谓啦(一般-doc的包都会写在suggest里面)。而从实现上说,Depends的包是一定会被装上的,Recommends是在默认的情况下会同时被装上的,Suggest的包则除非特殊指定否则不会被装上的。使用apt-get时如果不想安装Recommends,可以这样:
apt-get install --no-install-recommends $pkg
使用aptitude的ncurse时,可以ctrl-t -> Options -> Preferences -> [ ] Install recommended packages automatically。

Debian的每个被安装的包有两种:manually和automatically,manually表示这个包是人明确指定要装的,automatically表示这个包并非人为指定,而是为了满足依赖而被装上的。当用户卸载一个包时,如果有automatical包没有其他包depends时,会被自动卸载。

debian包管理器管理的软件,起文件都分布在/usr/、/lib/等目录下。debian的所有包都会避开/usr/local/这个目录,这个目录设计的目的就是给用户自己安装软件用的。同时,debian还提供了一个很贴心的用户组staff(ubuntu没有),/usr/local/下的所有文件的group都是staff(并且/usr/local/这个目录本身的group属性有s标志,因此在其内新建的目录也会继承该组),属于staff组的用户可以直接读写该目录。因此,如果你的系统只有你一个人使用,或者你是某个多人使用系统的“小管理员”,你可以把自己加到staff组内,以后装软件(例如编译安装时),设置prefix为/usr/local,那么可以不用root,直接make install。
除了/usr/local/外,你也可以使用/opt/。不过根据我的经验,/opt/更多为一些第三方应用通过deb或者安装文件安装时的默认路径,比如google-chrome的deb默认装载/opt/下,Adobe Flash Media Server的installer默认装载/opt/下,等等。不过这个目录debian官方仓库里的软件肯定不会用,所以你也可以随便使用。

以上是对楼主的4个问题的回复。

这里多说一点,aptitude相比apt-get更灵活的地方,我个人觉得在选择依赖时非常方便。今天正好碰到个例子,有人(在ubuntu 10.04上)要装php5-mysql,结果发现一堆apache的包也被依赖上了。我通过aptitude发现,php5-mysql的依赖phpapi这个包,phpapi是个需包,许多其他包provides phpapi,比如libapache2-mod-php5, php5-cgi, php5-cli等,也就是说只要装其中某一个,就相当于你装了phpapi,于是apt-get默认选择了第一个。在aptitude中可以非常清楚的看到这个依赖关系,于是(根据我的实际需求)选择了安装php5-cgi,避开了apache。这是一个依赖选择的例子,除此之外,还有发生冲突时,aptitude也会给你提供多个解决方案,用非常直观方式的选择。因此,个人比较建议,如果用debian/ubuntu的话,稍微花些时间熟悉一下aptitude是很值得的,有些时候会省很多事。





2013/7/30 包乾 <houke...@gmail.com>
关于debian的包管理器,小弟还是有点糊里糊涂的地方。
(dpkg, aptitude, apt)

首先我知道dpkg是作为apt和aptitude的后端,实际执行包安装卸载的工作,而apt和aptitude则是作为前端,解析包依赖关系阿等等。我的问题是

1. apt和aptitude到底有啥不一样?我在google读了n多博客资料甚至debian的官方manual,莫衷一是。有人说两者完全不是一回事,有人说现在可以兼容着用,有人说apt好,有人说aptitude好,彻底糊涂。我不想知道哪个好,我只想知道他们到底是什么关系。

2. 我每次安装一个软件xxx,都会带来大量的依赖包。而这些依赖包,有些可能后来被其他的包也用到,有些则一直没有。有一天我想卸载xxx,以及所有只有他依赖于的包,我该如何做?

3. 在/var/log里apt, aptitude, dpkg都有自己的log,这些log我到底该看哪个??是不是我安装每个软件都要记住自己当时用的是dpkg,apt,还是aptitude?

4. 用源码直接编译的软件该 怎 么 管 理!

请各位大神赐教。。。

--
-- You received this message because you are subscribed to the Google Groups Shanghai Linux User Group group. To post to this group, send email to sh...@googlegroups.com. To unsubscribe from this group, send email to shlug+un...@googlegroups.com. For more options, visit this group at https://groups.google.com/d/forum/shlug?hl=zh-CN
---
您收到此邮件是因为您订阅了 Google 网上论坛的“Shanghai Linux User Group”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 shlug+un...@googlegroups.com
要查看更多选项,请访问 https://groups.google.com/groups/opt_out。
 
 



--
Cheng,
Best Regards

DaboD

unread,
Sep 10, 2013, 11:31:31 PM9/10/13
to sh...@googlegroups.com
從用戶的觀點來看 Gentoo 的相依的話, 基本上很簡單 - 你要求裝的, 跟因相依而裝的. 沒有像 Debian 那麼細的建議包之類的分別. 不過虛包也是有的 (例如 virtual/jpeg, media-libs/libjpeg-turbo, media-libs/jpeg 間的關係).

從系統管理層面來看, 又可以再分成如 system (構成所謂 Gentoo, 能讓 Portage 跑起來的最小包集合), world, ...等集合 (set), 可用下面的指令列出集合名稱
$ emerge @
emerge: There are no sets to satisfy ''. The following sets exist:

    live-rebuild
    module-rebuild
    preserved-rebuild
    security
    selected
    system
    world
    x11-module-rebuild

從 .ebuild (Gentoo 的 Portage 系統的包描述) 維護人的觀點來看的話, 有
  • DEPEND: build time 的相依, 要完成從 source code build 成能被執行的 binary 階段所需的相依. 例如 A 用 B 依平台產生代碼後才能 compile, 但 A 在執行時並不會用到 B, 這種就算 DEPEND.
  • RDEPEND: runtime 的相依, 即程序/庫在運行時少了就執行不了的相依. 例如 A 在 build 的時候直接跟 B link 在一塊, 所以 runtime 時 A 少了 B 就不完整, 這種就算是 RDEPEND 之一.
  • PDEPEND: post-merge 相依. 這是為了解決部份 build time 循環相依問題而產生的設計. 例如 A 程序需要 B, C plugin 運行起來才正常, 但 B, C 在相依於 A, 這時候就需要標明先裝 A, 然後 PDEPEND B, C
另外, Gentoo 在清理 package 這點上相對來說比較 tricky. 可用 emerge -c 清理掉非使用者要求且沒有被相依的 package, 但在確認移除前要確認條列的 package, 因為有時候一個 package 被算到哪個上面提到的 set 中的認定不一定像你所想.

最後是當你使用 Gentoo 的 Portage 做為 cross-build 的工具時, 會碰到 DEPEND 裝在了 host 端 (PC 用環境, 可以簡單的看成 root), RDEPEND 裝在了 target 端 (供 target device 用的 root file system), 在 build 如 xorg-server 這樣的 package 時需要很多 protocol (算是 DEPEND) 時, 如果 host 端有裝, Portage 就會認定相依滿足而跳過, 造成 configure 過程在 target 端找不到這些相依. 一種解法是在 target device 上 build (慢), 另一種是自已寫個 script 將 emerge 及 pkg-config 包裝起來, 在 configure 詢問時記錄下有哪些 package 是需要的, 並且在 emerge 失敗時嘗試著將 configure 需要的包裝上 target 端後再 resume emerge 過程.

On Tuesday, July 30, 2013 10:16:42 PM UTC+8, hotsaucesjtu wrote:
可以稍微详细介绍一下在安装依赖关系包的时候debian和gentoo的行为区别么?我很感兴趣


2013/7/30 Dennis Lan (dlan) <denni...@gmail.com>


在 2013年7月30日 下午9:46,"包乾" <houke...@gmail.com>写道:
>
> 关于debian的包管理器,小弟还是有点糊里糊涂的地方。
> (dpkg, aptitude, apt)
>
> 首先我知道dpkg是作为apt和aptitude的后端,实际执行包安装卸载的工作,而apt和aptitude则是作为前端,解析包依赖关系阿等等。我的问题是
>
> 1. apt和aptitude到底有啥不一样?我在google读了n多博客资料甚至debian的官方manual,莫衷一是。有人说两者完全不是一回事,有人说现在可以兼容着用,有人说apt好,有人说aptitude好,彻底糊涂。我不想知道哪个好,我只想知道他们到底是什么关系。
>
> 2. 我每次安装一个软件xxx,都会带来大量的依赖包。而这些依赖包,有些可能后来被其他的包也用到,有些则一直没有。有一天我想卸载xxx,以及所有只有他依赖于的包,我该如何做?
>
> 3. 在/var/log里apt, aptitude, dpkg都有自己的log,这些log我到底该看哪个??是不是我安装每个软件都要记住自己当时用的是dpkg,apt,还是aptitude?
>
> 4. 用源码直接编译的软件该 怎 么 管 理!
>
比如gentoo,在安装时会去分析依赖关系
然后一个个装

Jiajun Wang

unread,
Sep 11, 2013, 12:58:23 AM9/11/13
to Shanghai Linux User Group

> --
> -- You received this message because you are subscribed to the Google Groups Shanghai Linux User Group group. To post to this group, send email to sh...@googlegroups.com. To unsubscribe from this group, send email to shlug+un...@googlegroups.com. For more options, visit this group at https://groups.google.com/d/forum/shlug?hl=zh-CN
> ---
> 您收到此邮件是因为您订阅了 Google 网上论坛的“Shanghai Linux User Group”论坛。
> 要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 shlug+un...@googlegroups.com
> 要查看更多选项,请访问 https://groups.google.com/groups/opt_out

竟然看到仙子 top posting……和你签名形成强烈对比。

Ming Lee

unread,
Sep 11, 2013, 1:21:17 AM9/11/13
to sh...@googlegroups.com
顺路问个问题,昨晚装了debian 7testing, 装sudo 一定要用光盘才可以装吗?
我用U盘安装的系统,有其他办法吗?网上找到的办法都试了就是不行。


2013/9/11 Jiajun Wang <ames...@gmail.com>

YunQiang Su

unread,
Sep 11, 2013, 1:34:18 AM9/11/13
to sh...@googlegroups.com
2013/9/11 Ming Lee <clou...@gmail.com>:
> 顺路问个问题,昨晚装了debian 7testing, 装sudo 一定要用光盘才可以装吗?
debian 7 已经是 stable 了。
更改软件源就可以装了。
> 我用U盘安装的系统,有其他办法吗?网上找到的办法都试了就是不行。
装好之后就与安装介质没什么关系了
--
YunQiang Su

muda...@gmail.com

unread,
Sep 11, 2013, 1:59:01 AM9/11/13
to sh...@googlegroups.com
其实也还好啦,开在那里3-4小时就行了,通常我都是出门工作前开机编译,等回来了一定就好了……或者晚上临睡前也行。
另外对于像我这种没需要或没兴致就决不升级的懒人不是特别需要注意这问题,俗话说有收获总要有付出嘛。
-- You received this message because you are subscribed to the Google Groups Shanghai Linux User Group group. To post to this group, send email to sh...@googlegroups.com. To unsubscribe from this group, send email to shlug+unsub...@googlegroups.com. For more options, visit this group at https://groups.google.com/d/forum/shlug?hl=zh-CN

---
您收到此邮件是因为您订阅了 Google 网上论坛的“Shanghai Linux User Group”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 shlug+unsub...@googlegroups.com
要查看更多选项,请访问 https://groups.google.com/groups/opt_out。


Dennis

unread,
Sep 11, 2013, 2:13:51 AM9/11/13
to sh...@googlegroups.com

您的解答太给力了。赞!

在 2013-7-30 下午11:05,"Zhang Cheng" <steph...@gmail.com>写道:
你邮件里面提到的apt应该都换成apt-get。

并没有apt这个命令。dpkg可以认为跟rpm是类似的东西,它本身并不处理依赖,仅负责与.deb文件打交道,如将.deb包安装到系统里、将系统里某个包卸掉、处理deb包里的各项事宜(如config)。apt是包管理机制,这套机制提供了一套依赖关系机制和实现。apt-get、aptitude是apt包管理机制的交互工具,这两者互相兼容。其中apt-get是纯命令行的工具,aptitude既可以当纯命令行工具来使用,也可以不加参数启动一个ncurse界面来操作,如果熟悉aptitude的各种操作键,那么用aptitude是非常舒适的,可以非常方便的查看依赖关系、在有多种依赖解决方案时,可以便捷的选择方案。aptitude是我始终不愿意去使用其他发行版的主要原因。

至于装软件时会装一大堆依赖包的问题,debian里的依赖主要有三种:Depends、Recommends、Suggest。直观上可以理解为:Depends表示这个依赖必须要被安装;否则无法使用,Recommends表示强烈建议你把这个依赖也装上,否则你可能会用的不爽;Suggest表示推荐你也装一下这个包,不过不装也无所谓啦(一般-doc的包都会写在suggest里面)。而从实现上说,Depends的包是一定会被装上的,Recommends是在默认的情况下会同时被装上的,Suggest的包则除非特殊指定否则不会被装上的。使用apt-get时如果不想安装Recommends,可以这样:
apt-get install --no-install-recommends $pkg
使用aptitude的ncurse时,可以ctrl-t -> Options -> Preferences -> [ ] Install recommended packages automatically。

Debian的每个被安装的包有两种:manually和automatically,manually表示这个包是人明确指定要装的,automatically表示这个包并非人为指定,而是为了满足依赖而被装上的。当用户卸载一个包时,如果有automatical包没有其他包depends时,会被自动卸载。

debian包管理器管理的软件,起文件都分布在/usr/、/lib/等目录下。debian的所有包都会避开/usr/local/这个目录,这个目录设计的目的就是给用户自己安装软件用的。同时,debian还提供了一个很贴心的用户组staff(ubuntu没有),/usr/local/下的所有文件的group都是staff(并且/usr/local/这个目录本身的group属性有s标志,因此在其内新建的目录也会继承该组),属于staff组的用户可以直接读写该目录。因此,如果你的系统只有你一个人使用,或者你是某个多人使用系统的“小管理员”,你可以把自己加到staff组内,以后装软件(例如编译安装时),设置prefix为/usr/local,那么可以不用root,直接make install。
除了/usr/local/外,你也可以使用/opt/。不过根据我的经验,/opt/更多为一些第三方应用通过deb或者安装文件安装时的默认路径,比如google-chrome的deb默认装载/opt/下,Adobe Flash Media Server的installer默认装载/opt/下,等等。不过这个目录debian官方仓库里的软件肯定不会用,所以你也可以随便使用。

以上是对楼主的4个问题的回复。

这里多说一点,aptitude相比apt-get更灵活的地方,我个人觉得在选择依赖时非常方便。今天正好碰到个例子,有人(在ubuntu 10.04上)要装php5-mysql,结果发现一堆apache的包也被依赖上了。我通过aptitude发现,php5-mysql的依赖phpapi这个包,phpapi是个需包,许多其他包provides phpapi,比如libapache2-mod-php5, php5-cgi, php5-cli等,也就是说只要装其中某一个,就相当于你装了phpapi,于是apt-get默认选择了第一个。在aptitude中可以非常清楚的看到这个依赖关系,于是(根据我的实际需求)选择了安装php5-cgi,避开了apache。这是一个依赖选择的例子,除此之外,还有发生冲突时,aptitude也会给你提供多个解决方案,用非常直观方式的选择。因此,个人比较建议,如果用debian/ubuntu的话,稍微花些时间熟悉一下aptitude是很值得的,有些时候会省很多事。





2013/7/30 包乾 <houke...@gmail.com>
关于debian的包管理器,小弟还是有点糊里糊涂的地方。
(dpkg, aptitude, apt)

首先我知道dpkg是作为apt和aptitude的后端,实际执行包安装卸载的工作,而apt和aptitude则是作为前端,解析包依赖关系阿等等。我的问题是

1. apt和aptitude到底有啥不一样?我在google读了n多博客资料甚至debian的官方manual,莫衷一是。有人说两者完全不是一回事,有人说现在可以兼容着用,有人说apt好,有人说aptitude好,彻底糊涂。我不想知道哪个好,我只想知道他们到底是什么关系。

2. 我每次安装一个软件xxx,都会带来大量的依赖包。而这些依赖包,有些可能后来被其他的包也用到,有些则一直没有。有一天我想卸载xxx,以及所有只有他依赖于的包,我该如何做?

3. 在/var/log里apt, aptitude, dpkg都有自己的log,这些log我到底该看哪个??是不是我安装每个软件都要记住自己当时用的是dpkg,apt,还是aptitude?

4. 用源码直接编译的软件该 怎 么 管 理!

请各位大神赐教。。。

--
-- You received this message because you are subscribed to the Google Groups Shanghai Linux User Group group. To post to this group, send email to sh...@googlegroups.com. To unsubscribe from this group, send email to shlug+un...@googlegroups.com. For more options, visit this group at https://groups.google.com/d/forum/shlug?hl=zh-CN
---
您收到此邮件是因为您订阅了 Google 网上论坛的“Shanghai Linux User Group”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 shlug+un...@googlegroups.com
要查看更多选项,请访问 https://groups.google.com/groups/opt_out。
 
 



--
Cheng,
Best Regards

Ben Luo

unread,
Sep 11, 2013, 3:10:00 AM9/11/13
to shlug
即使在 ubuntu 里,还是坚持只在 Console(xterm) 里用 Aptitude 的人。从2001到现在就没变过。Aptitude真心好用。

2013/9/11 Dennis <ocean...@gmail.com>:

依云

unread,
Sep 11, 2013, 7:02:35 AM9/11/13
to sh...@googlegroups.com
On Wed, Sep 11, 2013 at 12:58:23PM +0800, Jiajun Wang wrote:
> 竟然看到仙子 top posting……和你签名形成强烈对比。

注意逻辑关系。先看答案后看问题通常会让人觉得莫名其妙,而先看到赞扬和感谢
的话会让有兴趣的人去看那赞扬和感谢的内容,假如那人之前没有看过的话。

另外一点是,如果我那条消息回复在后边,全文引用的话太多,而我那消息对于作
者本人之外并无多大意义,翻过不少文字后看到会让人失望的。

PS: 邮件列表回复某主题也真有「顶」的效果么,我终于读完这个好几天没回复的
会话并略作回复之后又引发了这么多回复呢。

Jimmy Xu

unread,
Sep 17, 2013, 9:05:39 AM9/17/13
to sh...@googlegroups.com
歪楼,觉得邮件列表也应该有置顶功能!这样有时便于阅读某个好的回复,或者解决方法!

在 13-9-11,依云<lily...@gmail.com> 写道:
> --
> -- You received this message because you are subscribed to the Google Groups
> Shanghai Linux User Group group. To post to this group, send email to
> sh...@googlegroups.com. To unsubscribe from this group, send email to
> shlug+un...@googlegroups.com. For more options, visit this group at
> https://groups.google.com/d/forum/shlug?hl=zh-CN
> ---
> 您收到此邮件是因为您订阅了 Google 网上论坛的“Shanghai Linux User Group”论坛。
> 要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 shlug+un...@googlegroups.com
> 要查看更多选项,请访问 https://groups.google.com/groups/opt_out
>


--
Jimmy Xu
Just Follow My Heart!!
Reply all
Reply to author
Forward
0 new messages