# Downgrade пакетов или ядра.

## burbulator

Доброго всем дня!

Подскажите как откатиться на более раннюю версию того или иного пакета/ядра?

И как в дальнейшем не обновлять этот пакет/ядро т.е. чтобы при апгрэйде всей системы она не тратила время на закачку например нового ядра?

З.Ы. подозреваю всё упирается в package.use.

----------

## Azik

Направление верное, но не package.use, а package.mask. Пример такой:

>=sys-kernel/gentoo-sources-2.6.23

Каждый атом - с новой строки.

----------

## burbulator

 *Azik wrote:*   

> Направление верное, но не package.use, а package.mask. Пример такой:
> 
> >=sys-kernel/gentoo-sources-2.6.23
> 
> Каждый атом - с новой строки.

 

Сделал так:

echo "=sys-kernel/gentoo-sources-2.6.23" > /etc/portage/package.mask && USE="-doc symlink" emerge gentoo-sources

и в консоли вижу:

Calculating dependencies... done!

>>> Verifying ebuild Manifests...

>>> Emerging (1 of 1) sys-kernel/gentoo-sources-2.6.23-r3 to /

Т.е. система никак не отреагировала на мою просьбу  :Sad: 

В чем может быть проблема?Last edited by burbulator on Fri Jan 11, 2008 2:48 am; edited 1 time in total

----------

## Azik

Ты замаскировал конкретную версию (знак равно впереди). Чтобы замаскировать эту и выше, надо ставить ">=" впереди.

----------

## calculator

+ чтобы _не потерять_ текущую версию из portage - ее полезно в локальный оверлей подсунуть.

----------

## burbulator

 *Azik wrote:*   

> Ты замаскировал конкретную версию (знак равно впереди). Чтобы замаскировать эту и выше, надо ставить ">=" впереди.

 

Я уже испробовал все возможные варианты:

echo ">=sys-kernel/gentoo-sources-2.6.23" > /etc/portage/package.mask && USE="-doc symlink" emerge gentoo-sources

Calculating dependencies... done!

>>> Verifying ebuild Manifests...

>>> Emerging (1 of 1) sys-kernel/gentoo-sources-2.6.22-r10 to /

и

echo "<=sys-kernel/gentoo-sources-2.6.23" > /etc/portage/package.mask && USE="-doc symlink" emerge gentoo-sources

Calculating dependencies... done!

>>> Verifying ebuild Manifests...

>>> Emerging (1 of 1) sys-kernel/gentoo-sources-2.6.23-r3 to /

и

echo "=sys-kernel/gentoo-sources-2.6.23" > /etc/portage/package.mask && USE="-doc symlink" emerge gentoo-sources

Calculating dependencies... done!

>>> Verifying ebuild Manifests...

>>> Emerging (1 of 1) sys-kernel/gentoo-sources-2.6.23-r3 to /

Как можно видеть в двух последних случаях эффект один и тотже  :Sad: 

Сейчас попробую ещё проделать эксперимент с package.unmask.

----------

## burbulator

 *calculator wrote:*   

> + чтобы _не потерять_ текущую версию из portage - ее полезно в локальный оверлей подсунуть.

 

Это если у тебя уже установлено какое-то ядро, а я ставлю покаещё всё с "нуля". Но всё равно спасибо за совет  :Smile: 

----------

## burbulator

Всем помогавшим мне БОЛЬШОЕ спасибо!!!

Опытным путём было найдено решение!

Оказывается все должно быть так:

1) echo "sys-kernel/gentoo-sources ~x86" >  /etc/portage/package.keywords

2) echo ">=sys-kernel/gentoo-sources-2.6.23" > /etc/portage/package.mask

3) echo "=sys-kernel/gentoo-sources-2.6.23" > /etc/portage/package.unmask

После чего набрав:

USE="-doc symlink" emerge gentoo-sources

Calculating dependencies... done!

>>> Verifying ebuild Manifests...

>>> Emerging (1 of 1) sys-kernel/gentoo-sources-2.6.23 to /

 :Smile:  Что и требовалось получить.

Спасибо всем!

----------

## zvn

 *burbulator wrote:*   

> 
> 
> 2) echo ">=sys-kernel/gentoo-sources-2.6.23" > /etc/portage/package.mask
> 
> 3) echo "=sys-kernel/gentoo-sources-2.6.23" > /etc/portage/package.unmask
> ...

 

Вы этими 2-мя пунктами что делаете: сначала Вы запрещаете (маскируете,закрываете) ядра >=2.6.23, затем разрешаете(размаскируете, открываете) =2.6.23

наложение unmask на mask даёт просто 

2) echo ">sys-kernel/gentoo-sources-2.6.23" > /etc/portage/package.mask

3) не нужно

т.е. Вам просто не нужны ядра старше 2.6.23

а вот  *burbulator wrote:*   

> 
> 
> 1) echo "sys-kernel/gentoo-sources ~x86" > /etc/portage/package.keywords 
> 
> 

 

зависит от того, какое состояние дерева у Вас на данный момент, так что на будущее лучше эту строку убрать. В данный момент она Вам, возможно, необходима, но если Вы уберёте маскировку ядра 2.6.23, получите ядро из нестабильной ветки.

----------

## burbulator

 *zvn wrote:*   

>  *burbulator wrote:*   
> 
> 2) echo ">=sys-kernel/gentoo-sources-2.6.23" > /etc/portage/package.mask
> 
> 3) echo "=sys-kernel/gentoo-sources-2.6.23" > /etc/portage/package.unmask
> ...

 

Только что проверил, можно и так:

1) echo "sys-kernel/gentoo-sources ~x86" > /etc/portage/package.keywords 

2) echo ">sys-kernel/gentoo-sources-2.6.23" > /etc/portage/package.mask

3) USE="-doc symlink" emerhe gentoo-sources

У меня чуть по другому:

1) т.к. это уже старенькое ядро и соответственно с некоторыми дырочками оно "анстэйбл" и соответственно если у меня в make.conf сказано только! "стэйбл" (x86), то мне для установки старой версии нужно сделать эту запись.

2) я замаскировал ядра включительно до 2.6.23

3) я снял маску только с конкретного ядра.

P.S. спасибо за помощь  :Smile: 

----------

