免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: zeissoctopus
打印 上一主题 下一主题

[FreeBSD] pkg(ng) 1.0 正式發布 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-08-30 23:28 |显示全部楼层 |倒序浏览
本帖最后由 zeissoctopus 于 2012-08-31 00:55 编辑

原文出處:FreeBSD-Ports-Announce Mailing list
以下為簡單意譯

  1. Hi all,

  2. Since Julien Laffaye and I started pkgng lots of things has happened and here we
  3. are now.

  4. After 2 years of development (first commit "Tue Sep 7 2010"), more than 2000
  5. commits, 43 different contibutors.  The pkgng team is proud to release pkg-1.0!
复制代码
大家安好!

自從 Julien Laffaye 和我展開 pkgng 計劃,過程中發生過很多事,然而我們仍然堅持到現在。

經過 2 年的開發(第一次 commit 是在 2010 年 9 月 7 日 星期二),超過 2000 次源碼更新,
總共 43 位源碼共獻者。pkgng 團隊很榮幸地發佈 pkg 1.0 版本。

  1. Before going further I would like to thanks any one that has been involved in
  2. pkgng providing code: Alberto Villa, Andrej Zverev, Andrey Zonov, Arthur
  3. Gautier, Ashish SHUKLA, Beat Gaetzi, Brad Davis, Bryan Drewery, Chris Rees,
  4. Craig Rodrigues, Daniel Shahaf, David Forsythe, David Naylor, Eitan Adler,
  5. Florent Thoumie, Frederic Culot, Garrett Cooper, Glen Barber, Jonathan Anderson,
  6. Koop Mast, Lars Engels, Joffrey Lassignardie, Marco Steinbach, Marin Atanasov
  7. Nikolov, Matthew Seaman, Maxim Ignatenko, Michael Brune, Philippe Pepiot, Pietro
  8. Cerutti, Rolf Grossmann, Roman Naumann, Sofian Brabez, Sunpoet Po-Chuan Hsieh,
  9. Toni Ylenius, Will Andrews, Yuri Pankov
复制代码
首先,我要衷心感謝提供源碼的各位:Alberto Villa, Andrej Zverev, Andrey Zonov, Arthur
Gautier, Ashish SHUKLA, Beat Gaetzi, Brad Davis, Bryan Drewery, Chris Rees,
Craig Rodrigues, Daniel Shahaf, David Forsythe, David Naylor, Eitan Adler,
Florent Thoumie, Frederic Culot, Garrett Cooper, Glen Barber, Jonathan Anderson,
Koop Mast, Lars Engels, Joffrey Lassignardie, Marco Steinbach, Marin Atanasov
Nikolov, Matthew Seaman, Maxim Ignatenko, Michael Brune, Philippe Pepiot, Pietro
Cerutti, Rolf Grossmann, Roman Naumann, Sofian Brabez, Sunpoet Po-Chuan Hsieh,
Toni Ylenius, Will Andrews, Yuri Pankov

  1. There are also some people I would like to thanks in particular:
复制代码
還有一些人物,我要特別感激他們:

  1. - Will Andrews, who has been the first to join the project after the first
  2. presentation at BSDCan 2010.
复制代码
Will Andrews 君是第一位答應加入 pkgng 計劃的人,那時是在 BSDCan 2010  演說之後。

  1. - Jilles Tjoelker, who has been continuously reviewing commit, spotted mistake,
  2. provided advices.
复制代码
Jilles Tjoelker 君一直不停地檢查源碼 commit,指出錯處,並提供意見。

  1. - Matthew Seaman and Bryan Drewery who have become two of the most active
  2. developers in a very short time and have improved pkgng a lot!
复制代码
Matthew Seaman 君和 Bryan Drewery 君兩位,在短時間之內成為最活躍的開發者,並
而引進很多優化 pkgng 的源碼。

  1. - Marin Atanasov Nikolov, who has been working heavily on multirepository support,
  2. providing continuous integration environement, and many more.
复制代码
Marin Atanasov Nikolov 君為 pkgng 在支持多個 repo 庫、提供持續整合環境 等多方面做了大量的工作。

  1. - All the portmgr from prior my election as member of that team, they invited us
  2. to BSDCan to present our early version of pkgng (which was a really early
  3. version :D), they trusted in pkgng and motivated us a lot!
复制代码
所有 FreeBSD 的 portmgr 成員,多謝他們在上次選舉推舉我,好讓我加入成為 portmgr 一員。他們
也邀請我到 BSDCan 展示早期 pkgng 版本。他們信任 pkgng 和給予我們莫大的推動力。

  1. Thanks to all the testers/reviewers, early adopters.
