Получается, что portupgrade делает свою работу не корректно?19.01.06 14:28 Число просмотров: 2736 Автор: Dpak0n4ik <Тимур Гладких> Статус: Member Отредактировано 19.01.06 14:32 Количество правок: 1
У меня установленный продукт perl 5.8.6_2 из портов, вышел релиз perl 5.8.7 мне он нужен, как мне быть?
Надо каким-то образом проапгейдить порт. я сделал какую то хрень и у меня в результате
UNIX# pkg_info |grep perl
p5-Test-Harness-2.42 Run perl standard test scripts with statistics
p5-Test-Simple-0.54 Basic utilities for writing tests in perl
perl-5.6.1_13 Practical Extraction and Report Language
perl-5.8.6_2 Practical Extraction and Report Language
perl-5.8.7 Practical Extraction and Report Language
UNIX#
Это же не правильно. При этом я не могу удалить 5.8.6_2, т.к. зависимости.
при выходе новых версий вы просто ставили поверх уже...19.01.06 12:56 Автор: ZaDNiCa <indeed ZaDNiCa> Статус: Elderman Отредактировано 19.01.06 13:03 Количество правок: 1
при выходе новых версий вы прото ставили поверх уже существующей без удаления старой версии - это конечно же неправильно
как я понял установлена FreeBSD, а в ней для обновления портов есть спец утилита portupgrade (/usr/ports/sysutils/portupgrade/). Ее помощью обновление происходит так
portversion -vL= (список устаревшего)
portupgrade perl (обновление perl)
как исправить:
pkg_delete -f perl-5.6.1_13
pkg_delete -f perl-5.8.6_2
portupgrade perl
и потом для того чтобы переключиться на перл который в портах (по умолчанию используется системный perl в FreeBSD <5.x)
use.perl system
Возможно придется переустанавливать все порты p5-* потому что они были проинсталированы в каталоги с более старой версией perl, а обновление проводилось некорректно
но надо же когда делать все "по-спортивному" ;-))
Получается, что portupgrade делает свою работу не корректно?19.01.06 14:28 Автор: Dpak0n4ik <Тимур Гладких> Статус: Member Отредактировано 19.01.06 14:32 Количество правок: 1
Делая portupgrade kde, утилита компилит пакет, потом делает резервную компию старого, выполняет pkg_delete -f <pakage>, потом выполняет make install для пакета, и если все прошло нормально удаляет резервную копию старого пакета. В случае неудачной установки, новый пакет удаляется и восстанавливается из резервной копии старый пакет.
Используя portupgrade самостоятельно удалять старый пакет не нужно - всю работу по обновлению сделает он сама утилита
Ясно. Хорошая концепция в пользу FreeBSD!19.01.06 15:51 Автор: Dpak0n4ik <Тимур Гладких> Статус: Member
Такой вопрос - интернет только на работе, а бсд-ка дома.
Как я могу обновить дерево портов или установить новую библиотеку не подключаясь к и-нету.
Например, с винды скачать все нужные файлы, а дома просто указать программе путь к ним и обновиться.
И еще, я не могу поставить mc-4.6.1_3 - он требует glib2.0..., я его скачал, а portupgrade боюсь ставить, так как слишком много зависимостей у этой библиотеке...Как быть?
можно сделать так30.01.06 16:11 Автор: ZaDNiCa <indeed ZaDNiCa> Статус: Elderman
обновляем дерево портом на работе, пакуем его
далее переносим все файлы с /usr/ports/distfiles куда нить, заходим в каталог с нужным софтом и делаем
make config (если есть)
make fetch-recursive
после этого все рекурсивные зависимости будут скачаны и уложены /usr/ports/distfiles, откуда можно будет их забрать и притянуть домой.
доам нужно не забыть распаковать дерево портов, чтобы оно было идентично тому что на рабочей машине.
А еще можно сделать так - все дистфайлы перенести в отельное место, и настроить апач, чтобы он отдавал их по адресу http://localhost/distfiles/. Затем в /etc/make.conf пишем
MASTER_SITE_OVERRIDE=http://localhost/distfiles/ после этого перед тем как стянуть что-то будет просматриваться файлы с этого вирт сайта
http://localhost/distfiles/, а потом уже оригинальное местонахождение. Это нужно для того чтобы /usr/ports/distfiles был пустым, и что можно было узнать какие именно файлы нужны для установки пакета. Естесственно перед каждой проверкой нужно тереть содержимое /usr/ports/distfiles/
Есть только одно НО:( - на работе винда...02.02.06 13:13 Автор: Dpak0n4ik <Тимур Гладких> Статус: Member