slackware.ru
http://www.slackware.ru/forum/

обновление до current
http://www.slackware.ru/forum/viewtopic.php?f=8&t=489
Страница 2 из 3

Автор:  kvladimir [ 29 май 2012 21:31 ]
Заголовок сообщения:  Re: обновление до current

Всем доброго времени суток...
Возникла проблема с обновлением до current. Несколько пакетов (В частности glibc 2.15) при соединении пишет файл не найдет. Дядя гугль молчит по этому вопросу, может кто-то что-то знает???

Зарание спс. :)

Автор:  yars [ 29 май 2012 22:45 ]
Заголовок сообщения:  Re: обновление до current

Slackpkg читает список пакетов из CHECKSUMS.md5. Вполне может быть, что какой-то файл не в том регистре/с опечатками записан, я сталкивался с таким. Ну, а далее slackpkg командует скачать несуществующий файл wget'у... Как вариант - скачать нужные файлы руками, wget-ом. А далее -
Код:
# upgradepkg --install-new --reinstall old-package%new-package.t?z

Автор:  kvladimir [ 30 май 2012 10:02 ]
Заголовок сообщения:  Re: обновление до current

В том то и дело, что я руками эти пакеты тоже найти не смог. :( в частности пакеты glibc-2.15*)
Вечером дома буду, выложу список.
Тут меня посетила идея, я как-то ставил алиеновские compat-32 пакеты. Однако потом все вроде бы вырезал. (банально не понадобились). Может где-то что-то осталось и теперь мне воду мутит?

P.S. после ВНИМАТЕЛЬНОГО прочтения CHECKSUMS.md5 файла и поиска по каталогам выяснено:
пакет ./l/glibc-2.15-x86_64-2 более не существует,
вместо него есть ./l/glibc-2.15-x86_64-3

Видимо checksums еще не поправили.
Блинский, вот везет мне, уже 3-й раз обновляюсь во время глобальных поправок в репе. Но на этот раз хоть без kernel-panic обошлось... :)

Автор:  bormant [ 30 май 2012 10:47 ]
Заголовок сообщения:  Re: обновление до current

yars писал(а):
Slackpkg читает список пакетов из CHECKSUMS.md5.
На самом деле, из FILELIST.TXT, по CHECKSUMS.md5 проверяет контрольную сумму. В этом легко убедиться по "less /usr/sbin/slackpkg /usr/libexec/slackpkg/core-functions.sh".
yars писал(а):
# upgradepkg --install-new --reinstall old-package%new-package.t?z
Вполне достаточно
# upgradepkg --install-new *t?z
# removepkg список исключённых с прошлого выпуска пакетов
Вместо последней строчки можно
# slackpkg clean-system
но придётся внимательно выбирать те, пакеты, что по ChangeLog.txt стали removed или changed. То есть какой-то автоматики это не сильно добавляет...

"old-package%new-package" предназначено немного для другого, применяется при изменении имени пакета, например, был util-linux-ng, стал util-linux, или наоборот. Вот тут и будет:
# upgradepkg util-linux-ng%util-linux-version-arch-buildtag.txz
Но можно намного проще:
# upgradepkg --install-new util-linux-version-arch-buildtag.txz
# removepkg util-linux-ng

kvladimir писал(а):
В том то и дело, что я руками эти пакеты тоже найти не смог. :( в частности пакеты glibc-2.15*)
Поставьте зеркалом http://slackware.osuosl.org/slackware64-current (или http://slackware.osuosl.org/slackware-current для 32-битной системы) -- это второй официальный источник после slackware.com (последний пока лежит), затем обязательно
# slackpkg update
Если теперь пытаться обновиться?
В этом репозитории визуально всё на месте:
a/glibc-solibs-2.15-x86_64-3.txz
a/glibc-zoneinfo-2012b_2012c-noarch-3.txz
l/glibc-2.15-x86_64-3.txz

kvladimir писал(а):
Тут меня посетила идея, я как-то ставил алиеновские compat-32 пакеты. Однако потом все вроде бы вырезал. (банально не понадобились). Может где-то что-то осталось и теперь мне воду мутит?
По списку будет видно. У мультилиба архитектура специфичная -- x86_32.

