+ -
当前位置:首页 → 问答吧 → 关于 ports 不能 删除,修复,升级 的解决方法

关于 ports 不能 删除,修复,升级 的解决方法

时间:2004-01-02

来源:互联网

问题的描述参见这两个贴子
http://www.linuxsir.org/bbs/showthre...threadid=82302
http://www.linuxsir.org/bbs/showthre...threadid=67897

简而言之
就是持行 ports 的相关操作时
总会有一个 segmentation fault 的错误
然后就是说 有一个 Ruby 文件哪里哪里出错最
当前目录产生一个 ruby.core 的 core dump

去 freebsd 的 maillist 找了一下
发现一个相关的帖子
解决方法很简单
cd /usr/ports
make index
/usr/local/sbin/pkgdb -fuF
/usr/local/sbin/portupgrade -arR

把帖子贴出来看一下:

> Kent Stewart wrote:
> > On Wednesday 22 October 2003 05:37 am, ivan georgiev wrote:
> >>>What versions of ruby do you have installed? I can remember back
> >>> a few versions, that uninstalling portupgrade and ruby and then
> >>> making and installing portupgrade was faster than fighting the
> >>> problems with ruby.
> >>>
> >>>Kent
> >>
> >>-su-2.05b# ruby -v
> >>ruby 1.6.8 (2003-03-26) [i386-freebsd5]
> >
> > I don't have any idea. It looks like a source/configuration/make
> > error of some type. My version is the also the following
> > ruby 1.6.8 (2003-03-26) [i386-freebsd5]
>
> Maybe complete remove of ruby and dependend packages
> followed by a reinstall of all of them may help.
> If you only have portupgrade installed, you can
> simply
> # pkg_delete -rx ruby
> # cd /usr/ports/sysutils/portupgrade
> # make install clean
>
> If you have other ruby-dependend ports, please write them down,
> eg. by
> $ cd
> $ ls -l /var/db/pkg/ >installed-packages
> $ su -
> # [above procedure]
> $ ls -l /var/db/pkg/ >after-reinstall-ruby-packages
> $ diff installed-packages after-reinstall-ruby-packages
>
> And then reinstall all packages missing (and you need).

Thanks for all of the suggestions!
Finaly "portupgrade -arR" works again. Here is what I did
(chronologically)
1) ls -l /var/db/pkg/ > ~/old
2) pkg_delete -rx ruby
3) cd /usr/ports/sysutils/portupgrade; make install; make clean
4) ls -l /var/db/pkg/ > ~/new
5) diff ~/old ~/new
which showed no other difference but for the new installed ruby;
6)/usr/local/sbin/pkgdb -fuF
7)/usr/local/sbin/portupgrade -arR
the result was :(

Then I tried the other suggestion:
8)cd /usr/ports
9) make index
which produced zillion of outputs like:
....
make_index: xcdplayer-2.2_1: no entry for /usr/ports/x11/
XFree86-4-libraries
....
10) /usr/local/sbin/pkgdb -fuF
11) /usr/local/sbin/portupgrade -arR
which took much longer than usual to say something the result is

Ivan

作者: Smalltalk   发布时间: 2004-01-02

good!
有问题时看看邮件列表很好找答案, 不过我还没遇见过ruby出现问题的情况!

作者: rainren   发布时间: 2004-01-02

奇怪,我那天告诉你用pkgdb,你说没用?

作者: Freebird   发布时间: 2004-01-02

我想可能是参数问题吧
只用一个 -u 还是会出错的

作者: Smalltalk   发布时间: 2004-01-08

小声问一个弱弱的问题(不要笑哦):

什么是邮件列表,有哪些站点,真不知道唉。

作者: birdfly_312   发布时间: 2004-01-25

呵呵,今天我也碰到了这个问题,爽

作者: Iamthetop   发布时间: 2004-04-12