freebsd包管理

http://www.zzlan.cn/blog/?action=show&id=7&page=1

Posted by esun on 2008年01月06日 8:53 AM. Filed in FreeBsd

pkg_info:列出已安装的所有软件包列表和描述. pkg_version:统计所有安装的软件包版本,可以用来比较本地package的版本与ports目录中的当前版本是否一致. pkg_delete:删除已安装的软件包. 所有已安装的package都在/var/db/pkg目录下,也可以用ls查看安装了哪些package. 要快速安装package,请下载tarball包,然后放在/usr/ports/distfiles目录中。 使用Portupgrade来更新Ports:portupgrade工具是设计来简化升级已安装的port的操作的。它通过ports-mgmt/portupgrade port来提供。您可以像其它port那样,使用make install clean命令来安装它:
代码
  1. #cd /usr/ports/ports-mgmt/portupgrade   
  2. #make install clean  
使用pkgdb -F命令来扫描已安装的port的列表,并修正其所报告的不一致。 运行 portupgrade -a 时,portupgrade将开始并升级系统中所安装的所有过时的ports,如果您只希望升级某个特定的程序,应使用portupgrade pkgname,如果portupgrade应首先升级指定程序的话,应指定-R参数。如代码
  1. #portupgrade -R firefox  

还有其他方法.

-----------------有用的工具---------------------------

1,pkgfind 查找软件

代码
  1. #cd /usr/pkgsrc/pkgtools/pkgfind
  2. #make install clean-depends   

netbsd: {10} pkgfind xorg

fonts/xorg-fonts100dpi: X.org 100dpi bitmap fonts

fonts/xorg-fonts75dpi: X.org 75dpi bitmap fonts

fonts/xorg-fontsCyrillic: X.org Cyrillic bitmap fonts

fonts/xorg-fontsEncodings: X.org Encoding fonts

fonts/xorg-fontsMisc: X.org miscellaneous bitmap fonts

fonts/xorg-fontsTruetype: X.org Truetype fonts

fonts/xorg-fontsType1: X.org Type1 fonts

fonts/xorg-fontserver: X.org font server

meta-pkgs/xorg: X.org meta-package

misc/xorg-docs: X.org Documentation

x11/xorg-clients: X.org client programs and related files

x11/xorg-imake: Imake and other utilities from X.org

x11/xorg-libs: X.org Libraries

x11/xorg-server: X.org X server and related programs

2,pkglint

代码
  1. #pkgfind pkglint
  2. #cd /usr/pkgsrc/pkgtools/pkglint
  3. #make install clean-depends   

用法:lintpkgsrc -i 检查是否有更新的版本 man lingpkgsrc

netbsd:lintpkgsrc -i

Scanning Makefiles: 4866 packages

Unknown package: 'Xrandr' version 1.0.2

3, cpuflags

优化编译

/etc/mk.conf控制编译的一些状态.而cpuflags 根据用户的环境自动优化.

#pkgfind cpu

netbsd: {18} pkgfind cpu

devel/cpuflags: Determine compiler flags to best target current cpu

print/gimp-print-escputil: Epson Stylus inkjet printer tool

sysutils/cpuburn: CPU load testing utilities for Pentium pro and later

sysutils/cpuid: CPU identification feature

sysutils/wmcpuload: Dockable CPU monitor

sysutils/xfce4-cpugraph-plugin: XFce4 CPU load plugin

#cd /usr/pkgsrc/devel/cpuflags

#make install clean-depends

然后加入下面到/etc/mk.conf

#touch /etc/mk.conf

.sinclude "/usr/pkg/share/mk/cpuflags.mk"

.sinclude "/usr/pkg/share/mk/optimize_gcc.mk"

4,pkgclean

快速清除work

cd /urs/pkgsrc/pkgtools/pkgclean

make install clean-depends

用法:

pkgclean

还有很多有用的工具,自己体会吧。我的mk.conf

netbsd: {19} more /etc/mk.conf

.sinclude "/usr/pkg/share/mk/cpuflags.mk"

.sinclude "/usr/pkg/share/mk/optimize_gcc.mk"

FETCH_CMD= /usr/pkg/bin/wget -cT 20

#--------------for master_site_backup------------------

MASTER_SITE_BACKUP?= \

ftp://ring.asahi-net.or.jp/pub/NetBS...es/distfiles/\

ftp://ftp.netbsd.org/pub/NetBSD/packages/distfiles/\