Автор:  bormant [ 30 май 2012 11:13 ]
Заголовок сообщения:  Re: обновление до current

kvladimir писал(а):
P.S. после ВНИМАТЕЛЬНОГО прочтения CHECKSUMS.md5 файла и поиска по каталогам выяснено:
пакет ./l/glibc-2.15-x86_64-2 более не существует,
вместо него есть ./l/glibc-2.15-x86_64-3

Видимо checksums еще не поправили.
На osuosl.org всё в порядке:
Код:
ccd33bd8e940dd40e1f6624c668fc432  ./a/glibc-solibs-2.15-x86_64-3.txz
f15e3db1b4318da1d5c745b4709952ed  ./a/glibc-zoneinfo-2012b_2012c-noarch-3.txz
80ffaacdb1d5e2cd81f5852ecc628cc7  ./l/glibc-2.15-x86_64-3.txz
0e0bb4da9c2d2b033a9e694a49d0faab  ./l/glibc-i18n-2.15-x86_64-3.txz
745675fd1759b1fed0073c6a4b5c5828  ./l/glibc-profile-2.15-x86_64-3.txz
Если у вас не так, можете попробовать задать вопрос вашему или провайдерскому прокси. Если дело в них, то можно в /etc/slackpkg/slackpkg.conf в WGETFLAGS добавить --no-cache.

Автор:  kvladimir [ 30 май 2012 11:37 ]
Заголовок сообщения:  Re: обновление до current

Видимо я не совсем так выразился...
1. у меня в mirrors-ах стоит http://ftp.belnet.be/packages/slackware ... ackware64/
если честно, выбирал из-за ширины канала. У него в checksums.md5:
Цитата:
e7e5c60f7fe1afde17675e727fa152dc ./l/glib2-2.28.6-x86_64-1.txz.asc
209ef473cbc59b4148872803cf620c02 ./l/glibc-2.15-x86_64-2.txt
a18ad3663be694f6adb687470474f4cf ./l/glibc-2.15-x86_64-2.txz
784ded12e905a48742050f669197ef2d ./l/glibc-2.15-x86_64-2.txz.asc
1ec74b028e7b73c7cc120e959a6de9b7 ./l/glibc-i18n-2.15-x86_64-2.txt
c12adf946fdabe3a98d96cc36f1d4f5d ./l/glibc-i18n-2.15-x86_64-2.txz
25c6acf257c680bf57215a2ba7e12a69 ./l/glibc-i18n-2.15-x86_64-2.txz.asc
ddd5fa8b30f187172a712a820bee1b24 ./l/glibc-profile-2.15-x86_64-2.txt
36b7c728fbe5967e9b0618ecae41872c ./l/glibc-profile-2.15-x86_64-2.txz
3d25717eaa2e1d35b19912e559a5bc59 ./l/glibc-profile-2.15-x86_64-2.txz.asc
5b68f81affe6007a42c534a25449ff15 ./l/gmime-2.4.15-x86_64-1.txt

вечером попробую http://slackware.osuosl.org/slackware64-current
Цитата:
Если у вас не так, можете попробовать задать вопрос вашему или провайдерскому прокси.

прокся не используется. (пока что...) :)

Бормант-у спс. :)

Автор:  bormant [ 30 май 2012 12:03 ]
Заголовок сообщения:  Re: обновление до current

И выразились правильно, и понял вас тоже правильно. Но говорил немного о другом -- среди всех зеркал первым официальным является osuosl.org. Перед критическими операциями имеет смысл сверить ваше зеркало с osuosl.org. Либо приспосабливаться к расписанию обновления своего зеркала. Либо посмотреть на другие зеркала и их состояние (как один из вариантов mirror.yandex.ru, но с ним тоже на те же грабельки наступал). Либо использовать osuosl.org в критических случаях и не очень ;-) .

А по поводу приведённого зеркала -- на текущий момент отсутствует ChangeLog.txt, что явно свидетельствует о неполной синхронизации.

Автор:  kvladimir [ 30 май 2012 13:35 ]
Заголовок сообщения:  Re: обновление до current

bormant писал(а):
Перед критическими операциями имеет смысл сверить ваше зеркало с osuosl.org. Либо приспосабливаться к расписанию обновления своего зеркала. Либо посмотреть на другие зеркала и их

