Poradniki > Software

[How To]ManjArch czyli przerabiamy Manjaro na Arch Linux

(1/1)

sir_lucjan:
 Poradnik przeznaczony jest dla zaawansowanych użytkowników. Jeśli w trakcie dokonywania zmian pojawią się komplikacje, nie każdy użytkownik będzie w stanie dokonać właściwej analizy sytuacji!

Wielu użytkowników zapyta pewnie "Po co przerabiać Manjaro na Arch Linux, skoro można zainstalować Bridge Linux". Owszem, można. Takie rozwiązanie jest nawet wskazane. Jednak istnieje grupka użytkowników, która uważa, że Manjaro ma po prostu lepszą prekonfigurację i chciałoby spróbować właśnie tego systemu. Z myślą o nich napiszę jak stworzyć swoistą hybrydę - nadam jej kryptonim ManjArch

Sposób przeprowadzania zmian jest zależny od używanej przez nas wersji Manjaro (chodzi o repozytoria stable, testing, unstable, a nie numer "wersji" Manjaro). Im mniejsze są różnice pomiędzy paczkami w obu systemach, tym większe prawdopodobieństwo sukcesu. Przede wszystkim zatem należy doprowadzić do takiej sytuacji. Niekiedy będzie się to łączyć z aktualizacją Manjaro do innej wersji, niekiedy nie. W dość szczególnej sytuacji są użytkujący Manjaro unstable, albowiem wersje ich programów - co do zasady - odpowiadają Arch Testing. Pamiętajmy jednak, że to nie jest reguła, bowiem Unstable w Manjaro służy przede wszystkim przygotowaniu nowej wersji systemu. Nie jest to zatem to samo, co np. Sid dla Debiana. Niekiedy może okazać się, że wersja z Testing jest bliższa Archowi - wówczas należy zaktualizować system do Testing. Musisz to sprawdzić sam, porównując niestety pakiety w obu dystrybucjach. Jedynie możemy powiedzieć, że "prawdopodobnie Manjaro Testing w dużej mierze odpowiadać może Arch Stable" oraz "Manjaro Unstable powinno (aczkolwiek nie musi) odpowiadać Arch Testing". Powoduje to różnice w sugerowanych zmianach.
Zanim zatem rozpoczniemy cokolwiek, porównujemy wersje pakietów według następującej kolejności
- Manjaro Stable - Arch Stable
- Manjaro Testing - Arch Stable
- Manjaro Testing - Arch Testing
- Manjaro Unstable - Arch Testing
i znajdujemy te repozytoria, które najbardziej odpowiadają sobie.

1. W zależności od wyników owych wstępnych czynności, dokonujemy aktualizacji systemu do tej wersji, która najbardziej odpowiada paczkom w repozytoriach Arch. Prawdopodobnie, obecni użytkownicy Manjaro Stable będą musieli wykonać aktualizację do Manjaro Testing tak, by przejść na Arch Stable, zaś użytkownicy Manjaro Unstable będą musieli przejść na Arch Testing. Nie jest to jednak reguła bez wyjątków i wszystko zależy od chwili, w której wykonywane są zmiany.

Generalna zasada zmiany repozytorium w Manjaro, wygląda tak:


--- Kod: ---sudo pacman-mirrors -g -b nazwa_repozytorium && sudo pacman -Syyu
--- Koniec kodu ---

gdzie "nazwa_repozytorium" przybiera stable, testing lub unstable.

2. Następnie powinniśmy odinstalować manjaro-release.


--- Kod: ---pacman -R manjaro-release
--- Koniec kodu ---

Teraz wykonujemy polecenie:


--- Kod: ---updatedb && locate lsb-release
--- Koniec kodu ---

Jeśli system zgłosi istnienie następującego pliku: /etc/lsb-release powinniśmy skasować tenże plik.

3. Wchodzimy na stronę https://www.archlinux.org/mirrorlist/ i generujemy listę repozytoriów, na przykład:


--- Kod: ---##
## Arch Linux repository mirrorlist
## Generated on 2013-12-23
##

