Jak powiedzieć aptowi, aby używał plików w /etc/apt/sources.list.d

16

Dodałem repo, wstawiając plik

 /etc/apt/sources.list.d 

a potem zrobiłem

 apt-get update.  

Jednak to nie zrobiło nic z tym repozytorium. Zauważyłem wtedy, że wydaje się, że nie zawiera żadnych repozytoriów w tym katalogu. Wygląda na to, że apt-get zauważa tylko rzeczy w /etc/apt/sources.list. Wszystkie pliki w katalogu kończą się na .list i zawierają coś takiego:

 virtualbox.list

      deb http://download.virtualbox.org/virtualbox/debian oneiric contrib

 pj-assis-ppa-oneiric.list

      deb http://ppa.launchpad.net/pj-assis/ppa/ubuntu oneiric main
      deb-src http://ppa.launchpad.net/pj-assis/ppa/ubuntu oneiric main

Czy muszę umieścić w instrukcji /etc/apt/sources.list jakieś instrukcje dołączania?

Używam kubuntu 11.10.

Jistanidiot
źródło
1
Możesz zrzucić bieżącą konfigurację apt za pomocą apt-config dump. Powinien być wiersz z napisem Dir::Etc::sourceparts "sources.list.d";. Może to pomaga w dalszym dochodzeniu.
phoibos,
Zrobiłeś apt-get updateczy sudo apt-get update? Jak zauważyłeś lub potwierdziłeś, że to repozytorium nie jest włączone?
Anwar,
po prostu skopiuj linie /etc/apt/sources.list.
zielony
Problem polegał więc na tym, że zainstalowałem pakiet z jednego ze zwykłych repozytoriów apt i chciałem go zaktualizować do wersji z jednego z nowych repozytoriów. Najwyraźniej nie jest to możliwe. Musiałem odinstalować pakiety, o których mowa, a następnie zainstalować z komentarzem wszystkich normalnych repozytoriów. Nadal nie jestem pewien, dlaczego podczas aktualizacji apt-get, że żadne z tych nowych repozytoriów nie ma wyświetlanych adresów URL.
Jistanidiot

Odpowiedzi:

11

Nazwy plików /etc/sources.list.dmuszą kończyć się .list, jeśli mają być uwzględnione jako źródła oprogramowania.

Jak mówi strona manuala sources.list :

OPIS

   The package resource list is used to locate archives of the package
   distribution system in use on the system. At this time, this manual
   page documents only the packaging system used by the Debian GNU/Linux
   system. This control file is /etc/apt/sources.list.

   The source list is designed to support any number of active sources and
   a variety of source media. The file lists one source per line, with the
   most preferred source listed first. The format of each line is: type
   uri args The first item, type determines the format for args.  uri is a
   Universal Resource Identifier (URI), which is a superset of the more
   specific and well-known Universal Resource Locator, or URL. The rest of
   the line can be marked as a comment by using a #.

ŹRÓDŁA. LISTA D

   The /etc/apt/sources.list.d directory provides a way to add
   sources.list entries in separate files. The format is the same as for
   the regular sources.list file. File names need to end with .list and
   may only contain letters (a-z and A-Z), digits (0-9), underscore (_),
   hyphen (-) and period (.) characters. Otherwise APT will print a notice
   that it has ignored a file if the file doesn't match a pattern in the
   Dir::Ignore-Files-Silently configuration list - in this case it will be
   silently ignored.

Biorąc przykład z tej strony , załóżmy, że chcesz zainstalować szefa kuchni (z opscode) , co zrobiłbyś:

  • Utwórz i otwórz plik o nazwie opscode.list:
    sudo vim /etc/apt/sources.list.d/opscode.list
  • Dodaj wymagany wiersz i zapisz plik:
    deb http://apt.opscode.com/ oneiric main

Powyższe kroki można połączyć, aby wykonać jedno polecenie:

sudo /bin/sh -c 'echo "deb http://apt.opscode.com/ onereic main" > /etc/apt/sources.list.d/opscode.list'

Uwaga: Komenda zawiera, onereicponieważ nazwa kodowa używanego Ubuntu to Onereic . Gdybyś używał Precise (12.04), miałbyś pisarza precise.

Zielony
źródło
5
Czy czytałeś PO? On robi wszystkie te kroki.
stycznia
Nie określił, jaki plik dodał.
zielony
1
On dał dwa imiona (virtualbox.list i innym)
Styczeń
3

Problem polegał na tym, że miałem pakiet zainstalowany z jednego ze zwykłych repozytoriów apt i chciałem go zaktualizować do wersji z jednego z nowych repozytoriów. Najwyraźniej nie jest to możliwe. Musiałem odinstalować pakiety, o których mowa, a następnie zainstalować z komentarzem wszystkich normalnych repozytoriów. Nadal nie jestem pewien, dlaczego podczas aktualizacji apt-get, że żadne z tych nowych repozytoriów nie ma wyświetlanych adresów URL.

Jistanidiot
źródło
1
Nie odpowiadasz na własne pytanie. To, co tutaj zrobiłeś, nie jest bardzo jasne, nie odnosi się do twojego pytania i prawdopodobnie powinno to być zrobione przez trafne przypięcie .
Johannes
3
Mogę tylko powiedzieć, że to rozwiązało problem, który miałem, kiedy zadałem pytanie. Druga „odpowiedź” najwyraźniej nie przeczytała mojego pytania i była całkowicie bezużyteczna. To działało dla mnie. Nie wiem, czy to zadziała dla kogokolwiek innego. Zakładam, że był to jakiś błąd w Ubuntu 11, który spowodował, że nie używał zaktualizowanych pakietów z dodatkowych repozytoriów. Wydaje się, że nie jest to problemem w Ubuntu 12 lub 13.
Jistanidiot