А если не секрет, как можно сверить 2 зеркала??? Только вручную? или slackpkg это умеет?

Автор:  bormant [ 30 май 2012 17:24 ]
Заголовок сообщения:  Re: обновление до current

slackpkg не умеет -- он работает только с одним источником.
Если есть локальный кэш пакетов, можно воспользоваться "rsync --dry-run" к эталону и к быстрому зеркалу.
На самом деле, беда не в том, что зеркало старовато, а в том, что оно в противоречивом (неконсистентном) состоянии. А тут только по симптомам -- имена/суммы.

Автор:  Multiplex [ 18 авг 2012 19:54 ]
Заголовок сообщения:  Re: обновление до current

Всем доброго времени суток.
Читал ман по slackpkg. В нем говорится, что slackpkg upgrade-all правильно использовать для обновления всей системы, а перед этим делать install-new.
У меня теперь вопрос:
Для того, чтобы обновляться до current с помощью slackpkg нужно иметь все пакеты установленными или нет?

Автор:  bormant [ 18 авг 2012 20:30 ]
Заголовок сообщения:  Re: обновление до current

Multiplex,
краткий ответ -- нет.

Теперь чуть подробнее.
# slackpkg install-new
сканирует ChangeLog.txt на предмет пакетов с меткой "Added." и предлагает их список для установки. Именно такие пакеты считаются новыми, а не те, которые есть в дистрибутиве, но не установлены.
С выходом новой версии помимо простого обновления версий пакетов, какие-то пакеты добавляются в дистрибутив, какие-то уходят из него. В релизе присутствуют файлы UPGRADE.TXT и CHANGES_AND_NOTES.TXT, в которых отражены указанные изменения. Однако -current -- ещё не релиз и указанные файлы для него ещё не подготовлены. Тем не менее, сведения о добавленных и удалённых пакетах имеются в ChangeLog.txt. Добавленные пакеты могут быть как несущественными с точки зрения функционирования системы (например, какой-то прикладной софт), так и критичными (например, добавление udev или аналогичных). Пропуск первых не приведёт к печальным последствиям для системы, в отличие от вторых.
В Slackware решение о том что нужно, а что нет, целиком на совести администратора системы. Но отсутствие критичных для функционирования системы пакетов приведёт к тем или иным глюкам или неработоспособности системы (а некритичных -- не приведёт).

# slackpkg clean-system
наоборот, предлагает список всех пакетов, отсутствующих в официальном релизе. Естественно, это не означает, что все их нужно удалять. В официальной документации на этот счёт есть предложение временно добавить в blacklist пакеты, которые хочется сохранить. Например, для пакетов со slackbuilds.org это довольно легко сделать -- все они имеют тэг _SBo, соответственно описываются маской *_SBo.

Автор:  Igornord [ 26 авг 2012 18:27 ]
Заголовок сообщения:  Re: обновление до current

rpm из current (4.10) то ли собран не совсем верно, то ли глючгый. Путается с вложенными директивами %if--%else-%endif. С одной стороны rpm нами почти не используется, с другой стороны нужен напрмер мне для кросскомпиляции. Откат на 4.8 решил проблемы, но может кому пригодится эта инфа.

Автор:  bormant [ 26 авг 2012 19:54 ]
Заголовок сообщения:  Re: обновление до current

Пока релиз не объявлен есть шанс на исправление ошибок при наличии вменяемого багрепорта. Не могли бы вы привести коротенечкий пример для воспроизведения проблемы (если только подобное поведение не стало официальным нововведением в апстриме -- в самом rpm)?

Автор:  Igornord [ 26 авг 2012 21:21 ]
Заголовок сообщения:  Re: обновление до current

Выдержка из спека:

Summary: GNU Compiler Collection
Name: %{_stm_pkg_prefix}-cross-gcc
%if_target_cpu sh
Version: 4.5.2
%else
%if_target_cpu arm
Version: 4.5.0
%else
Version: 4.2.4
%endif
%endif
Release: 78
License: GPL/LGPL
Group: Development/Languages

Вылет по ошибке, количество %endif неверно.

Воспроизвести ситуацию могу со 100%-ной повторяемостью.

