action08 发表于 2015-03-08 11:47

portsnap extract和update有什么区别??

fetch后尝试了一下,update执行效果是删除了一些old ports
而extract是解压很多很多ports,


不清楚背后有没有更细节的区别说明,一般情况倾向用哪个??

wait_rabbit 发表于 2015-03-08 12:19


如果你安装FreeBSD 的时候,没有选择 ports 系统,那么装好之后,你会发现 /usr/ports 下边是空的。portsnap extract 就是下载并解压缩 ports 的打包文件,大概70~80M,这样 /usr/ports 下边就有东西了。以后就不需要再执行 portsnap extract。

portsnap update 就是更新 /usr/ports 系统。如果你安装系统的时候,已经装上了 /usr/ports,那你只需要 update 就可以了。

lsstarboy 发表于 2015-03-08 14:42

fetch仅仅是下载,extract是解压fetch到的版本,update是把原版本跟fetch后的版本进行对照升级。

action08 发表于 2015-03-09 18:47

lsstarboy 发表于 2015-03-08 14:42 static/image/common/back.gif
fetch仅仅是下载,extract是解压fetch到的版本,update是把原版本跟fetch后的版本进行对照升级。

所以对于大多数用户大多数情况来说,用update就对了

lsstarboy 发表于 2015-03-09 19:04

回复 4# action08


    没有fetch哪儿来的update?

正确的语义应该是

update /usr/portswithfetched-update-files

lsstarboy 发表于 2015-03-09 19:05

仅仅用update的话,会提示“已经是最新的了”,并且总是这么提示。如果你没有执行fetch,既使一年后也这么提示。

yyu0378 发表于 2015-03-10 13:09

第一次是portsnap fetch extract,以后就portsnap update就好了。不然很慢

lsstarboy 发表于 2015-03-10 15:52

请仔细体会红字部分吧:
Commands:
fetch      -- Fetch a compressed snapshot of the ports tree,
                  or update an existing snapshot.
cron         -- Sleep rand(3600) seconds, and then fetch updates.
extract      -- Extract snapshot of ports tree, replacing existing
                  files and directories.
update       -- Update ports tree to match current snapshot, replacing
                  files and directories which have changed.

Machm 发表于 2015-03-10 21:59

portsnap extract 就好比ports树的某个时间的快照,下载量是整个ports树完整包,也许并不是最新;portsnap update就是参照原有的ports树的更新时间,升级到最新,所以下载量是增量。在系统还不存在/usr/ports目录时,需要首先用portsnap extract解压一遍完整的ports树,再用portsnap update更新到最新。以后就是只用portsnap fetch update更新增量就行了。并且portsnap extract会冲掉ports树里各应用目录里执行过make config改的编译选项,还原为默认选项。

lsstarboy 发表于 2015-03-11 07:38

楼上才是正确的,要升级必须用portsnap fetch update,单独用postsnap update不会起到升级作用的。
页: [1]
查看完整版本: portsnap extract和update有什么区别??