Ошибка при обновлении портов
При попытки обновления дерева портов командой portsnap fetch update на сервере под управлением FreeBSD 10.0-RELEASE-p18 выскочила следующая ошибка: |
# portsnap fetch update Looking up portsnap.FreeBSD.org mirrors... 7 mirrors found. Fetching snapshot tag from ec2-eu-west-1.portsnap.freebsd.org... done. Fetching snapshot metadata... done. Updating from Mon May 25 07:38:41 MSK 2015 to Thu May 28 11:58:00 MSK 2015. Fetching 0 metadata patches. done. Applying metadata patches... done. Fetching 0 metadata files... done. gunzip: can't stat: files/5cde3400ceaa02cfe098dabc9e9701ce818376826189078ff2f3cac145452d3c.gz: No such file or directory Fetching 0 patches. dc: divide by zero dc: divide by zero (0/0) 0.00% done. done. Applying patches... done. Fetching 0 new ports or files... done. Removing old files and directories... done. Extracting new files: Building new INDEX files... gunzip: can't stat: /var/db/portsnap/files/c628ddf344579b0be31add804d0d1aef52242e41e145ba3726211e4cf7496f23.gz: No such file or directory make_index: realloc(pp): No such file or directory
После чего команда обновления самих портов portupgrade
тоже завершила свою работу с ошибкой:
# portupgrade -va make: cannot open Mk/bsd.port.mk. /usr/local/lib/ruby/site_ruby/2.1/pkgtools/portsdb.rb:237:in `join': no implicit conversion of nil into String (TypeError) from /usr/local/lib/ruby/site_ruby/2.1/pkgtools/portsdb.rb:237:in `index_file' from /usr/local/lib/ruby/site_ruby/2.1/pkgtools/portsdb.rb:247:in `db_dir=' from /usr/local/lib/ruby/site_ruby/2.1/pkgtools/portsdb.rb:167:in `setup' from /usr/local/lib/ruby/site_ruby/2.1/pkgtools/pkgtools.rb:242:in `init_pkgtools_global' from /usr/local/sbin/portupgrade:530:in `block in main' from /usr/local/lib/ruby/2.1/optparse.rb:880:in `initialize' from /usr/local/sbin/portupgrade:237:in `new' from /usr/local/sbin/portupgrade:237:in `main' from /usr/local/sbin/portupgrade:2376:in `<main>'
Ошибка заключается в отсутствии необходимых файлов (снимков дерева портов) по пути /var/db/portsnap/files
.
Чтобы избавиться от этих ошибок, необходимо выполнить следующее:
# rm -rf /var/db/portsnap/files # portsnap fetch extract # portupgrade -va
В результате чего обновление дерева портов и самих установленных в системе портов произошло без ошибок.
_______________
Изначально решение проблемы нашел здесь.