## Germany
#Server = http://mirror.1favre.de/$repo/os/$arch
#Server = http://archlinux.limun.org/$repo/os/$arch
#Server = https://archlinux.limun.org/$repo/os/$arch
#Server = http://artfiles.org/archlinux.org/$repo/os/$arch
#Server = http://mirror.fluxent.de/archlinux/$repo/os/$arch
Server = http://ftp5.gwdg.de/pub/linux/archlinux/$repo/os/$arch
#Server = http://mirror.hactar.bz/$repo/os/$arch
#Server = http://ftp.hawo.stw.uni-erlangen.de/archlinux/$repo/os/$arch
#Server = http://ftp.hosteurope.de/mirror/ftp.archlinux.org/$repo/os/$arch
#Server = http://ftp-stud.hs-esslingen.de/pub/Mirrors/archlinux/$repo/os/$arch
#Server = http://mirror.de.leaseweb.net/archlinux/$repo/os/$arch
#Server = http://mirror.michael-eckert.net/archlinux/$repo/os/$arch
#Server = http://mirror.netcologne.de/archlinux/$repo/os/$arch
#Server = http://ftp.neutrinopower.de/archlinux/$repo/os/$arch
#Server = http://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch
#Server = http://linux.rz.rub.de/archlinux/$repo/os/$arch
#Server = http://mirror.selfnet.de/archlinux/$repo/os/$arch
#Server = http://ftp.spline.inf.fu-berlin.de/mirrors/archlinux/$repo/os/$arch
#Server = http://truefunny.com/m/archlinux/$repo/os/$arch
#Server = http://ftp.tu-chemnitz.de/pub/linux/archlinux/$repo/os/$arch
#Server = http://ftp.tuxdroid.org/archlinux/$repo/os/$arch
#Server = http://ftp.uni-bayreuth.de/linux/archlinux/$repo/os/$arch
#Server = http://ftp.uni-kl.de/pub/linux/archlinux/$repo/os/$arch
#Server = http://mirror.unitedcolo.de/archlinux/$repo/os/$arch

--- Koniec kodu ---

Podmieniamy zawartość pliku /etc/pacman.d/mirrorlist na świeżo wygenerowany.

4. Edytujemy plik:


--- Kod: ---sudo nano /etc/pacman.conf
--- Koniec kodu ---

i usuwamy zawartość dwu linii: HoldPkg i SyncFirst, bądź poprzedzamy te linie znakiem "#" (bez cudzysłowu).

5. Następnie wykonujemy polecenie:


--- Kod: ---pacman -Syyu
--- Koniec kodu ---

Uwaga: użytkownicy repozytoriów Unstable w Manjaro, prawdopodobnie przed wykonaniem powyższego polecenia, będą musieli dokonać edycji pliku pacman.conf, w ten sposób, że przed repozytoriami core, community i multilib dopisujemy odpowiednio testing, community-testing oraz multilib-testing.

Jeśli system zgłosi nam istniejący konflikt pomiędzy pakietami, zgadzamy się na wszelkie propozycje. Zresztą i tak nie mamy innego wyjścia ;)

Jeśli aktualizacja zakończyła się pomyślnie - możemy zrestartować system, by przekonać się czy mieliśmy szczęście.

Stanowczo odradzam korzystanie z wszelkich downgradów. Może to mieć katastrofalne skutki.

6. Jeśli czytasz ten poradnik dalej, to znak, że wszystko wykonało się prawidłowo.

Poniższe porady (od punktu 6) są tylko i wyłącznie opcjonalne. Jeśli nie chcesz ich wykonywać, nie ma takiego obowiązku. Im dalej w las, tym większe prawdopodobieństwo poważniejszej awarii i fiaska ostatecznego. Narzędzia firmowe Manjaro działają także w Arch Linux, zatem nie ma konieczności, by je odinstalować. Jednak gdyby kogoś naszła taka ochota, podam sposób, jak to zrobić. Niemniej, może się zdarzyć (choć wcale nie musi), że wyżej wymienione pakiety nie będą chciały się odinstalować - system zgłosi, że są wymagane przez inne. Porady jak tego dokonać znajdują się w aktualizacji poradnika (KLIK)

7. Wykonujemy następujące polecenie:


--- Kod: ---pacman -R manjaro-system $(pacman -Qsq mhwd)
--- Koniec kodu ---

Opcjonalnie możemy również usunąć wszystko, co jest związane z Manjaro. Pełna lista zostanie wyświetlona przez polecenie:


--- Kod: ---pacman -Qs manjaro
--- Koniec kodu ---

Kolejny krok (oznaczony numerkiem 7)  który również można określić krokiem opcjonalnym. Ja podałem najszybszą metodę, czyli wybór kernela dystrybucyjnego Arch Linux. Jeśli masz taką ochotę/kaprys/potrzebę, to możesz zainstalować kernel z repo-ck lub skompilować dowolny z AUR - oczywiście polecam kernele będące pod naszą opieką czyli linux-bridge-pl, linux-uksm-ice, linux-bfs oraz linux-uksm-ck. Możemy też zostawić kernel Manjaro - wszystko zależy od decyzji użyszkodnika.
.
8. Następnie instalujemy dystrybucyjny kernel Arch Linux


--- Kod: ---pacman -S linux linux-headers
--- Koniec kodu ---

Odświeżamy GRUB poleceniem:


--- Kod: ---grub-mkconfig -o /boot/grub/grub.cfg
--- Koniec kodu ---

9. Logujemy się na dystrybucyjny kernel Arch Linux i jeśli chcemy, odinstalujmy kernel Manjaro


--- Kod: ---pacman -Rcns linux310
--- Koniec kodu ---

