+ -
当前位置:首页 → 问答吧 → 如何镜像distfiles,准备过冬。

如何镜像distfiles,准备过冬。

时间:2009-01-09

来源:互联网

马上寒假回家,可能没网(也可能是网速惨不忍睹),想把~amd64的distfiles全下载下来,该怎么做?

我只带一块硬盘回去,找台机器装gentoo,继续学习gentoo。portage可以直接下载latest快照,stage也存下来就好,livecd也好说,/etc里的配置也可以打包,distfiles怎么办?想到为了装一个软件下载一个或几个源码包就要花比编译还长得时间我就有点冷。

顺带还有几个问题:

1、quickpkg如何用才能把已经编译的所有的软件做成pkg?
2、如果有办法只备份~amd64当前的源码包,能不能选择不下载那些好几百兆的我根本用不到的文件?比如游戏,还有table_xp_fast_free.zip之类,这个700M的包是不是就是一个字典文件?
3、已经编译的包用的CFLAGS是-march=athlon64,能不能拿到Intel的64位cpu上用?我指的是一些应用软件,比如lyx之类。

作者: htcool86   发布时间: 2009-01-09

寒假没多久……没网络不如别折腾了,建议啃啃英语。

作者: zxuan   发布时间: 2009-01-09

引用:
作者: zxuan
寒假没多久……没网络不如别折腾了,建议啃啃英语。

啃英语也是个好主意。。。。。。
啃E语不如啃C语,CPP如何?我没学过CPP,不知道为什么Torvolds为什么骂它,也不知道骂的是什么方面,谁能说一说?

作者: htcool86   发布时间: 2009-01-09

如果你不懂一个东西,你也不想学它,那你所能做的就是骂它

作者: zhllg   发布时间: 2009-01-09

写内核搞驱动,也确实不需要用cpp。

作者: zxuan   发布时间: 2009-01-09

引用:
作者: zhllg
如果你不懂一个东西,你也不想学它,那你所能做的就是骂它
:-):-):-)

作者: flyinflash   发布时间: 2009-01-09

引用:
作者: zhllg
如果你不懂一个东西,你也不想学它,那你所能做的就是骂它
就这么简单?实在大损Torvalds在我心中的形象。

作者: htcool86   发布时间: 2009-01-09

看来你对他了解太少了
你知道masturbating monkeys的故事么

作者: zhllg   发布时间: 2009-01-09

我不是了解太少,而是根本没去了解,因为没用,也就没机会接触。
我所知的只有他是Linux的创始人,他在倡导开源。

我去查一下masturbating monkeys

作者: htcool86   发布时间: 2009-01-09

Linux creator Linus Torvalds has labeled makers of the OpenBSD operating system a "bunch of masturbating monkeys," as part of a wider critique of what he said was self-centered behavior in the IT security industry.

In an e-mail to the Linux kernel developer mailing list, Torvalds said a section of the security industry was dedicated to finding bugs in software only to publicize their findings and gain notoriety.

The row erupted in the Gmane mailing list after a developer for the PaX Team, which patches the Linux kernel, accused Torvalds and other top Linux kernel developers of "covering up (the) security impact of bugs" by not clearly labeling them as security flaws.

Torvalds wrote that disclosing the bug itself was enough, without having to label each individual security flaw. He added that taking the bugs to the "security circus" level only glorified the wrong kind of behavior. "It makes heroes out of security people, as if the people who...fix normal bugs aren't as important," wrote Torvalds. What was left behind for the developers were all the "boring" bugs, which Torvalds considered more important due to their volume.

这个么?确实挺那个。

作者: htcool86   发布时间: 2009-01-09

C++确实已经演化为一个太复杂的语言了,没有人用C++的全部特性来做实际开发。相对而言D Programming Language要好很多,特别是使用模块代替头文件后,编译速度堪比Delphi的OOPascal。只可惜没有大公司的支持,进展缓慢啊。我在试着用D 1.0开发些小工具。

作者: 没本   发布时间: 2009-01-09

引用:
作者: htcool86
马上寒假回家,可能没网(也可能是网速惨不忍睹),想把~amd64的distfiles全下载下来,该怎么做?
用rsync可以完成这件事,不过想清楚这是在镜像站点,很大的。

作者: 没本   发布时间: 2009-01-09

我不想镜像站点,我只想要~amd64,整个distfiles有80G,但是其中大部分软件都有多个版本号,比如gnome-keyring就有9个之多。Archlinux我有一个x86_64镜像,包括游戏之类11G多,gentoo有多大?抛开游戏15G够不够?
我没深究过rsync有没有只选版本号大的文件的功能,我只用他来mirror站点。而~amd64还好说,差不多都是版本号最大的?amd64呢?既不是最大,也不是最小,该怎样搞?必须脚本编程么?

作者: htcool86   发布时间: 2009-01-09

楼主的要求让我想起一个 emerge 参数 --fetchonly

没试过
不知道这样可行不

备份 /var/lib/portage/world
手工编辑 world,把将要可能用到的软件加上
根据可能的需要改好 /etc/make.conf, /ect/portage/ 下的相应文件
然后用 emerge -afe system 和 emerge -afe world 把源码下载
最后备份 distfiles,恢复改動过的文件

这个需要对将要使用什么软件和 USE 有预见性,否则还是可能需要临时下载

作者: 8pm   发布时间: 2009-01-09

