免费注册 查看新帖 |

Chinaunix

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

菜鸟100问 [复制链接]

论坛徽章:
0
41 [报告]
发表于 2006-11-20 16:41 |只看该作者
FreeBSD软件安装卸载工具--Ports和Packages详解http://www.freebsdchina.org/forum/viewtopic.php?t=14435
FreeBSD提供了两种技术:packages和ports

  Package文件是以.tgz的格式分发的
  # pkg_add -r file-1.7.1   (一个package的安装)
  # pkg_delete file-1.7.1   (删除一个软件包)
  # pkg_info        (列出已安装的所有软件包列表和描述的程序)
  # pkg_version  (比较本地 package 的版本与 ports 目录中的当前版本是否一致)
  下载地址
  ftp://ftp.freebsd.org/pub/FreeBSD /ports/packages/

  ports
  安装ports collection
  1 使用root用户运行sysinstall程序
  # /stand/sysinstall
  2 向下选择C onfigure 按Enter
  3 向下选择D istributions 按Enter
  4 向下选择Ports 按空格键

  C V Sup 方法
  使用CVSup 是一种快速获取Port 集合的方法

  port skeleton
  是让一个程序在 FreeBSD 上简洁地编译并安装的所需文件的最小组合。

  查找PORTS
  WHERSIS 程序名
  Make serch key=程序名

  安装PORT
  make
  make install

  删除PORT
  make deinstall

  查看软件安装的位置
  # pkg_info –L foopackage-1.0.0 | less

  查看软件安装的版本
  # pkg_info | grep foopackage

  查看这个软件的具体信息
  # pkg_info foopackage-1.0.0

  通过PORT下载软件
  下载所有PORT软件
  # cd /usr/ports
  # make fetch

  下载特定的PORT软件
  # cd /usr/ports/directory
  # make fetch

  想知道make要下载哪些文件
  m ake fetch-list

  安装所有PORT
  # cd /usr/ports
  # make install

  安装所有PORT而不要输入任何信息
  # cd /usr/ports # make -DINTERACTIVE install
  了解PORT的工作工程
  你只要看看/usr/ports/Mk 目录bsd.port.mk 和bsd.port.subdir.mk 的文件

  清除以安装过的源代码
  # cd /usr/ports
  # make clean

  修改PORT的下载站点
  假如ftp.FreeBSD .org 比MASTER _SITE S 上面列的任何站都近
  # cd /usr/ports/directory
  # make MASTER_SITE_OVERRIDE=\
  ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch

论坛徽章:
0
42 [报告]
发表于 2006-11-20 17:09 |只看该作者
多线程下载ports里的包

cd /usr/ports/ftp/axel
make
make install
make clean
编辑make.conf文件
ee /etc/make.conf
增加以下内容
FETCH_CMD=axel
DISABLE_SIZE=yes
修改配置文件
ee /usr/local/etc/axelrc
设置并发线程为10
num_connections = 10
默认的设置是4

论坛徽章:
0
43 [报告]
发表于 2006-11-20 17:11 |只看该作者
从ports中查找软件
问题:ports下有没有xxx这个软件?在哪个目录下?
回答:有两种办法来查找,一是通过软件名:
make fetchindex
cd /usr/ports
make search name=xxx | grep ^Path

另一种是通过关键字,也就是在软件名和说明中只要包括这个单词的都会查找出来:

cd /usr/ports
make search key=xxx | grep ^Path

论坛徽章:
0
44 [报告]
发表于 2006-11-20 17:52 |只看该作者
如果你的硬盘空间特紧张, 你可使用这个命令代替:

# make install distclean

当你安装一个ports时, 源程序将从互联网上下载下来并copied到/usr/ports/distfiles。 当你想重新安装那个ports时, 这些源程序已经在你的硬盘上了。 distclean 将告诉make 在软件安装成功时删除这些源程序。 可依据你的硬盘空间和你的电脑与互联网的连接速度来决定是否使用distclean。 另外, 因一些许可证的原因, 一些ports 会要求你手动取得源程序并将它们copied到/usr/ports/distfiles。 我觉得保存在硬盘上更方便, 因此我在安装ports时一般不会使用distclean。

有两个选项可以从另外的途径来节省你的硬盘空间。 如果你安装了portupgrade, 你可以使用portsclean来做这项工作。 从名字可以看出, 这个命令就是用来在ports 安装后做一些清理工作的

