# Kopiowanie /usr i /var na inna patycje, problem z emerge

## przemoL

Chciałem przenieść /usr oraz /var na inna partycje, na już zainstalowanym systemie.

Właściwie to skopiowałem, za pomocą

```
cp -pR /usr /partycja_docelowa
```

no i to był mój błąd jak teraz wyczytałem powinienem użyć parametru -a, ale do rzeczy.

Skopiowałem jak skopiowałem, w fstab zamontowałem partycje oraz zbindowałem /usr i /var, ale po uruchomieniu systemu pojawił się problem z kdm, a właściwie logowaniem, wyszło na to że nie może utworzyć katalogu /var/tmp , więc stworzyłem go ręcznie i nadałem odpowiednie uprawnienia, ale podczas logowania wyskakuje drugi błąd, "Cannot open ConsoleKit session", więc chciałem go przebudować i tu pojawia się największy problem bo emerge chciało by przy okazji instalować X, KDE, no ogólnie wszystko (jako new), w sumie bym to przeżył ale pojawiają się zapętlające zależności.

```
* Error: circular dependencies:

(sys-devel/gcc-4.5.2::gentoo, ebuild scheduled for merge) depends on

 (sys-libs/glibc-2.13-r2::gentoo, ebuild scheduled for merge) (buildtime)

  (sys-devel/gcc-4.5.2::gentoo, ebuild scheduled for merge) (buildtime)

```

Ma ktoś jakiś pomysł jak naprawić to co nabroiłem?

Pozdrawiam Przemek

----------

## SlashBeast

Sprwadz czy nie uszkodziles sobie /var/lib/portage/world. Sprawdz tez czy masz /var/run, czy uprawnienia na /var/tmp sa 1777 itp.

----------

## przemoL

Mam /var/run, oraz /var/tmp (ten ostatni stworzyłem sam, dałem mu uprawnienia bo nie mogłem inaczej zalogować się do KDE).

Niestety nie  wiem jak sprawdzić czy nie uszkodziłem /var/lib/portage/world (jestem początkującym linuxowcem, ale pokochałem Gentoo od pierwszego wejrzenia,no może recenzji  :Very Happy: )

----------

## SlashBeast

Jest to plik tekstowy, zawiera liste aplikacji w secie world.

----------

## przemoL

Masz racje plik world jest uszkodzony.

Niestety nie mogę użyć regenworld bo /var/log/emerge.log też się skasował :/

Czy jest jakiś inny sposób żeby odbudować world (nie licząc ręcznego wpisywania)?

----------

## sherszen

Niestety nie. Pamiętasz co instalowałeś, prawda? Powgrywaj pakiety do pliku world za pomocą tego:

```
emerge --noreplace pakiet
```

----------

## przemoL

Niestety ten sposób też nie przejdzie z powodu zapętlających się zależności.

Znalazłem jeszcze coś takiego:

https://forums.gentoo.org/viewtopic-t-136627-start-0.html

ale niestety 

```
qpkg -I -nc > /var/lib/portage/world
```

 mi nie działa

----------

## SlashBeast

Tego kopiowania to nie przerwales w polowie? Za duzo strat masz na systemie plikow.

----------

## przemoL

Nie nie przerywałem. Tak jak wcześneij pisałem skopiowałem za pomocą 

```
cp -pR
```

edit:

Pomyślałem że z tymi zapętlający mi się zależnościami można by sobie poradzić w ten sposób:

```
emerge --nodeps pakiet
```

sposób działa (zapętlająca zależność znika) ale nie do końca bo wyskakuje błąd i kolejna zapętlająca się zależność:

```

* Searching all installed packages for file collisions...

 * 

 * Press Ctrl-C to Stop

 * 

 * None of the installed packages claim the file(s).

 * 

 * Package 'sys-libs/ncurses-5.9' merged despite file collisions. If

 * necessary, refer to your elog messages for the whole content of the

 * above message.

>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

```

zauważyłem również że pakiet zostaje dopisany do pliku world, wiec pomyślałem że zamiast mergować pakiet po pakiecie po prostu ręcznie dopisze je do world, ale niestety to nie działa i nadal są zapętlające się zależności

----------