这个预见性真是太难了。
我第一次接触linux是上个世纪,那时连xterm和redflag都没有,自己也是个小屁孩,后来又有过几次接触,都没有深入了解。
这次玩linux还是小半年的事情,所以也只能在玩,软件使用习惯、对软件了解的知识面都还很不够,哪有多少预见性可言?

作者: htcool86   发布时间: 2009-01-09

引用:
作者: 8pm
楼主的要求让我想起一个 emerge 参数 --fetchonly

没试过
不知道这样可行不

备份 /var/lib/portage/world
手工编辑 world,把将要可能用到的软件加上
根据可能的需要改好 /etc/make.conf, /ect/portage/ 下的相应文件
然后用 emerge -afe system 和 emerge -afe world 把源码下载
最后备份 distfiles,恢复改動过的文件

这个需要对将要使用什么软件和 USE 有预见性,否则还是可能需要临时下载
去mirror基本上不现实。用fetch来先下载可能需要的源代码包比较现实。

作者: blackwhite   发布时间: 2009-01-09

mirror的不现实指的是哪方面?
如果说下载速度,绝对是现实的。我教育网,在广州,下清华的有6M/s,上交大的最快9M/s。
现在主要的问题是有没有什么工具能把~amd64的软件包列表从数据库里调出来,比如emerge的某个我不知道而可能存在的参数,或是其他的工具。只要是输出格式整齐的、带版本号的就可以,加工一下就可以做成下载列表给wget用。只恨我不会编程,不然查询数据库也不是多难的事,emerge的源码里肯定有这个。

作者: htcool86   发布时间: 2009-01-09

硬盘呢
恐怕需要个几百G吧,fix me
不过相信只要你想做,硬盘也不会是问题
那你就试试好了
成功了回来写个过程

作者: zhllg   发布时间: 2009-01-09

引用:
作者: htcool86
mirror的不现实指的是哪方面?
如果说下载速度,绝对是现实的。我教育网,在广州,下清华的有6M/s,上交大的最快9M/s。
现在主要的问题是有没有什么工具能把~amd64的软件包列表从数据库里调出来,比如emerge的某个我不知道而可能存在的参数,或是其他的工具。只要是输出格式整齐的、带版本号的就可以,加工一下就可以做成下载列表给wget用。只恨我不会编程,不然查询数据库也不是多难的事,emerge的源码里肯定有这个。
mirror的话,问题是很多包你根本用不到,而且浪费很多空间。
如果你的速度够快,你可以把keywords和use设定好,然后emerge --fetchonly XXX就可以把所有的source code的包给下载回来。
你最好知道现在需要安装gentoo的什么部分,估计你是安装桌面吧?
用2008.0/desktop profile, 默认的use就可以,大部分时候你不需要调整use设定的。

作者: blackwhite   发布时间: 2009-01-09

清华,交大的源可以用?9月份时找过,发现很久没有更新了,源都是很旧的。

作者: iwanttobethat   发布时间: 2009-01-09

引用:
作者: iwanttobethat
清华,交大的源可以用?9月份时找过,发现很久没有更新了,源都是很旧的。
绝对可以用,每天更新吧反正很新,我用官方的sync:portage,用清华的distfiles,还没遇到缺文件,虽然我装的软件也不多。

mirror倒不用几百个G,清华的源不过才80G,还有好多一个软件n多版本。我想~amd64的话30G是极限了。

作者: htcool86   发布时间: 2009-01-09

我想出来的方法比较难看:
1、esearch -o "%p " ^ > list
这样就得到所有软件的列表
2、emerge -fO
可以不检查依赖fetchonly
但是我的基本功不过关,不会把list传递到emerge,囧,谁帮个忙?

作者: htcool86   发布时间: 2009-01-09

大概使用cat可以完成目标吧,不过我太困了,没法查了。我用下面这个ugly的办法可以完成目标:
打开list,在开头写入emerge -fO ,保存,改名作list.sh,chmod o+x ,执行。

然后睡觉。

希望睡醒后硬盘不要爆掉。

期待优美的解决办法,比如直接查询portage得到文件名列表。

作者: htcool86   发布时间: 2009-01-09

引用:
作者: htcool86
我想出来的方法比较难看:
1、esearch -o "%p " ^ > list
这样就得到所有软件的列表
2、emerge -fO
可以不检查依赖fetchonly
但是我的基本功不过关,不会把list传递到emerge,囧,谁帮个忙?
emerge -fO `cat list`
这个 ` 在 Tab 键上面

引用:
作者: blackwhite
去mirror基本上不现实。用fetch来先下载可能需要的源代码包比较现实。
我前面说的方法不是mirror,就是你说的用fetch来先下载可能需要的源代码包。
编辑 world 来选择可能需要安装的包,用 emerge -ef 来下载整个系统需要的源代码包,
只是 emerge -e world 是否仅根据 world 的列表来决定安装过什么
也就是只改 world 会否改變 emerge -e world 的软件列表
这点我不确定,是想当然的推测
所以说看看是否可行。

一般桌面 gentoo 全部需要下载的大小肯定因人而异
我的做桌面用的 gentoo 大概 6 G,包括 gnome 和 kde4 这样的大家伙
而家里另一台桌面,用 e16 為主的,大概只需 < 3G

作者: 8pm   发布时间: 2009-01-09