Jak dodać repozytorium apt-get bez edycji /etc/apt/sources.list?

19

Chcę dodać repozytorium do apt-get (bez potencjalnego bałaganu /etc/apt/sources.list) przez użytkownika skryptu. Ten skrypt może być uruchamiany wiele razy, więc nie mogę za każdym razem dodawać tego wpisu. Czy mogę w jakiś sposób dodać pojedynczy plik do katalogu z wpisami?

Wiem, że możesz to zrobić dla mniam, ale nie jestem pewien, czy jest to możliwe dla apt-get. Daj mi znać, jeśli będę musiał dodać więcej informacji.

Daisetsu
źródło
Dwukrotne kliknięcie pliku /etc/apt/sources.list powoduje otwarcie interfejsu GUI z kreatorem dodawania repozytoriów. Jest pole wyboru, w którym można włączać i wyłączać wpisy (np. Aby zezwolić na użycie nowego wpisu tylko podczas aktualizacji niektórych „obcych” programów repozytorium), a wpisy można usunąć. Tworzy również kopię zapasową o nazwie sources.list.save w tym samym katalogu. Jeśli potrzebujesz dodatkowej ochrony, zawsze możesz samodzielnie wykonać kopię oryginalnego pliku przed jego zmianą. Nie ma więc dużego ryzyka zepsucia pliku, jeśli właśnie z tego powodu wybierasz trasę skryptu.
fixer1234

Odpowiedzi:

21

Możesz umieścić pliki w /etc/apt/sources.list.d. Jest to opisane na stronie podręcznika dla sources.list(typ man sources.list). Strona podręcznika mówi:

Starsze LISTA ŹRÓDEŁ.D

Katalog /etc/apt/sources.list.d umożliwia dodawanie wpisów sources.list w osobnych plikach. Format jest taki sam, jak w przypadku zwykłego pliku sources.list. Nazwy plików muszą kończyć się na .list i mogą zawierać tylko litery (az i AZ), cyfry (0-9), podkreślenie (_), łącznik (-) i kropkę (.). W przeciwnym razie zostaną po cichu zignorowane.

AKTUALIZACJA:

LISTA ŹRÓDEŁ 2016

Katalog /etc/apt/sources.list.d umożliwia dodawanie wpisów sources.list w osobnych plikach. Dozwolone są dwa różne formaty plików, jak opisano w następnych dwóch sekcjach. Nazwy plików muszą mieć rozszerzenie .list lub .sources, w zależności od zawartego formatu. Nazwy plików mogą zawierać tylko litery (az i AZ), cyfry (0-9), podkreślenie (_), łącznik (-) i kropka (.). W przeciwnym razie APT wydrukuje powiadomienie, że zignorowało plik, chyba że plik ten pasuje do wzorca na liście konfiguracji Dir :: Ignore-Files-Silently - w takim przypadku zostanie po cichu zignorowany.

Larsks
źródło
8

Możesz spróbować:

add-apt-repository <REPOSITORY LINE>

Linia repozytorium byłaby po prostu tym, co dołączasz do pliku sources.list lub repozytorium PPA. Sprawdź stronę podręczną tutaj lub wykonaj:

man add-apt-repository
BloodPhilia
źródło
1
Po krótkim spojrzeniu na plik man dla repozytorium add-apt wygląda na to, że po prostu dołącza linię do pliku sources.list, nie wspomina o tym, czy sprawdza, więc jest to to samo co „linia echa >> sources.list ”, który już miałem. Dzięki za odpowiedź.
Daisetsu
2
@ Daisetsu Wiem, że tak, myślałem, że poczułeś się nieswojo ręcznie edytując plik! Musiałeś źle zrozumieć! Świetnie, że dostałeś odpowiedź, która Ci pomogła!
BloodPhilia
1

Pomyślałem (pomyślałem, że muszę) dodać repozytorium ppa do crunchbang, (debian) install:
( NB „raring” to wersja ubuntu, która pasowała do wersji debiana, której używałem), więc zrobiłem:

sudo su -

# you can call the file anything that you want, but it has to end with .list to be a valid for apt-get
echo 'deb http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu/ raring main'>> /etc/apt/sources.list.d/boot-repair.list

# get the keys for that repo so that apt can verify the signed .deb files
wget http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu/dists/raring/Release.gpg
apt-key add Release.gpg
#gpg --search-keys 60D8DA0B

apt-get update

Większość to wyjaśniono na rozruchu naprawy stronie (choć w końcu TestDisk a następnie Gparted były tym, co tak naprawdę potrzebne, aby przywrócić utraconą partycję i uszkodzony MBR). To chyba nie jest sposobem Debiana (TM), ale pracował dla mnie.

Niektóre repozytoria Debiana są w „starym stylu”, a wtedy potrzebujesz tylko linii takiej jak:

deb http://repo.alexx.net/apt/ /
# the trailing slash needs to be there

add-apt-repository jest dobre, jeśli go masz, ale wydaje się, że jest to bardziej ubuntu.

Alexx Roche
źródło
0

add-apt-repository ma trzecią formę (oprócz adresów URL PPA i pełnych wierszy apt), która umożliwia komponenty dystrybucji:

sudo add-apt-repository universe
sudo add-apt-repository contrib

Zostało to wprowadzone w 12.10 (Quantal).

Tobu
źródło
pokazuje Error: 'contrib' invalid użycie Ubuntu 16.04
Jaffer Wilson