Hej
Znalazłem wolną chwilę i skorzystałem z okazji posiadania 2 komputerów. Na jednym uruchomiłem serwer rsync i zacząłem eksperymentować
Dla przykładu
/etc/portage/rsync_excludesCode: Select all
+ xfce-extra/*
+ xfce-extra/*/*
+ app-dicts/aspell-pl
+ app-dicts/aspell-pl/*
*/*
Zgodnie z
man rsync jeśli zapisujemy do pliku dane(informacje) które mają być dołączone
include musimy je poprzedzić
'+ ' (plus i spacja). Jeśli to będzie plik mieszany to dane wyłączone
exclude muszą być poprzedzone
'- ' (minus i spacja) (to chyba niepotrzebne, bo w końcu umieszczamy w tym pliku to co nas nie interesuje)
Powyższy przykład wszystko wyłącza
*/* i aby coś dodać musi być umieszczone na początku. I teraz jeśli chcemy dołączyć całą gałąź najpierw za pomocą jednego
* dołączamy podgałęzie. emerge rsync ściągnie tylko katalogi. Dlatego chcąc pobrać jeszcze ebuildy należy w następnej lini dodać jeszcze jeden
*. (dziwne ale od razu dodanie
gałąź/*/* nie ściagnie tego co zamierzamy).
No i analogicznie dla konkretnej pogałęzi.
Code: Select all
+ app-dicts/aspell-pl
+ app-dicts/aspell-pl/*
Ściąga katalog aspell-pl i ebuildy dla niego.
No dobra ten przykład był troszkę dziwny bo kto nie dopuści wszytkiego by potem się w bawić w pojedyncze gałęzie/podgałęzie. Dlatego też:
Code: Select all
+ kde-base/kde-env
+ kde-base/kde-env/*
kde-base/*
kde-misc/*
Uaktualniamy całe drzewko, kde mówimy
nie z wyjątekiem kde-env które jest chyba wymagane przez kadu (będzie tak jak wcześniej powiedzili, czyli pozostanie w drzewku pusty katalog kde-misc oraz troszkę to dziwne ale aby wykluczyć całą gałąź należy podać
gałąź/*).
Zastanawiam się czy brakujące pakiety można by było umieścić w /var/db/pkg via
emerge -i lub
/etc/portage/package.provided, ale pewnie wówczas narobił się straszny bałagan.
No i na koniec pozostało jeszcze */podgałąź, ale czy takie coś ma sens?
Code: Select all
+ kde-base/kde-env
kde-base/*
kde-misc/*
I taki zapisa uważam za poprawny, to co wcześniej napisałem to troszkę źle. Brakuje mi bbcodu przekreślenia.
edit:usunięto i poprawiono
dla przykładu mój rsync_excludes
Code: Select all
+ kde-base/kde-env
+ kde-base/kde-env/*
kde-misc/*
kde-base/*
+ xfce-extra/terminal
+ xfce-extra/terminal/*
+ xfce-extra/exo
+ xfce-extra/exo/*
+ xfce-base/libxfce4util
+ xfce-base/libxfce4util/*
+ xfce-base/libxfcegui4
+ xfce-base/libxfcegui4/*
+ xfce-base/libxfce4mcs
+ xfce-base/libxfce4mcs/*
xfce-base/*
xfce-extra/*
+ app-dicts/aspell-pl
+ app-dicts/aspell-pl/*
+ app-dicts/aspell-en
+ app-dicts/aspell-en/*
app-dicts/aspell-*
+ app-dicts/ispell-pl
+ app-dicts/ispell-pl/*
app-dicts/ispell-*
app-dicts/stardict*
app-dicts/vdict*
app-dicts/freedict*
net-im/kadu
sys-apps/baselayout
sys-apps/baselayout-vserver
sys-apps/baselayout-darwin
sys-apps/baselayout-lite
+ app-i18n/man-pages-pl
+ app-i18n/man-pages-pl/*
app-i18n/man-pages-*
app-laptop/*
app-mobilephone/*
dev-ada/*
app-emacs/*
app-xemacs/*
media-plugins/xmms*
media-sound/xmms*
net-dialup/*
net-wireless/*