LINUX.ORG.RU

Обновление пакетов в Slackware 9.1


0

0

Хотел бы задать вопрос: как правильно обновлять пакеты и в том числе ядро из пакетов. Я скачал с ftp.slackware.com из папки slackware-current три пакета для нового ядра 2.4.25 (само ядро, модули и заголовки ядра). и обновил их с помощью pkgtool. 1) Это все что нужно для обновления ядра? Или есть еще какие-то пакеты, которые надо обязательно обновлять вместе с ядром?

2) перед обновлением пакетов, надо ли удалять старые версии?

3) Если можно поподробнее, по поводу обновления заголовков ядра. А то я где-то читал, что заголовки должны быть той версии, с которыми компилился то ли glib, то ли еще что-то, забыл уже.


Ответ на: комментарий от Freezer

Во-первых я не знаю что это такое :) Но так понимаю, что для автообновления. А во-вторых - мне бы хотелось понять суть вопроса, а с автообновлением это сложнее сделать.

dzoleg
() автор топика

Мужик, я не юзаю слаку, но восхищен тем, что умудряется все это делать
один человек, поэтому слежу за развитием иногда.

Допустим у тебя версия 9.1.

все что тебе нужно это скачивать периодически все что находится
в папке
ftp://ftp.slackware.com/pub/slackware/slackware-9.1/patches/
или на зеркалах в таком же месте. Не нужно думать о зависимостях
и прочих вещах.

Обрати там внимание на файл ChangeLog.txt. Он все время меняется,
по мере появления новых патчей. Там же есть короткие инструкции
как что делать. И еще обязательно руковоство по Слаке смотри.

Я думаю, все просто должно быть. Смысла в лезть в current нет,
если только нечем занятся.

anonymous
()
Ответ на: комментарий от anonymous

Забыл сказать, что в

ftp://ftp.slackware.com/pub/slackware/slackware-9.1/patches/

именно располагаются новые ядра для slackware 9.1. Ты увидишь
слово kernel в названии того или иного патча.
Поскольку дырок обнаруживается в ядре почти каждый месяц,
то много там всяких предыдущих ядер-патчей, и их не смысла
скачивать, бери самый последний только,
если ранее вообще не обновлялся.

Автообновление - это простой скрипт, который как раз-таки
запускается и залазиит на указанное выше место, качает оттуда файлы
и подсовывает их pkgtool. Можешь сам написать себе программу
автообновления на любом языке программирования.

anonymous
()
Ответ на: комментарий от anonymous

Спасибо, конечно...... но мне бы хотелось понять, какие пакеты нужно обновлять вместе с ядром в обязательном порядке.

dzoleg
() автор топика
Ответ на: комментарий от dzoleg

Никаких отдельных пакетов не должно обязательно ставиться.
Все в ядре есть все что ему надо.
Думаю, инсталятор правильно положит новое рядом со старым ядром.
Единственно надо lilo сделать, чтобы загрузчик грузил
новое ядро вместо старого.

Все я пошел спать.

anonymous
()
Ответ на: комментарий от anonymous

А не откажутся ли какие-нибудь пакеты работать, не увидев родного ядра. Нет ли в slackware пакетов, которые требуют того ядра, с которым поставлялся родной дистриб?

dzoleg
() автор топика
Ответ на: комментарий от dzoleg

> Нет ли в slackware пакетов, которые требуют того ядра, с которым поставлялся родной дистриб?

Разве только модули (в том числе ALSA или видео). И то скорее всего никаких проблем не будет. Ничего страшного -- в первом случае вы скачаете пакеты для ALSA, во втором -- переустановите видеодрайвер. Сразу говорю, что это мои рассуждения, не подкрепленные практикой.

Далее. По поводу любых неочевидных вещей (например, как _правильно_ обновить дистрибутив с одной версии на другую) Патрик всегда пишет в специальном файле типа README.

P.S. Вы, похоже, не совсем поняли разницу между patches и -current. Первое -- исправления найденных багов или дырок. Софт там находится в состоянии "stable", оттестирован на то, что он правильно прикладывается к работающей системе. -current же -- тестовая ветка (из которой рано или поздно "вылупляется" очередной релиз, в данном случае -current в один прекрасный момент превратится в Slackware 10.0 или как Патрик решит его назвать), там самые новые версии софта, возможно, что с багами и прочее. Для маньяков, короче.

