Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[Unix] Теоретический вопрос. 19.01.06 11:52
Автор: IgorMan2 Статус: Незарегистрированный пользователь
|
У меня установленный продукт 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
|
Если я например хочу сделать апгрейт kde или gcc, то нужно обязательно удалить старую версию и поставить новую?
|
| | |
нет, не так 19.01.06 15:32
Автор: ZaDNiCa <indeed ZaDNiCa> Статус: Elderman Отредактировано 19.01.06 15:34 Количество правок: 1
|
Делая portupgrade kde, утилита компилит пакет, потом делает резервную компию старого, выполняет pkg_delete -f <pakage>, потом выполняет make install для пакета, и если все прошло нормально удаляет резервную копию старого пакета. В случае неудачной установки, новый пакет удаляется и восстанавливается из резервной копии старый пакет.
Используя portupgrade самостоятельно удалять старый пакет не нужно - всю работу по обновлению сделает он сама утилита
|
| | | |
Ясно. Хорошая концепция в пользу FreeBSD! 19.01.06 15:51
Автор: Dpak0n4ik <Тимур Гладких> Статус: Member
|
|
| | | | |
Такой вопрос - интернет только на работе, а бсд-ка дома. 30.01.06 15:38
Автор: 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
|
Есть только одно НО:( - на работе винда...
Я, блин, даже не могу файл создать со списком портов и зависимостей...требуется и-нет.
|
| | | | | | | |
тогда дома [updated] 02.02.06 13:40
Автор: ZaDNiCa <indeed ZaDNiCa> Статус: Elderman Отредактировано 06.02.06 17:27 Количество правок: 1
|
делать нужно так:
cd /usr/ports/<category>/<portname>
make fetch-recursive-list
записать вывод в файл, а на работе зарядить список в download manager
|
| | | | | | | | |
emerge во FreeBSD ?? 06.02.06 16:52
Автор: makeworld Статус: Member
|
|
| | | | | | | | | |
проглючило ;-)) поправил 06.02.06 17:27
Автор: ZaDNiCa <indeed ZaDNiCa> Статус: Elderman
|
|
| | | | | | | | |
Спасибо!!! 05.02.06 12:38
Автор: Dpak0n4ik <Тимур Гладких> Статус: Member
|
|
|
|