git clone git://gitorious.org/~igornord/open-duck ... is-tdt.git
cd cris-tdt/tdt/cvs/cdk
./make.sh
Ответы: 18,12,N,3,3,2,1,1,1
make bare-os

На этапе компиляции gcc получаем вышеприведенную ошибку. Все вышеприведенные действия делаются не из под root в домашнем хоумнике. Выполнена инсталляция слаки Full.

Автор:  bormant [ 26 авг 2012 21:50 ]
Заголовок сообщения:  Re: обновление до current

Можно попросить привести точное сообщение об ошибке?

В идеале -- неплохо бы воспроизвести на искусственном примере, состоящем из 1) спека и 2) выполняемой команды. Приведённый выше вариант всё же довольно много за собой тянет.

ps. Как назло, rpm.org недоступен с 500 ошибкой и узнать, не было ли какого патча на rpm на этот счёт после выхода 4.10 пока не получается. Вполне допускаю, что ошибку легко могли проглядеть, не так уж и много активных пользователей у rpm4 осталось.

Автор:  Igornord [ 26 авг 2012 23:27 ]
Заголовок сообщения:  Re: обновление до current

Got a %endif with no %if
Ругается на 11 строку спека (приведено начало выше)

Автор:  bormant [ 27 авг 2012 09:58 ]
Заголовок сообщения:  Re: обновление до current

Не могло такое получиться, что в 4.10 попросту изменился синтаксис, google не находит %if_target_cpu (точнее, находит только в том вашем tdt - Duckbox), но находит такое:
http://www.openmamba.org/showfile.html? ... edded.spec
Код:
%if "%{_target_cpu}" == "i586"

rpm.org у меня по-прежнему недоступен, пока проверить предположения, увы, не могу.

Автор:  Igornord [ 27 авг 2012 14:05 ]
Заголовок сообщения:  Re: обновление до current

В таком случае неверно сообщение об ошибке. С точки зрения логики конструкция приведенная выше совершенно верна. Другое дело, что может быть путаница с влеложенным if-endif. Причем отмечу еще одно. Ранее (в прошлом году) было такое-же, потом rpm поправили и оно исчезло. Сейчас опять то же самое. Конструкция кстати не самописная, а из дистрибутива stlinux, то есть этот спек оттуда. Я понимаю, что эта вещь (использование нами rpm) для нашего брата некритично. Но мне например из-за этого приходится держать еще виртуальный ubuntu (там таких проблем нет). Вполне возможно, что сменили что-то в самом rpm, я же не спорю.

P.S. Посмотрел исходники 4.8.1 и 4.10.0. parseSpec.c немного переписан с использованием макросов. Там судя по всему ошибка и закралась.

Автор:  Igornord [ 18 янв 2013 09:12 ]
Заголовок сообщения:  Re: обновление до current

Обновился до current. На SMP имеем kernel-panic. Погуглив пришел к выводу - проблема с AMD процессорами. Как я понимаю - единственный выход - downgrade до предыдущей версии. То есть до 3.2.29. Печальная мысль - как это Патрик облажался -((( Вернее тестеры подвели. Чем там народ думал??? И думает???

Автор:  bormant [ 18 янв 2013 09:31 ]
Заголовок сообщения:  Re: обновление до current

Igornord писал(а):
Обновился до current. На SMP имеем kernel-panic. Погуглив пришел к выводу - проблема с AMD процессорами.
Можно увидеть фото/цитату первого (Kernel panic) и найденные ссылки по второму (раз уж разбирались)? Плюс, неплохо бы привести названия заподозренного железа (AMD процессора).

Иначе разговор получается "ни о чём", не видно читателям форума, что у вас там происходит.

ps. И опять же, если проблема в каком-то конкретном параметре конфигурации ядра, что мешает поменять/ пересобрать/ проверить, благо всё для этого есть в наличии:
http://slackware.osuosl.org/slackware-current/source/k/

pps. Единственно, что нагуглилось по slackware-current 3.7.1 kernel panic amd:
http://www.linuxquestions.org/questions ... 175442486/
но это явно вашему описанию не соответствует.

ppps. Как обновляли ядро (и на какое huge/generic), чуть подробнее расскажите. Про разрядность системы 32/64 тоже неплохо было бы упомянуть.

Страница 2 из 3 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/