Poradniki > Tips & Tricks

Instalacja Archa i Manjaro z CUPS 1.7

(1/1)

pavbaranov:
Niestety, zmiany wprowadzone ostatnio przez deweloperów Fedory i ujęte w cups i libcups w wersji 2.0.2 w dalszym ciągu nie rozwiązują wszystkich problemów z CUPS 2.x. Najczęściej występujące to kilkuminutowe przeciążenie procesora oraz brak możliwości obsługi CUPS przez jego podstawowy interfejs webowy.
Pierwszy problem możemy niekiedy zniwelować w sposób opisany tutaj: http://www.archlike.darmowefora.pl/index.php/topic,102.msg206.html#msg206. Pamiętajmy jednakże, że jeśli sposób ten nie pomoże, albo w jego wyniku przestaną być widziane drukarki, bądź serwer CUPS (dwie ostatnie sytuacje mi się przydarzyły), to powracamy z ustawieniami do poprzednich wartości.
Drugi problem, niekiedy, udaje się obejść poprzez instalację system-config-printer i obsługę CUPS z tego programu, albo też stosując sztuczki opisane tu: http://www.archlike.darmowefora.pl/index.php/topic,290.0.html.

Jeśli jednakże żadna z tych metod nie pomoże, to musimy zainstalować w systemie CUPS w wersji 1.7. Tutaj niestety rozwiązania są odmienne dla Archa i dla wszystkich jego pochodnych opartych o jego repozytoria oraz dla Manjaro.

I. Instalacja CUPS 1.7 w systemach, w których zainstalowany jest CUPS 2.x
a. Czynności wspólne dla Archa i Manjaro przed instalacją
Nie jest to wymagane, ale polecam dokonanie deaktywacji ewentualnych działających serwisów CUPS:

--- Kod: ---# systemctl stop org.cups.cupsd.service
--- Koniec kodu ---
lub
--- Kod: ---# systemctl stop org.cups.cupsd.socket
--- Koniec kodu ---
w zależności od tego, którego używamy oraz:

--- Kod: ---# systemctl disable org.cups.cupsd.service
--- Koniec kodu ---
lub
--- Kod: ---# systemctl disable org.cups.cupsd.socket
--- Koniec kodu ---
znów w zależności od tego, czego używamy.
UWAGA: Nie próbujemy odinstalować libcups, albowiem nierozsądne dokonanie tego odinstaluje nam praktycznie cały system.
b. Arch i pochodne
Najprościej wykonać to z użyciem narzędzia downgrade, które musimy zainstalować:

--- Kod: ---yaourt -S downgrade
--- Koniec kodu ---
Następnie wydajemy polecenie:

--- Kod: ---downgrade cups libcups
--- Koniec kodu ---
Pojawią się dwie, następujące po sobie listy możliwych do instalacji wersji cups i libcups, z których wybieramy (w obu przypadkach) wersję oznaczoną 1.7.5-1. Potwierdzamy chęć dezaktualizacji pakietów do tej wersji.
c. Manjaro
Nie mam tego systemu obecnie, zatem piszę jedynie tak, jak winno to zadziałać (i działało, gdy jeszcze miałem Manjaro).
UWAGA: Rozwiązanie jest oparte o paczki pochodzące z oryginalnych repozytoriów Archa, a nie Manjaro. Paczki te powinny zadziałać, ale pewności nie mam.
Poprzednie wersje paczek utrzymywane są w serwisie seblu.net. Instalacja polega zatem na odszukaniu wersji 1.7.5 właściwej dla danej architektury i jej zainstalowanie poprzez pacman.
Dla systemów 32bitowych:

--- Kod: ---# pacman -U http://seblu.net/a/archive/packages/c/cups/cups-1.7.5-1-i686.pkg.tar.xz http://seblu.net/a/archive/packages/l/libcups/libcups-1.7.5-1-i686.pkg.tar.xz
--- Koniec kodu ---

--- Kod: ---# pacman -U http://seblu.net/a/archive/packages/c/cups/cups-1.7.5-1-x86_64.pkg.tar.xz http://seblu.net/a/archive/packages/l/libcups/libcups-1.7.5-1-x86_64.pkg.tar.xz
--- Koniec kodu ---
Ze względu na podpisanie tych paczek, być może będzie konieczne wymuszenie instalacji, albo dodanie kluczy Archa do baz w Manjaro.
d. Czynności wspólne po instalacji
Blokujemy możliwość aktualizacji cups i libcups. Edytujemy plik /etc/pacman.conf, odszukujemy linię IgnorePkg i dodajemy tam cups oraz libcups. Jeśli nie mamy tam innych wpisów, winien on teraz wyglądać tak:

--- Kod: ---IgnorePkg = cups libcups
--- Koniec kodu ---
Startujemy usługę CUPS zgodnie z nomenklaturą przyjętą w CUPS 1.7, a zatem:

--- Kod: ---# systemctl start cups
--- Koniec kodu ---
lub
--- Kod: ---# systemctl start cups.socket
--- Koniec kodu ---
w zależności od oczekiwań (więcej tu: http://www.archlike.darmowefora.pl/index.php/topic,58)
lub na stałe:

--- Kod: ---# systemctl enable cups
--- Koniec kodu ---
lub
--- Kod: ---# systemctl enable cups.socket
--- Koniec kodu ---


2. Systemy, gdzie nie jest zainstalowany CUPS w żadnej wersji
Instalacja przebiega wg tego, co napisałem wyżej w pkt 1c i 1d. W Archu (i pochodnych) winna również zadziałać metoda opisana w pkt 1b zamiast używania 1c.

3. Alternatywa, czyli instalacja od podstaw systemu wraz z CUPS 1.7
Może się tak zdarzyć, że będziemy musieli dokonać nowej instalacji systemu i jednocześnie chcielibyśmy zainstalować CUPS w wersji 1.7. W Archu nie ma z tym problemów, albowiem cups i libcups są instalowane na późniejszym etapie, możemy zatem użyć najnowszych nośników instalacyjnych, a następnie postąpić zgodnie z tym, co opisane jest wyżej w pkt. 2.
Gorzej sprawa wygląda w przypadku Manjaro, albowiem jeśli mnie pamięć nie myli, to cups jest dostarczany wraz z nośnikiem instalacyjnym i instalowany z niego. Jeśli tak jest w istocie, to najrozsądniejszą opcją jest prawdopodobnie zainstalowanie systemu bazowego z użyciem obrazu netinstall, a następnie zainstalowaniu cups i libcups w sposób opisany w pkt. 2. Później dopiero zainstalowanie tego, czego sobie w systemie życzymy. Alternatywna metoda, to pobranie obrazu instalacyjnego sprzed 3.10.2014 r. i zainstalowanie systemu z niego. Wydaje się, że ostatnie takie wydanie pochodzi z czerwca 2014 i jest to wersja 0.8.10. Obrazy znajdziemy tutaj: https://sourceforge.net/projects/manjarolinux/files/archive/0.8.10/. Po zainstalowaniu tej wersji, otrzymamy cups i libcups w wersjach 1.7.3. Dlatego też w pierwszej kolejności, przed dokonaniem jakiejkolwiek aktualizacji systemu, wykonujemy czynności opisane w pkt. 1c i 1d. Następnie dopiero aktualizujemy system do "stanu obecnego". Pamiętajmy przy okazji, by wybrać jakiś nowszy kernel z dostępnych w tej wersji, albowiem wybranie obecnie porzuconego już w Manjaro kernela będzie powodować późniejsze problemy podczas aktualizacji.

Nawigacja

[0] Indeks wiadomości

Idź do wersji pełnej