Obidos ★★★★★
()
Ответ на: комментарий от Obidos

Большое спасибо. А ядро-то можно взять из current? Там последнее из ветки 2.4.25. А в patches - предпоследнее - 2.4.24. Или с ядром тоже могут быть подвохи в данной ситуации, хотя ядро официальное?

И еще. Я где-то мельком видел, что вместе с ядром надо обновлять и glib. Также я все таки не уверен по-поводу kernel headers, про которые я тоже где-то читал. Вроде как их не всегда надо обновлять. Но тут я совсем не уверен. Извиняюсь за детские вопросы :)

dzoleg
() автор топика
Ответ на: комментарий от dzoleg

Слушай, а что тебе мешает взять свежее ядро с kernel.org и самому собрать его под свою машину?? так же и с остальными версиями софта...обычно при конфигурации я указываю доп. параметры, поэтому не пользуюсь уже скомпилиным, вдруг там меня что - то не устроит...

dgeliko ★★
()

Пока я спал я глубже понял суть твоего вопроса.
Вот, возможно, ответ тебя устроит.

Допустим в самый начальный момент выхода каждой версии слаки была ситуация:

1) октябрь 2002: вышел 8.0 с ядром 2.4.12, компилятором и библиотеками gcc версии 3.0.

2) март 2003 вышел 9.0: с ядром 2.4.16, компилятором и библиотеками gcc версии 3.1.

3) сентябрь 2003 вышел 9.1: с ядром 2.4.20, компилятором и библиотеками gcc версии 3.2.

4) текущая версия - март 2004: с ядром 2.4.26, компилятором и библиотеками gcc версии 3.3.

Допустим все эти четыре версии 8.0, 9.0, 9.1 и current Патрик поддерживает. Для примера на всех системах все разное.
Следовательно, у него дома рядом с пивной бочкой должны
стоять четыре разных компьютера.

Допустим сейчас апрель 2004 и только что обнаружилась дырка в ядре.
Патрик берет одно новое ядро из kernel.org скажем 2.6.28 и компилит их четыре раза
на каждом из этих компутов с их разными компиляторами и библиотеками.
Получаются четыре разных ядра с одним и тем же
названием kernel-2.4.28. Их патрик толкаит каждый в свою директорию patches.
Вот и все. Теперь будет ситуация:

1) 8.0 со своим ядром 2.4.28 для компилятора и библиотеки gcc версии 3.0.

2) 9.0: со своим ядром 2.4.28 для компилятора и библиотеки gcc версии 3.1.

3) 9.1: со своим ядром 2.4.28 для компилятора и библиотеки gcc версии 3.2.

4) текущая версия: со своим ядром 2.4.28 для компилятора и библиотеки gcc версии 3.3.

Это хорошо если версии компиляторов и библиотек в некоторых
версиях совпадают - тогда меньше работы, и ядра действительно
одни и те же.

Итого: все (ядра и среды) подогнано друг к другу по определению.
Но главное не забывать кроме ядер обновлять еще и остальное,
sendmail к примеру. Там все по такому же принципу делается.

anonymous
()
Ответ на: комментарий от anonymous

Спасибо за объемный ответ. Многое прояснил для себя, но все таки главный вопрос остался - какие пакеты ОБЫЧНО следует менять в обязательном порядке, после смены ядра? Т.е. какие пакеты привязаны к ядру?

Кстати, по поводу sendmail. Если я использую postfix, у него там в конфиге прописывается путь до sendmail. Я не знаю для чего, возможно postfix его как-то использует. Так вот, в случае использования postfix, sendmail все равно надо перекомпилить?

И самое главное - как мне в дальнейшем определять, какие пакеты требуют перекомпиляции после смены ядра?

Извиняюсь за такое количество вопросов :)

anonymous
()
Ответ на: комментарий от anonymous

> какие пакеты привязаны к ядру

В случае "у вас 9.1", а вы обновляетесь из patches -- никакие. Вы обновляете в общем случае три пакета -- kernel, kernel-modules, kernel-source.

Если вы обновляетесь из -current, нужно читать (снизу вверх) Changelog к -current, доступный, например, здесь: http://www.slackware.com/changelog/current.php?cpu=i386. Если какие зависимости есть, то там это будет написано. Например, "пакет1 Recompiled against пакет2". Значит, Патрик считает, что пакет1 зависит от пакета2. Тогда лучше всего сначала обновить пакет2, потом пакет1. Побочным эффектом вы рано или поздно полУчите вообще все самые свежие пакеты, то есть станете "Slackware-current".

Про postfix. Sendmail можете не устанавливать вообще. Файл с именем sendmail будет принадлежать postfix (я не помню, это "честный" бинарник или просто симлинк).

Obidos ★★★★★
()
Ответ на: комментарий от anonymous

Обязательно. Одинаковые версии должны быть у трех вещей: собственно ядра, модулей (иначе в общем случае не будут грузиться) и хедеров (иначе в общем случае перестанет собираться половина софта).

Obidos ★★★★★
()
Ответ на: комментарий от Obidos

Ага. Ясно, спасибо. А перед установкой этих пакетов с помошью pkgtool, надо предварительно удалить старые? Например, насколько я понял хедеры, всегда ложатся в одно место, независимо от версий. И если я не удалю старые хедеры, не будет ли проблем из-за накатывания новых, поверх старых?

anonymous
()
Ответ на: комментарий от fagot

кстати, а где брать хедерсы кернела?? и куда их засовывать? и еще: они под определнный дистриб или как - то по другому идут? т.е. они стандартные, или дистрибьюторы их меняют как-то под свой дистр?

anonymous
()
Ответ на: комментарий от dzoleg

Re: Обновление пакетов в Slackware 9.1

ну если знаешь - ответь плиз...

anonymous
()
Ответ на: комментарий от anonymous

>стати, а где брать хедерсы кернела?? и куда их засовывать?

Это знает инсталятор конкретного дистрибутива... вообще говоря _обычно_ исторически сложившееся место это /usr/src/linux/include + соответствующие симлинки на этот каталог из дерева инклудов типа /usr/include/linux (но разумеется возможны варианты)

> и еще: они под определнный дистриб или как - то по другому идут? т.е. они стандартные, или дистрибьюторы их меняют как-то под свой дистр?

Вообще говоря ДА (RH и SuSE к примеру перелопачивают ядро и добавляют в него свои патчи). Если речь идет о слаке то там ядро ванильное (то есть с kernel.org)

sS ★★★★★
()
Ответ на: комментарий от sS

Re: Обновление пакетов в Slackware 9.1

т.е. достаточно скачать с kernel.org ядро, распаковать его в /usr/src/ сделать симлинк типа ln -s /usr/src/linux-xxx /usr/src/linux и все? проги при компиляции хедерсы сами находить будут?

anonymous
()
Ответ на: Re: Обновление пакетов в Slackware 9.1 от anonymous

>т.е. достаточно скачать с kernel.org ядро, распаковать его в /usr/src/ сделать симлинк типа ln -s /usr/src/linux-xxx /usr/src/linux и все? проги при компиляции хедерсы сами находить будут?

Да.

sS ★★★★★
()
Ответ на: Re: Обновление пакетов в Slackware 9.1 от anonymous

Хедеры рекомендуется оставлять теже самые, с которыми скомпилены glibc(для current - это 2.4.25)

Хедеры в Slackware лежат в /usr/include/linux и /usr/include/asm (для 2.4.х).

Посмотреть версию хедеров - "ls /var/log/packages/kernel-headers*"

Deleted
()
Ответ на: комментарий от Deleted

Значит так, если я поставил Slackware 9.1 и хочу только обновить ядро, я должен взять ядро и модули. А поскольку glibc я обновлять не буду, то хедеры обновлять не надо. Я так понимаю?

А если еще и glibc обновить, то тогда и соответствующие хедеры надо будет обновлять.

dzoleg
() автор топика
Ответ на: комментарий от dzoleg

Отвечу сам себе. Если зайти в каталог patches, то можно увидеть, что там отсутствует обновление kernel-headers (но есть новое ядро и модули), и собственно нет пока обновлений для glibc. Видимо когда выйдет новый glibc, тогда и появится соответствующий пакет kernel-headers.

dzoleg
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.