Edycja domyślnych repozytoriów oraz dodawanie nowych poprzez terminal/konsolę.

Tylko gotowe rozwiązania.
bear7
Moderator
Moderator
Posty: 6688
Rejestracja: 20 sty 2009, 23:12
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64
Lokalizacja: pwd

Edycja domyślnych repozytoriów oraz dodawanie nowych poprzez terminal/konsolę.

Post autor: bear7 » 17 paź 2013, 11:54

To, z czego Linux słynie to to, że chyba wszystko to co można wyklikać, można także zrobić z poziomu terminala lub konsoli. Nie inaczej jest w przypadku edycji repozytoriów.

:?: Czym są i do czego służą repozytoria oraz lista repozytoriów dla Naszego forum: viewtopic.php?f=142&t=169868
:?: Jak edytować repozytoria wykorzystując Centrum Oprogramowania Ubuntu (COU): viewtopic.php?f=142&t=169869.

Informacje dotyczące domyślnych repozytoriów przetrzymywane są w pliku tekstowym /etc/apt/sources.list. Do edycji tego pliku należy stosować zwykły edytor tekstu. Taką funkcję w terminalu i/lub konsoli pełni chociażby nano. Oczywiście, do edycji tego pliku można także wykorzystać gedit (domyślnie w Unity i GNOME), kate (w KDE) oraz leafpad (XFCE, LXDE). Aplikacje jak LibreOffice oraz OpenOffice są zwane procesorami tekstu i są stanowczo odradzane - oprócz podanego tekstu, przetrzymują również informacje o formatowaniu, między innymi nazwę czcionki, czy też jej rozmiar.

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
:?: :?: :?: ISTOTNE: Przed edycją repozytoriów, przy wykorzystaniu terminala, należy mieć na uwadze kilka bardzo istotnych rzeczy:
  • Niewłaściwa edycja pliku /etc/apt/sources.list nie ma bezpośredniego wpływu na stabilność i działanie systemu. Może mieć natomiast negatywny wpływ na proces instalacji i aktualizacji programów. Przed edycją pliku, zaleca się wykonanie jego kopii, co można uczynić poleceniem:

    Kod: Zaznacz cały

    sudo cp /etc/apt/sources.list /etc/apt/sources.list_BAK
    W przypadku problemów, oryginalną zawartość pliku można przywrócić chociażby poniższym poleceniem:

    Kod: Zaznacz cały

    sudo cp /etc/apt/sources.list_BAK /etc/apt/sources.list
  • Edytując repozytoria, należy mieć na uwadze wersję Ubuntu, z której korzystamy. Wprowadzenie informacji o repozytoriach przeznaczonych dla innego wydania Ubuntu (starszego lub nowszego), może spowodować problemy z działaniem i stabilnością systemu. Jeżeli nie jesteśmy pewni co do wydania, to możemy to sprawdzić poleceniem:

    Kod: Zaznacz cały

    lsb_release -a
    Informacje, na które należy zwrócić uwagę to numer wydania (release) oraz - co jest bardziej istotne - nazwa kodowa wydania (codename).
  • Po każdej zmianie (dodaniu, usunięciu, odblokowaniu, zablokowaniu) w repozytoriach, aby zmiany zostały wprowadzone do systemu, należy wykonać polecenie:

    Kod: Zaznacz cały

    sudo apt-get update
    Powyższe polecenie, gdy aktualizacja przebiegła pomyślnie, powinno zwrócić jako ostatnią linię:

    Kod: Zaznacz cały

    Czytanie list pakietów... Gotowe
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
[/color]
  • 1. Edycja domyślnie dostępnych repozytoriów Ubuntu.
Aby edytować plik w terminalu, wystarczy zastosować poniższe polecenie:

Kod: Zaznacz cały

sudo nano /etc/apt/sources.list
Gdy chcemy posłużyć się którymś z wyżej wymienionych edytorów tekstu: Lista repozytoriów dla aktualnie wspieranych wydań Ubuntu, dostępna jest tutaj: viewtopic.php?f=142&t=169868. Gdy chcemy wyłączyć dane repozytorium na pewien czas, przed jego nazwą, należy wstawić znak #, na przykład:

Kod: Zaznacz cały

deb http://extras.ubuntu.com/ubuntu precise main
deb-src http://extras.ubuntu.com/ubuntu precise main
#deb http://archive.canonical.com/ubuntu precise partner
#deb-src http://archive.canonical.com/ubuntu precise partner
Usuwanie wpisów zatem nie jest konieczne. Dane repozytorium jest wyłączone w systemie, dopóki przed jego nazwą widnieje znak #.
  • 2. Dodawanie nowych repozytoriów.
Od wydania Ubuntu 9.10 do systemu wprowadzono mechanizm ułatwiający dodawanie prywatnych repozytoriów. Nie trzeba już bawić się w ręczną edycję pliku /etc/apt/sources.list. Teraz, aby dodać dodatkowe repozytoria, wystarczy posłużyć się odpowiednio wywołanym poleceniem add-apt-repository , które do swojego działania wymaga uprawnień administratora. Podobnie jak w przypadku dodawania dodatkowych repozytoriów przy wykorzystaniu COU, musimy znać miejsce przechowywania archiwum. Składnia polecenia wygląda inaczej, gdy dodajemy archiwum położone na Launchpadzie, a inaczej gdy jest to prywatny serwer. W przypadku repozytoriów przetrzymywanych na prywatnych serwerach, musimy także znać położenie klucza PGP.

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
:!: :!: :!: UWAGA:
Wykorzystywanie dodatkowych repozytoriów nie jest w żaden sposób wymagane. Dodatkowe repozytoria mają na celu ułatwienie instalacji oprogramowania, z którego chcemy korzystać i które nie jest dostępne w domyślnych repozytoriach, jak jest często w przypadku zamkniętych sterowników dla kart graficznych.

Używanie dodatkowych repozytoriów może znacząco wpłynąć na stabilność systemu. Często, kilka programów współdzieli ze sobą pewne biblioteki, które są wymagane do ich poprawnego działania - tworzą się tak zwane zależności. Ubuntu dość dobrze radzi sobie z zarządzaniem oprogramowaniem oraz zależnościami. Aczkolwiek może się zdarzyć, że zaktualizowanie zależności jednego programu, może spowodować, że inne przestaną odpowiadać i/lub nie będą działały tak, jak powinny. Dlatego też, stosowanie dodatkowych repozytoriów jest raczej odradzane, a jeżeli już powstała konieczność ich używania, to zaleca się ograniczenie ich do minimum.

Pamiętaj, wykorzystaj tylko te repozytoria, które są Ci niezbędne do pracy na komputerze i/lub do jego skonfigurowania. Przed dodaniem archiwum ze sterownikami, upewnij się, że zawarte w nich sterowniki, obsługują twój sprzęt - w tym celu, zapoznaj się ze oficjalną stroną repozytorium.
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
    • 2.1 Repozytoria udostępnione na Launchpadzie.
W przypadku dodawania repozytoriów położonych na Launchpadzie, sprawa jest dość prosta i składania polecenia jest następująca:
sudo add-apt-repository położenie PPA
gdzie:
  • sudo - powoduje wywołanie polecenia z uprawnieniami administratora;
  • add-apt-repository - polecenie, które jest odpowiedzialne za dodanie PPA;
  • położenie PPA - nazwa, pod jaką PPA jest przechowywane na Launchpadzie.
W przypadku dodawania repozytoriów z Launchpada, nie trzeba martwić się o klucz PGP, gdyż jest on dodawany automatycznie.
Przykład:

Kod: Zaznacz cały

bear7@vbox:~$ sudo add-apt-repository ppa:tualatrix/ppa
[sudo] password for bear7: 
Dodawanie prywatnego archiwum pakietów:
 The official Ubuntu Tweak stable repository
 Więcej informacj: https://launchpad.net/~tualatrix/+archive/ppa
Proszę wcisnąć [ENTER], aby kontynuować lub CTRL-C, aby anulować dodawanie

gpg: zbiór kluczy ,,/tmp/tmpfstea4/secring.gpg'' został utworzony
gpg: zbiór kluczy ,,/tmp/tmpfstea4/pubring.gpg'' został utworzony
gpg: zapytanie o klucz 0624A220 z hkp serwera keyserver.ubuntu.com
gpg: /tmp/tmpfstea4/trustdb.gpg: baza zaufania utworzona
gpg: klucz 0624A220: zaimportowano klucz publiczny ,,Launchpad PPA for TualatriX''
gpg: brak absolutnie zaufanych kluczy
gpg: Ogółem przetworzonych kluczy: 1
gpg:               dołączono do zbioru: 1  (RSA: 1)
OK
bear7@vbox:~$ 
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
:?: :?: :?: ISTOTNE:
  • Po każdej zmianie (dodaniu, usunięciu, odblokowaniu, zablokowaniu) w repozytoriach, aby zmiany zostały wprowadzone do systemu, należy wykonać polecenie:

    Kod: Zaznacz cały

    sudo apt-get update
    Powyższe polecenie, gdy aktualizacja przebiegła pomyślnie, powinno zwrócić jako ostatnią linię:

    Kod: Zaznacz cały

    Czytanie list pakietów... Gotowe
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
[/color]
    • 2.2 Dodanie repozytoriów na oddzielnych, prywatnych serwerach za pomocą add-apt-repository.
W przypadku dodawania repozytoriów położonych na prywatnych serwerach, sprawa jest nieco bardziej skomplikowana. Domyślne narzędzie,czyli add-apt-repository, dość dobrze radzi sobie z dodawaniem również i tych repozytoriów. Składnia polecenia jest następująca:
sudo add-apt-repository "typ URL opcje"
gdzie:
  • sudo - powoduje wywołanie polecenia z uprawnieniami administratora;
  • add-apt-repository - polecenie, które jest odpowiedzialne za dodanie PPA;
  • typ - typ archiwum, który zależy od rodzaju przechowywanych danych;
  • URL - adres URL danego archiwum;
  • opcje - dodatkowe opcje, które opisują dodawane repozytorium, na przykład: nazwa kodowa danego wydania, nazwa zasobu do którego chcemy uzyskać dostęp.
:!: Dla tych, co nie zauważyli, w poleceniu występują dwa dodatkowe znaki - właściwe to jeden znak, ale dwukrotnie - cudzysłów ", który otwiera i zamyka część, która odpowiada za opis dodawanego repozytorium.
Przykład:

Kod: Zaznacz cały

bear7@vbox:~$ sudo add-apt-repository "deb http://archive.getdeb.net/ubuntu precise-getdeb apps"
[sudo] password for bear7: 
bear7@vbox:~$
Powyższe przykład pokazuje dodanie repozytorium do listy już obecnych.

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
:idea: :idea: :idea: SUGESTIA:
Powyższe polecenie można przystosować w taki sposób, aby nazwa dystrybucji była dobrana automatycznie, w zależności od wydania, z jakiego korzystamy. Z pomocą przychodzi polecenie:

Kod: Zaznacz cały

lsb_release -cs
Przykładowe zastosowanie:

Kod: Zaznacz cały

bear7@vbox:~$ sudo add-apt-repository "deb http://archive.getdeb.net/ubuntu $(lsb_release -cs)-getdeb apps"
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
[/color]

Dodanie repozytorium, to pierwsza część. Teraz należy dodać klucz PGP, który uwierzytelni nasze nowo dodane archiwum, w innym przypadku, odświeżenie listy repozytoriów zwróci nam błąd informujący o braku klucza publicznego:

Kod: Zaznacz cały

Czytanie list pakietów... Gotowe
W: Błąd GPG: http://archive.getdeb.net precise-getdeb Release: Następujące podpisy nie mogły zostać zweryfikowane z powodu braku klucza publicznego: NO_PUBKEY A8A515F046D7E7CF
bear7@vbox:~$ 
Aby dodać klucz, musimy znać jego położenie - adres URL. Gdy już znamy położenie klucza, do jego pobrania wykorzystamy polecenie wget, a do dodania klucza, polecenie apt-key.
Przykład:

Kod: Zaznacz cały

bear7@vbox:~$ wget -q -O - http://archive.getdeb.net/getdeb-archive.key | sudo apt-key add -
OK
Więcej o wget i apt-key i zastosowanych parametrach, można poczytać w manualach programów:

Kod: Zaznacz cały

man wget

Kod: Zaznacz cały

man apt-key
Po dodaniu klucza PGP, aktualizacja repozytoriów powinna przebiec bez żadnych problemów:

Kod: Zaznacz cały

Czytanie list pakietów... Gotowe
bear7@vbox:~$ 
    • 2.3 Dodanie repozytoriów na oddzielnych, prywatnych serwerach - inne narzędzia.
W przypadku niektórych repozytoriów, po dodaniu ich za pomocą narzędzia add-apt-repository, Ubuntu zgłaszał błąd w pliku /etc/apt/sources.list. W Ubuntu dążą do tego, aby plik sources.list zawierał jedynie domyślne repozytoria, a repozytoria dodatkowe, miałby być przechowywane w katalogu /etc/apt/sources.list.d/. Zatem, czasami możemy natrafić na sytuację, gdzie adres repozytorium jest poprawny, ale informacja o nim, została dodana w nieodpowiednie miejsce. W takich wypadach, należy dany wpis usunąć z pliku sources.list i odpowiednio dodać repozytorium do systemu, zapisując je w odpowiednim miejscu.
Na przykład, przy próbie dodania repozytorium dla Google-Chrome, przy wykorzystaniu narzędzia add-apt-repository i dodaniu odpowiedniego klucza GPG, po aktualizacji źródeł, zwracany jest błąd:

Kod: Zaznacz cały

Pobrano 198 B w 1s (173 B/s)   
W: Nie udało się pobrać http://dl.google.com/linux/chrome/deb/dists/stable/Release  Nie udało się znaleźć oczekiwanego wpisu "main/source/Sources" w pliku Release (nieprawidłowy wpis sources.list lub nieprawidłowy plik)

E: Nie udało się pobrać niektórych plików indeksu, zostały one zignorowane lub użyto ich starszej wersji.
bear7@vbox:~$ 
Aby dodać takie problematyczne repozytorium, można posłużyć się poniższą składnią:

Kod: Zaznacz cały

echo "dodawane repozytorium" | sudo tee /etc/apt/sources.list.d/nazwa_repozytorium.list
I tak na przykład, w przypadku repozytorium dla Google-Chrome, składnia ta wygląda następująco:

Kod: Zaznacz cały

bear7@vbox:~$ echo "deb http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome-stable.list
bear7@vbox:~$ 
Po dodaniu do systemu klucza GPG dla repozytorium Google-Chrome, problemów z nieprawidłowym wpisem w /etc/apt/sources.list już nie ma:

Kod: Zaznacz cały

Czytanie list pakietów... Gotowe
bear7@vbox:~$ 
Jest coś, co warto umieścić/zmienić/poprawić, daj mi znać przez PW: ucp.php?i=pm&mode=compose&u=93287
O pomoc pytaj a forum, a nie przez PW.
ODPOWIEDZ

Wróć do „Poradniki i przewodniki”