# Aktualizacja systemu

## Andrzej1309

W celu aktualizacji systemu używam polecenia emerge -pvuDN world

Ostatnio z ciekawości zainstalowałem portato, choć nie jestem zwolennikiem takich okienkowych rozwiązań.

Menu Emerge->Pokaż możliwe uaktualnienia pakietów

Ukazuje mi się lista kilkunastu pakietów do uaktualnienia, czego nie wykrywa normalne polecenie emerge --pvuDN world

O co tu chodzi

----------

## Pryka

Niestety nie wiem o co chodzi ale mam podobną sytuację od dawien dawna w gołym portage.

A mianowicie gdy robię emerge -uDN world -av to moim oczom ukazuję się lista do aktualizacji w której z różnych nieznanym mi powodów nie zawsze wszystko jest. A gdy uruchomię aktualizację jakiegoś programu z palca np. emerge nano --oneshot to już widzi nowszą wersję i aktualizuje, czego nie można powiedzieć o wcześniejszej komendzie.

----------

## Andrzej1309

Ciekawe na ile bezpieczna jest aktualizacja za poprzez portato.

Chcąc mieć całkowicie aktualny system może warto by z tego ustrojstwa korzystać

Ewentualnie tylko podgląd pakietów do aktualizacji, a reszta "ręcznie" pod konsolą

----------

## SlashBeast

Moze to build time depsy, dodaj do emerge --with-bdeps y.

Jak nie wiesz co chce zainstalowac pakiet X dodaj --tree do emerge.

----------

## Andrzej1309

 *SlashBeast wrote:*   

> Moze to build time depsy, dodaj do emerge --with-bdeps y.

 

Po tym łaskawie dołączył 3 na 19 aktualizacji

----------

## sebas86

A update przez emerge -uDN  system -pv nie dorzuca brakujących pakietów? Jeśli nie to znaczy, że nie ma w world i system i nie wchodzą w żadne zależności więc mamy śmieci, których nie warto aktualizować. Jeśli to jest coś co jest potrzebne do ręcznie instalowanych aplikacji to może warto to w końcu dodać również do world?

----------

## Andrzej1309

 *sebas86 wrote:*   

> A update przez emerge -uDN  system -pv nie dorzuca brakujących pakietów? Jeśli nie to znaczy, że nie ma w world i system i nie wchodzą w żadne zależności więc mamy śmieci, których nie warto aktualizować. Jeśli to jest coś co jest potrzebne do ręcznie instalowanych aplikacji to może warto to w końcu dodać również do world?

 

Nie dorzuca, a co do śmieci, są to między innymi gtk+ czy też gtkmm

----------

## znal

 *Andrzej1309 wrote:*   

> Nie dorzuca, a co do śmieci, są to między innymi gtk+ czy też gtkmm

 A czasem te pakiety nie są wymagane w innych (niższych) slotach niż najnowszy?

Można sprawdzić np przez equery d gtkmm jaki slot gtkmm jest wciągany przez zależności. Jeśli nic nie wymaga najnowszego slotu, to aktualizacja gtkmm nic nie da i jej pominięcie nie jest błędem.

Przykładowo u mnie:

Portage nie znajduje nic do aktualizacji:

```
znal@znal ~ $ emerge  -pvuD @installed --with-bdeps=y

These are the packages that would be merged, in order:

Calculating dependencies... done!

Total: 0 packages, Size of downloads: 0 kB
```

chociaż istnieje wersja gtkmm nowsza niż mam zainstalowaną (ale jest w innym slocie):

```
znal@znal ~ $ eix -I gtkmm

[U] dev-cpp/gtkmm

     Available versions:  

        (2.4)   2.16.0[3] 2.18.2[1] 2.20.3[1] 2.22.0 2.22.0[1] 2.24.0 2.24.2 2.24.2[2]

        (3.0)   (~)3.0.1 (~)3.2.0

        {doc examples lib32 test}

     Installed versions:  2.24.2(2.4)(21:40:04 11.07.2011)(-doc -examples -test)

     Homepage:            http://www.gtkmm.org

     Description:         C++ interface for GTK+2

[1] "multilib" layman/multilib

[2] "sabayon" layman/sabayon

[3] "v-fox" layman/v-fox

```

Mogę sobie ją nawet zainstalować:

```
znal@znal ~ $ emerge  -pv gtkmm

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild  NS    ] dev-cpp/gtkmm-3.2.0 [2.24.2] USE="-doc -examples -test" 8,579 kB

Total: 1 package (1 in new slot), Size of downloads: 8,579 kB

```

ale nie jest potrzebne, bo pakiety z mojego worlda wymagają gtkmm tylko w slocie 2.4:

```
znal@znal ~ $ equery d gtkmm

 * These packages depend on gtkmm:

app-cdr/cdrdao-1.2.3-r1 (gcdmaster ? >=dev-cpp/gtkmm-2.4:2.4)

app-misc/workrave-1.9.4 (>=dev-cpp/gtkmm-2.10:2.4)

dev-db/mysql-workbench-5.2.35 (>=dev-cpp/gtkmm-2.14:2.4)

media-gfx/inkscape-0.48.2 (>=dev-cpp/gtkmm-2.18.0:2.4)
```

OIDP to kiedyś portage próbowało updatować wszystkie pakiety nawet jeśli były wymagane w niższym slocie(czyli w tym przykładzie emerge  -pvuD @installed --with-bdeps=y znalazło by też gtkmm-3.2.0), od którejś wersji zostało to poprawione i pakiety nie próbują się uaktualniać do niewymaganych (chociaż nowszych) slotów.

----------

## sebas86

 *znal wrote:*   

> A czasem te pakiety nie są wymagane w innych (niższych) slotach niż najnowszy?
> 
> Można sprawdzić np przez equery d gtkmm jaki slot gtkmm jest wciągany przez zależności. Jeśli nic nie wymaga najnowszego slotu, to aktualizacja gtkmm nic nie da i jej pominięcie nie jest błędem.

  Słuszna uwaga. Czyli nie emerge ma błąd, tylko inne narzędzia nie są zbyt inteligentne...

----------