复制代码
多謝各位測試者 / 審閱者 ,以及早期使用者。

  1. So,
  2. 1/ Why pkg?
  3. ------------

  4. Our current pkg_install tools are showing their age, are hard to maintain,
  5. and they lack features:

  6. - missing metadata
  7. - no upgrade support
  8. - no repository support
  9. - no fine dependency tracking
  10. - no modern binary package management
  11. - and many others

  12. Having old tools makes it hard to improve the ports infrastructure, as a
  13. result lots of hacks have found their way into the different Mk/bsd.*.mk
  14. files to work around pkg_install limitations plus there are lots of hacks
  15. in the packages metadata itself such as @comment which are not comments,
  16. and so forth.
复制代码
那麼,
1) 為什麼 pkg 出現?

FreeBSD 的 pkg_install 工具已老態龍鍾,pkg_install 亦難以維護,與及他缺乏以下特點:
  • 缺乏 metadata 資訊
  • 缺乏 package 更新
  • 缺乏 repo 庫支持
  • 缺乏嚴謹的倚賴關聯追踪
  • 缺乏現代二進碼 packages 管理
  • 還有缺乏 ........

正正因為我們只有古懂工具,使到 FreeBSD 整個 ports 基礎建設難有進步的空間。結果,你不
難發現,在 /usr/ports/Mk/bsd.*.mk 檔案中,存在大量艱辛的代碼去解決 pkg_install
有限特性所帶來的問題。與及 package metadata 存在很多不完善地方。

  1. 2/ What it is?
  2. --------------

  3. It is a tool that is designed to replace pkg_install and provide modern
  4. features and advanced package management for FreeBSD.

  5. The ports tree is already able to transparently switch to pkgng by default by
  6. adding WITH_PKGNG=yes to your make.conf

  7. It provides a pkg2ng tool to help converting from an old installation to a new
  8. one.

  9. Test repositories are available on http://pkgbeta.freebsd.org/ (I try to update
  10. them as fast as I can)

  11. It will live forever in the ports tree (with a binary bootstrap in 9 and 10)
复制代码
2) pkg 是什麼來?
pkg 是被設計用來完全取代 pkg_install 的工具。她為 FreeBSD 提供現代化二進包管理
程式。

只要你在 /etc/make.conf 加入一句:WITH_PKGNG,那麼你的 FreeBSD ports 已完全支援 pkgng。

在安裝好 pkg 後,應第一時間用 pkg2ng 工具,把系統上已安裝好的軟體記錄,由舊的 pkg_install
變為新的 pkgng 格式。

官方測試的遠程 repo 庫在 http://pkgbeta.freebsd.org/ (我們會盡力更新 repo 庫的軟件包)

pkg 將會一直存在 ports 的 /usr/ports/ports-mgmt/pkg 中 (FreeBSD 9.x 或 FreeBSD 10.x 的 base 系統會提供引導程式)

  1. Third party tools
  2. -----------------

  3. Tools supporting natively pkgng
  4.   - ports-mgmt/portupgrade-devel (soon the main portupgrade will support)
  5.   - ports-mgmt/pkg_cutleaves
  6.   - ports-mgmt/poudriere
  7.   - ports-mgmt/poudriere-devel
  8.   - ports-mgmt/portdowngrade
  9.   - ports-mgmt/tinderbox-devel (support can be improved)
  10.   - ports-mgmt/portbuilder
  11.   - sysutils/bsdstats
复制代码
第三方軟件