10. Zbliżamy się do Wielkiego Finału. Wyczerpująca misja została zakończona. Efekt pracy tuż-tuż.....

Jeśli wszystko poszło dobrze, powinniśmy otrzymać mniej więcej podobny rezultat:


--- Kod: ---lsb_release -a
LSB Version: 1.4
Distributor ID: Arch
Description: Arch Linux
Release: rolling
Codename: n/a

--- Koniec kodu ---


--- Kod: ---inxi -xS
System:    Host: archlinux Kernel: 3.12.6-1-ARCH i686 (32 bit, gcc: 4.8.2)
           Desktop: Xfce 4.11.2 (Gtk 2.24.22) Distro: Manjaro Linux
--- Koniec kodu ---

Jak widzimy, część narzędzi rozpoznaje Arch Linux, część Manjaro. Posiadanie hybrydy zwanej ManjArch staje się faktem :D

UWAGA!! W powyższym poradniku pominięto kwestię usuwania PulseAudio - na ten temat został napisany oddzielny poradnik.

Powtarzam też, że poradnik przedstawia zagadnienia bardzo eksperymentalne. Jeśli coś pójdzie nie tak, możesz mieć pretensje tylko i wyłącznie do siebie, gdyż zostałeś ostrzeżony.

Aktualizacja poradnika. Stan na dzień: 13 stycznia 2014 roku

Udało się rozwiązać problem różnicy wpisów pomiędzy komendami lsb_release oraz inxi.


--- Kod: ---inxi -xS
System:    Host: archlinux Kernel: 3.12.6-1-ARCH i686 (32 bit, gcc: 4.8.2)
           Desktop: Xfce 4.11.2 (Gtk 2.24.22) Distro: Manjaro Linux

--- Koniec kodu ---

Na początek musimy wydać trzy polecenia, aby zrobić na wszelki wypadek kopie zapasowe plików:


--- Kod: ---cp /etc/issue /etc/issue.save
cp /etc/manjaro-release /etc/manjaro-release.save
cp /etc/os-release /etc/os-release.save
--- Koniec kodu ---

Następnie ustawiamy następującą zawartość plików:


--- Kod: ---cat /etc/issue
Arch Linux \r  (\n) (\l)
--- Koniec kodu ---


--- Kod: ---cat /etc/manjaro-release
Arch Linux
--- Koniec kodu ---


--- Kod: ---cat /etc/os-release
NAME="Arch Linux"
ID=arch
PRETTY_NAME="Arch Linux"
ANSI_COLOR="1;32"
HOME_URL="http://www.archlinux.org/"
SUPPORT_URL="http://www.archlinux.org/"
BUG_REPORT_URL="http://bugs.archlinux.org/"

--- Koniec kodu ---

Następnie wykonujemy kontrolnie polecenie:


--- Kod: ---grub-mkconfig -o /boot/grub/grub.cfg
--- Koniec kodu ---

Od teraz wyniki polecenia będą wyglądały następująco"


--- Kod: ---inxi -xS
System:    Host: archlinux Kernel: 3.12.7-2-ARCH i686 (32 bit, gcc: 4.8.2)
           Desktop: Xfce 4.11.2git-UNKNOWN (Gtk 2.24.22) Distro: Arch Linux
--- Koniec kodu ---

System staje się coraz bliższy Arch Linux, więc otrzymuje nową nazwę kodową - Archjaro.

Powtarzam po raz kolejny, że poradnik przedstawia zagadnienia bardzo eksperymentalne. Jeśli coś pójdzie nie tak, możesz mieć pretensje tylko i wyłącznie do siebie, gdyż zostałeś ostrzeżony.

Aktualizacja poradnika. Stan na dzień: 16 lutego 2014 roku

Chciałbym dopisać kilka uwag technicznych, co robić w przypadku, gdy nie da się wykonać jednego z punktów lub gdy pojawiają się inne problemy.

Nie można odinstalować narzędzi Manjaro

Bardzo prawdopodobne, że nie został przeinstalowany pakiet mesa-libgl oraz pacman. Należy zatem wykonać:


--- Kod: ---pacman -S --force mesa-libgl pacman
--- Koniec kodu ---

Najlepiej jest skonfigurować od nowa /etc/pacman.conf. Jego nowa wersja została zapisana jako /etc/pacman.conf.pacnew. Po tym zabiegu usunięcie narzędzi Manjaro nie będzie problemem.

Nie działa dźwięk

Po odinstalowaniu manjaro-alsa może przestać działać dźwięk. Musimy doinstalować odpowiedni pakiet:


--- Kod: ---pacman -S alsa-utils
--- Koniec kodu ---

a następnie wydać polecenie:


--- Kod: ---alsactl init
--- Koniec kodu ---

Nawigacja

[0] Indeks wiadomości

Idź do wersji pełnej