论坛徽章:
0
45 [报告]
发表于 2006-11-20 18:00 |只看该作者
来让我们看一下当前的硬盘使用情况和使用了portsclean后又有什么不同。 首先, 查看一下/usr分区使用了多少硬盘空间:
# df /usr
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1f 13360662 6189648 6102162 50% /usr
下一步我们来看看/usr/ports的使用情况。 这个命令将显示使用硬盘空间最多的10个目录:
# du /usr/ports |sort -rn|head
3110862 /usr/ports
1848846 /usr/ports/distfiles
822278 /usr/ports/editors
816710 /usr/ports/editors/openoffice-devel
816592 /usr/ports/editors/openoffice-devel/work
604784 /usr/ports/editors/openoffice-devel/work/oo_644_src
362536 /usr/ports/distfiles/KDE
295404 /usr/ports/distfiles/openoffice
211718 /usr/ports/editors/openoffice-devel/work/mozilla
211654 /usr/ports/editors/openoffice-devel/work/mozilla/work

Hmmm, 看起来我在安装了OpenOffice后没有使用distclean。
我现在将清理那些忘记的工作目录:
#portsclean –C
它真的能清理硬盘空间吗?

% df /usr
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1f 13360662 5160664 7131146 42% /usr

oh yeah. 清理了8%的硬盘空间。


下一个portsclean选项也非常有用。
有一些不需要或过时的源程序还留在/usr/ports/distfiles里。 来让我们将它找出并清理掉:
# portsclean -DD
Detecting unreferenced distfiles...
<output varies>
来看看有什么变化:

# df /usr
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1f 13360662 4092490 8199320 33% /usr

Whoa, 又清理出了9%的硬盘空间。来让我们看看主要的差别:
# du /usr/ports | sort -rn | head
1011998 /usr/ports
780760 /usr/ports/distfiles
161724 /usr/ports/distfiles/openoffice
137010 /usr/ports/distfiles/staroffice52
122648 /usr/ports/distfiles/KDE
55478 /usr/ports/distfiles/xc
24936 /usr/ports/distfiles/rpm
20536 /usr/ports/devel
18194 /usr/ports/distfiles/AbiWord
17704 /usr/ports/distfiles/ghostscript
现在硬盘使用空间已减少了很多, 但我的系统上还保留着我平常安装软件的源代码。

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
46 [报告]
发表于 2006-11-20 18:12 |只看该作者
LZ能坚持下来,真是难得,赞赏一个。

论坛徽章:
0
47 [报告]
发表于 2006-11-20 22:33 |只看该作者

升级 Ports

在handbook里提到: 保持 ports 最新可能是一件乏味的工作。 例如, 为了更新 port 您需要进入它的目录, 编译, 卸载旧的, 然后安装新的, 并在之后进行清理。 考虑一下对五个 port 做这样的升级, 很乏味是不是?
尽管我不喜欢时常更新,但使用portupgrade相关内容太少,可参考http://ohaha.ks.edu.tw/portupgrade.htm
由于内容不多,贴出作备忘:

◎名稱
portupgrade - 提供經由port或是packages來升級/安裝新的軟體

◎我的操作
    以更新mrtg為例...
    1.因為要全部更新 但為保險起見先試試看...
      portupgrade -nRf mrtg
      
      但出現如下錯誤訊息..少了/usr/ports/INDEX.rbo這個檔案

portupgrade01.jpg (5.6 KB, 下载次数: 78)

portupgrade01.jpg

论坛徽章:
0
48 [报告]
发表于 2006-11-20 22:36 |只看该作者

升级 Ports

2.創造該檔案
      ports_glob -u 更新或創造ports資料庫檔案 INDEX.db 及 INDEX.rbo ‧
   
    3.再試一次
      portupgrade -nRf mrtg
      呵呵..這次成功了...

portupgrade03.jpg (50.68 KB, 下载次数: 77)

portupgrade03.jpg

论坛徽章:
0
49 [报告]
发表于 2006-11-20 22:39 |只看该作者

升级 Ports

如上圖可以看出..
      mrtg保持再最新狀態,不需要更新‧
      ** No need to upgrade 'mrtg-2.9.17' (>= mrtg-2.9.17).
      
      需要更新的是png-1.2.1 jpeg-6b_1 freetype2-2.0.5 gd-1.8.4_5
   
    4.評估是否需要更新
      若認為需要的話...就更新吧..
      
      以下只是單純的抓回檔案...因為有-F

portupgrade04.jpg (2.62 KB, 下载次数: 75)

portupgrade04.jpg

portupgrade05.jpg (2.56 KB, 下载次数: 75)

portupgrade05.jpg

论坛徽章:
0
50 [报告]
发表于 2006-11-21 06:57 |只看该作者
FreeBSD portsnap 简单使用


使用方法:
/etc/portsnap.conf 里面更改
SERVERNAME=portsnap.hshh.org

portsnap简介:
portsnap从6.0开始引进系统,给与用户方便的更新系统ports
portsnap的命令比较少
fetch 获取数据
extract 释放全部ports
update 更新ports
第一次使用可以 portsnap fetch extract
以后使用可以 portsnap fetch update
如果写在cron可以用 portsnap cron update
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP