Zarządzanie pakietami i repozytoria oprogramowania
Dystrybucje Linuksa oparte na Debianie opierają się na repozytoriach (bazach pakietów instalacyjnych aplikacji i pakietów aktualizacji) w celu aktualizacji systemów operacyjnych, a także łatwego pobierania i instalowania nowych pakietów oprogramowania. Lokalizacja tych repozytoriów jest przechowywana w katalogu /etc/apt/sources.list
, jednak dodatkowe źródła, zwykle unikalne dla określonych aplikacji, mogą być przechowywane w /etc/apt/sources.list.d
katalogu.
Po wykonaniu polecenia aktualizacji indeksu pakietów apt-get update
system operacyjny sprawdza w tych repozytoriach pakietów dostępne pakiety i rejestruje dostępne oprogramowanie jako dostępne dla systemu operacyjnego, które można zainstalować za pomocą tradycyjnego apt-get install <package>
polecenia.
Przykład jednego z tych źródeł oprogramowania:
deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ trusty main restricted
Ważne jest, aby te źródła odwoływały się do określonych wersji dystrybucji Linuksa. Przykładem jest zaufany, który jest kryptonimem Ubuntu 14.04. Możesz zapytać swój system operacyjny (oparty na Debianie), aby uzyskać szczegółowe informacje za pomocą lsb_release -a
lub lsb_release -sc
co oznacza skrót i kryptonim .
W twoim pytaniu część $(lsb_release -sc)
jest interpretowana, a wynik z twojego systemu operacyjnego jest drukowany w niestandardowym pliku źródłowym ros-latest.list, który polecenie utworzy po wykonaniu.
Tłumacz języka poleceń
sh
Polecenia jest Bourne powłoki . Jest to jedna z kilku powłok, ale jest uważana za stary standard i na ogół istnieje taka możliwość. Często występuje także bash
w wielu skryptach powłoki. Ta deklaracja określa powłokę, która ma być używana, ponieważ różne powłoki używają innej składni.
W odniesieniu do -c
flagi cytuje man bash
:
Jeśli dostępna jest opcja -c, polecenia są odczytywane z łańcucha. Jeśli po ciągu znajdują się argumenty, są one przypisywane do parametrów pozycyjnych, zaczynając od 0 $.
Wszystko w tekście ''
jest odczytywane jako ciąg znaków, nie musisz wymyślać, jak uciec od różnych znaków cudzysłowu, ani martwić się, że powłoka interpretuje coś w niewłaściwy sposób.
tl; dr
Polecenie drukuje deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main
do niestandardowego pliku źródłowego, zastępując $(lsb_release -sc)
go interpretowaną wartością.