以下工具已原生整合 pkgng 支援
  • ports-mgmt/portupgrade-devel (而 ports-mgmt/portupgrade 穩定版也快將整合 pkgng)
  • ports-mgmt/pkg_cutleaves
  • ports-mgmt/poudriere
  • ports-mgmt/poudriere-devel
  • ports-mgmt/portdowngrade
  • ports-mgmt/tinderbox-devel (support can be improved)
  • ports-mgmt/portbuilder
  • sysutils/bsdstats

  1. Tools supporting pkgng via a patch (I hope it will be reviewed/integrated soon)
  2.   - ports-mgmt/portmaster (https://github.com/pkgng/pkgng/blob/master/ports/patch-portmaster-pkgng)
复制代码
以下工具,需要加入補丁才能支援 pkgng (我希望他的作者將會修改源碼加入支持)

  1. Tools being worked on (or I heard people are interested) :
  2.   - salt support (in version 0.10) http://docs.saltstack.org/en/latest/ref/states/all/salt.states.pkgng.html and http://docs.saltstack.org/en/latest/ref/modules/all/salt.modules.pkgng.html
  3.   - cfengine support (http://unix-heaven.org/cfengine3-freebsd-pkgng)
  4.   - puppet support: (https://github.com/xaque208/puppet-pkgng)
  5.   - ruby bindings: (https://github.com/baloo/libpkg-ruby/)
  6.   - PackageKit
复制代码
以下列出一些正在整合 pkg 支援的工具 (或者我聽聞別人有意開發)

  1. Howto:
  2.   - Continuous integration and package building: http://unix-heaven.org/continuous-package-building-with-poudriere-and-jenkins
  3.   - Maintaining your own pkgng repository with tinderbox: http://www.glenbarber.us/2012/06/11/Maintaining-Your-Own-pkgng-Repository.html
复制代码
Howto 文章
  - 持續整合和編譯 package:http://unix-heaven.org/continuou ... udriere-and-jenkins
  - 使用 tinderbox 來維護你個人的 pkgng repo 庫:http://www.glenbarber.us/2012/06 ... gng-Repository.html

  1. Links
  2. -----
  3.   - http://wiki.freebsd.org/PkgPrimer
  4.   - http://wiki.freebsd.org/pkgng
  5.   - https://github.com/pkgng/pkgng/blob/master/FAQ.md
复制代码
有用連結
  http://wiki.freebsd.org/PkgPrimer
  http://wiki.freebsd.org/pkgng
  https://github.com/pkgng/pkgng/blob/master/FAQ.md

  1. Please report bugs in the github issue tracker:
  2.   - http://github.com/pkgng/pkgng
复制代码
請到以下網址報錯
http://github.com/pkgng/pkgng

  1. Please note the http://pkgbeta.freebsd.org is updated on best effort, there is still a lot of work needed, to be able to automatically and update on regular basis the package sets.
复制代码
請注意 http://pkgbeta.freebsd.org盡最大努力保持更新,這網站仍然有大量工作要去處理,才可以把她變成有能力自動進行定期更新 packages。

  1. regards,
  2. Bapt
复制代码
Bapt 敬上

譯者注: pkgng 團隊領導為 Baptiste Daroussin (bapt@FreeBSD.org)

评分

参与人数 3可用积分 +22 信誉积分 +2 收起 理由
fender0107401 + 10 + 2 非常好!
gvim + 10 很给力!
ulovko + 2 感谢仁兄分享 ^_^

查看全部评分

论坛徽章:
0
2 [报告]
发表于 2012-08-31 00:46 |显示全部楼层
抱歉小弟只懂打繁體字

论坛徽章:
0
3 [报告]
发表于 2012-08-31 10:17 |显示全部楼层
angelwait 发表于 2012-08-31 10:07
另外这个是说9.X和10.X pkgng会加入base系统了?


FreeBSD 10.x 和 FreeBSD 9.x (包括即將發布的 9.1-RELEASE) 的 base 包含一個同名的 /usr/sbin/pkg
它實際上是:
1) 發現未安裝 ports 的 ports-mgmt/pkg 的話,直接安裝 pkg ports
2) 如果系統已安裝  ports 的 ports-mgmt/pkg,呼叫 /usr/local/sbin/pkg 執行,並把參數交給她。

FreeBSD 8.x , 7.x 的 base 沒有 /usr/sbin/pkg 引導器,用 pkgng 要直接用 ports 並改 $PATH

時間表: pkg 在 FreeBSD 11.x 時正式取代 pkg_*

论坛徽章:
0
4 [报告]
发表于 2012-09-03 21:45 |显示全部楼层
axlrose 发表于 2012-09-03 09:17
ports-mgmt/poudriere 的脚本里使用zfs的特性,系统跑ZFS的话还是玩不了


"系统跑ZFS的话还是玩不了" 此話何解?我的機器暫未覺有任何不妥。

刚同步了pkgng仓库发现开始支持插件功能,通过钩子回调来实现

你說的是,穩定版 pkgng 1.0.1 會發布 plug-in 支援

以上功能只是初步看了pkgng的源代码猜测的结果,还未在实际系统上试过,如果有不正的地方欢迎指正.

那麼要試試了。

论坛徽章:
0
5 [报告]
发表于 2012-09-03 21:50 |显示全部楼层
axlrose 发表于 2012-09-03 12:17
使用pkgng时发现竟然没有 pacman -Ql foo,   dpkg -L foo这类的功能
因为想查看某个包被安装在哪,有哪些文 ...


多謝你的分享!

论坛徽章:
0
6 [报告]
发表于 2012-09-08 22:09 |显示全部楼层
axlrose 发表于 2012-09-05 20:09
目前还不知道如何自己手工搭建一个pkgng仓库


方法一:用 ports-mgmt/poudriere  好處:最簡單易學易用,使用 zfs jail 特性,她已整合 pkg repo,壞處:必需要有 ZFS,兼容性不及 tinderbox (某些 ports 的 Makefile 寫法未必兼容 poudriere)

方法二:用 ports-mgmt/tinderbox 好處:ports 兼容度高過 poudriere,使用 jail 特性,不需要 zfs,壞處:設定比 poudriere 複雜,難上手。參考文章:http://www.glenbarber.us/2012/06 ... gng-Repository.html

方法三:用 portmaster 加 pkgng 補丁,然後用 portmaster -g 產生 packages,並用 pkg repo 產生軟件倉庫記錄

方法四:用原始 ports,逐一 make packages,然後用 pkg repo 產生軟件倉庫記錄

當然從管理關聯和升級,方法一、方法二 最好,最差是方法四。
另外,方法三和方法四,如果不自行運行於 jail 中,那麼產生 packages 同時必需安裝入宿主的機器上。

评分

参与人数 1可用积分 +2 收起 理由
ulovko + 2 很给力!

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP