Chinaunix

标题: 試用 pkgng [打印本页]

作者: zeissoctopus    时间: 2011-10-26 20:45
标题: 試用 pkgng
本帖最后由 zeissoctopus 于 2011-10-26 20:50 编辑

有關 pkgng 背景請參考 http://bbs.chinaunix.net/thread-3610367-1-1.html

我也是第一次接觸 pkgng, 我在運作中 FreeBSD 9.0-RC1 卓面環境來安裝 pkgng

https://github.com/pkgng/pkgng 安裝 pkgng
1. 安裝 /usr/ports/devel/git 才有 git 工具
  1. cd /usr/ports/devel/git
  2. su root
  3. make install
复制代码
2. 建立一個臨時目錄來放置源碼
  1. mkdir news_src
复制代码
3. 抓取 pkgng 在 github.com 的源碼
  1. cd news_src
  2. git clone https://github.com/pkgng/pkgng
复制代码
4. 源碼便放置在 ~/news_src/pkgng 目錄中
5. 編譯 pkgng
  1. cd ~/news_src/pkgng
  2. make
复制代码
6. 如果編譯正常的話 可以安裝它了
  1. cd ~/news_src/pkgng
  2. su root
  3. make install
复制代码
以上命令會把 pkgng 安裝入 base. 以下是它的 install.log
  1. ===> libpkg (install)
  2. install -C -o root -g wheel -m 444   libpkg.a /usr/lib
  3. install  -o root -g wheel -m 444     libpkg.so.0 /usr/lib
  4. ln -fs libpkg.so.0 /usr/lib/libpkg.so
  5. install -C -o root -g wheel -m 444  pkg.h /usr/include
  6. ===> pkg (install)
  7. install  -o root -g wheel -m 555   pkg /usr/sbin
  8. install -o root -g wheel -m 444 pkg.1.gz  /usr/share/man/man1
  9. install -o root -g wheel -m 444 pkg-add.1.gz  /usr/share/man/man1
  10. install -o root -g wheel -m 444 pkg-autoremove.1.gz  /usr/share/man/man1
  11. install -o root -g wheel -m 444 pkg-backup.1.gz  /usr/share/man/man1
  12. install -o root -g wheel -m 444 pkg-create.1.gz  /usr/share/man/man1
  13. install -o root -g wheel -m 444 pkg-delete.1.gz  /usr/share/man/man1
  14. install -o root -g wheel -m 444 pkg-info.1.gz  /usr/share/man/man1
  15. install -o root -g wheel -m 444 pkg-install.1.gz  /usr/share/man/man1
  16. install -o root -g wheel -m 444 pkg-query.1.gz  /usr/share/man/man1
  17. install -o root -g wheel -m 444 pkg-register.1.gz  /usr/share/man/man1
  18. install -o root -g wheel -m 444 pkg-repo.1.gz  /usr/share/man/man1
  19. install -o root -g wheel -m 444 pkg-search.1.gz  /usr/share/man/man1
  20. install -o root -g wheel -m 444 pkg-update.1.gz  /usr/share/man/man1
  21. install -o root -g wheel -m 444 pkg-upgrade.1.gz  /usr/share/man/man1
  22. install -o root -g wheel -m 444 pkg-version.1.gz  /usr/share/man/man1
  23. install -o root -g wheel -m 444 pkg-which.1.gz  /usr/share/man/man1
  24. install -o root -g wheel -m 444 pkg.conf.5.gz  /usr/share/man/man5
  25. ===> pkg2legacy (install)
  26. install  -o root -g wheel -m 555   pkg2legacy /usr/sbin
复制代码
7. 安裝完可以  make clean
8. 立即把已安裝好的 ports 注冊入 pkgng 資料庫,換另一種說法,把 ports/pkg 安裝記錄與 pkgng 資料庫同步(僅首次安裝時執行一次)
  1. cd ~/news_src/pkgng/ports
  2. su root
  3. sh pkg2ng
复制代码
以下是我執行 pkg2ng 的畫面記錄(節錄)
  1. zeissoctopus-fb9# sh pkg2ng
  2. Registering ImageMagick-6.7.3.1... done.
  3. Registering ORBit2-2.14.19... done.
  4. Registering aalib-1.4.r5_6... done.
  5. ...
  6. ...
  7. Registering zh-scim-tables-0.5.10... done.
  8. Registering zip-3.0... done.
复制代码
9. 拷貝 bsd.pkgng.mk 至 /usr/ports/Mk 目錄
  1. cd ~/news_src/pkgng/ports
  2. su root
  3. cp bsd.pkgng.mk /usr/ports/Mk