ftp://ftp.FreeBSD.org/pub/FreeBSD/distfiles/

MASTER_SITE_OVERRIDE?= ${MASTER_SITE_BACKUP}

#--------------for master_site_backup------------------

#MKX11=yes

ACCEPTABLE_LICENSES+=no-commercial-use

ACCEPTABLE_LICENSES+=unrar-license

ACCEPTABLE_LICENSES+=citrix_ica-license

特别说的是我用wget 替代了系统自己的ftp,来下载distfiles

------------------------软件的更新-----------------------

如果lintpkgsrc发现有更新的版本。

那么可能需要更新,这个看你自己是否喜欢追新了。

1,make update

这个方法是更新软件并更新所有依赖这个软件的软件。所以不建议经常使用。

2,make replace

这个方法只是更新本软件。

不建议使用make deinstall make reinstall

-------------------------软件的删除----------------------

pkg_delete -vd xxx

删除本软件

pkg_delete -vdr 删除本软件和依赖本软件的软件,小心使用。

-------------------------软件的信息管理--------------------

pkg_info

列出已经安装的软件

pkg_info -dL xx

列出xx软件的介绍信息和安装的所有相关文件.

netbsd: {42} pkg_info -dL wget

Information for wget-1.9.1nb1:

Description:

Wget [formerly known as Geturl] is a freely available network utility

to retrieve files from the World Wide Web using HTTP and FTP, the two

most widely used Internet protocols. It works non-interactively, thus

enabling work in the background, after having logged off.

The recursive retrieval of HTML pages, as well as FTP sites is

supported -- you can use Wget to make mirrors of archives and home

pages, or traverse the web like a WWW robot (Wget understands

/robots.txt).

Homepage:

http://www.gnu.org/software/wget/wget.html

Files:

/usr/pkg/info/wget.info

/usr/pkg/info/wget.info-1

/usr/pkg/info/wget.info-2

/usr/pkg/info/wget.info-3

/usr/pkg/info/wget.info-4

/usr/pkg/bin/wget

/usr/pkg/man/man1/wget.1

/usr/pkg/share/locale/bg/LC_MESSAGES/wget.mo

/usr/pkg/share/locale/ca/LC_MESSAGES/wget.mo

/usr/pkg/share/locale/cs/LC_MESSAGES/wget.mo

/usr/pkg/share/locale/da/LC_MESSAGES/wget.mo

/usr/pkg/share/locale/de/LC_MESSAGES/wget.mo

/usr/pkg/share/locale/el/LC_MESSAGES/wget.mo ......

查找

pkg_info|grep xx

依赖关系

pkg_info -R xx

------------------------------------------------------------------------

另外netbsd 将一些依赖关系特强的集中在一起,这个就是meta-pkgs

netbsd: {43} cd /usr/pkgsrc/meta-pkgs

netbsd: {44} ls

CVS gnome gnustep web-server

Makefile gnome-accessibility gtk2-extras windowmaker-desktop

README.html gnome-base kde3 xfce4

XFree86 gnome-devel netbsd-doc xfce4-extras

edesktop gnome-extras netbsd-doc-print xorg

fxtv-capture gnome1 netbsd-www

============================================================

这些软件主要是x系统如xfree86,xorg

桌面环境gnome kde等。

FreeBSD中的包管理 pkg_info:列出已安装的所有软件包列表和描述. pkg_version:统计所有安装的软件包版本,可以用来比较本地package的版本与ports目录中的当前版本是否一致. pkg_delete:删除已安装的软件包. 所有已安装的package都在/var/db/pkg目录下,也可以用ls查看安装了哪些package. 要快速安装package,请下载tarball包,然后放在/usr/ports/distfiles目录中。 使用Portupgrade来更新Ports: portupgrade工具是设计来简化升级已安装的port的操作的。它通过ports-mgmt/portupgrade port来提供。您可以像其它port那样,使用make install clean命令来安装它:
#cd /usr/ports/ports-mgmt/portupgrade
#make install clean 使用pkgdb -F命令来扫描已安装的port的列表,并修正其所报告的不一致。 运行 portupgrade -a 时,portupgrade将开始并升级系统中所安装的所有过时的ports,如果您只希望升级某个特定的程序,应使用portupgrade pkgname,如果portupgrade应首先升级指定程序的话,应指定-R参数。如 #portupgrade -R firefox