复制代码
10. 執行以下命令修改 /usr/ports/Mk/bsd.ports.mk 加下 pkgng 支援
  1. cd /usr/ports/Mk
  2. su root
  3. sed -i'' -e '/.if.*USE_LOCAL_MK.*$/{G;s/\(.if.*USE_LOCAL_MK)\)\(\n\)/.include "${PORTSDIR}\/Mk\/bsd.pkgng.mk"\2\1/;}' /usr/ports/Mk/bsd.port.mk
复制代码
pkgng 基本安裝已完成
作者: fender0107401    时间: 2011-10-26 20:49
Good!
作者: dooros    时间: 2011-10-26 22:39
这个东西没有预装进freebsd 9?
作者: jvvt    时间: 2011-10-26 23:26
portmaster,portmanager都没进基本系统,这个也不大可能进基本系统。
作者: zeissoctopus    时间: 2011-10-27 10:03
这个东西没有预装进freebsd 9?
dooros 发表于 2011-10-26 22:39


RELENG_9 還未納入 pkgng,應該不會納入 9.0-RELEASE
作者: x-fish    时间: 2011-10-27 10:03
如果进驻的话,那现在的pkg_*将被取代。
作者: zeissoctopus    时间: 2011-10-27 10:09
portmaster,portmanager都没进基本系统,这个也不大可能进基本系统。
jvvt 发表于 2011-10-26 23:26


我的看法相反, pkgng 是用來取代 pkg_install,故此當 pkgng 完成,便會納入 base。
作者: fender0107401    时间: 2011-10-27 10:37
将来应该会进去,这个应该是新的binary的管理机制。
作者: 芭比小柒    时间: 2011-10-27 12:31
有个比较纠结的是这个东西依赖sqlite
作者: jvvt    时间: 2011-10-27 13:31
FreeBSD不同于Linux,一款新出现的软件,除非是为了替换原来的GNU版本的类似功能的软件,否则不太可能这么快就进入base system。
作者: fender0107401    时间: 2011-10-27 14:07
有个比较纠结的是这个东西依赖sqlite
芭比小柒 发表于 2011-10-27 12:31


如果要进userland,就需要sqlite也进去。
作者: zeissoctopus    时间: 2011-10-27 14:10
FreeBSD不同于Linux,一款新出现的软件,除非是为了替换原来的GNU版本的类似功能的软件,否则不太可能这么快 ...
jvvt 发表于 2011-10-27 13:31


轉變可能在未來一年內請留意 http://blogs.freebsdish.org/portmgr/
作者: dooros    时间: 2011-10-27 14:58
pkgng就是用来取代pkg_*的,待会试试。
作者: fender0107401    时间: 2011-10-27 16:05
还是进去吧,软件管理需要使用数据库来完成,这样会更好一些。
作者: 芭比小柒    时间: 2011-10-28 08:08
bsdinstall也是个例子~~~:wink:
作者: ruifeng_    时间: 2013-04-30 01:35
本帖最后由 ruifeng_ 于 2013-04-30 01:36 编辑

回复 1# zeissoctopus


    我也执行了 pkg2ng 这个命令出来了这些东西
  1. pkg: Skipping malformed dependency pkg-config
  2. Installing libcanberra-gtk3-0.28_1... done
  3. pkg_info: can't find package 'pkg-config-0.25_1' installed or in a file!
  4. pkg: Skipping malformed dependency entry for pkg-config
  5. pkg: Skipping malformed dependency pkg-config
  6. Installing libcddb-1.3.2_1... done
  7. pkg_info: can't find package 'pkg-config-0.25_1' installed or in a file!
  8. pkg: Skipping malformed dependency entry for pkg-config
  9. pkg: Skipping malformed dependency pkg-config
  10. Installing libcdio-0.82_2... done

  11. Installing libcroco-0.6.2_1... done
  12. Installing libdaemon-0.14... done
  13. pkg_info: can't find package 'pkg-config-0.25_1' installed or in a file!
  14. pkg: Skipping malformed dependency entry fo
  15. .......
复制代码
有点看不懂 , 不知道具体在干嘛 ?
作者: zeissoctopus    时间: 2013-04-30 07:35
ruifeng_ 发表于 2013-04-30 01:35
回复 1# zeissoctopus

我也执行了 pkg2ng 这个命令出来了这些东西


這個 thread 早已過時
作者: pitonas    时间: 2013-05-01 09:10
喜欢的




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2