Dlaczego apt nie może znaleźć kodu źródłowego żadnego pakietu?


8

Próbuję pobrać kod źródłowy niektórych pakietów, na przykład rhythmbox, w celach edukacyjnych. Chcę to zrobić za apt-getpomocą apt-get sourcepolecenia.

Z jakiegoś powodu apt-getnie mogę znaleźć żadnej paczki. Wypróbowałem kilka pakietów i ciągle otrzymuję ten wynik z apt-get:

$ apt-get source rhythmbox
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to find a source package for rhythmbox

Od dłuższego czasu szukam odpowiedzi, ale nie mogę znaleźć nikogo z tym samym problemem. apt-getdziała dobrze z instalacją i aktualizacją, więc apt-getmoim zdaniem działa dobrze. Podczas wyszukiwania dowiedziałem się również, że muszę włączyć „repozytoria kodu źródłowego” w źródłach oprogramowania, więc to również jest włączone.

Zdaję sobie sprawę z tego, że (być może tylko dla niektórych pakietów, nie jestem pewien) pakiety źródłowe można również pobrać z bzrLaunchpad, ale chcę wiedzieć, dlaczego ta metoda nie działa.


Odpowiedzi:


7

Otwórz Centrum oprogramowania i wybierz Edycja -> Źródła oprogramowania. Z jakiego serwera korzystasz? Używam „Server and United States” i po prostu pobrałem źródło rhythmbox. Jestem na Precise.


Dziękuję za Twoją odpowiedź! Okazało się, że korzystam z niewłaściwego serwera. Korzystałem z serwera z Holandii. Przeniesiony do USA i teraz działa! :) Dziękuję Ci bardzo!
Muurverf,

nie próbowałem tego jeszcze ... BTW gdzie kod źródłowy jest przechowywany na komputerze ... lub pojawia się w katalogu, z którego uruchomiłeś polecenie?
juggernauthk108

W katalogu, w którym uruchamiasz polecenie, tak jak ja niejasno przypominam.
GaryBishop

6

apt-get source rhythmbox działa tylko wtedy, gdy masz włączone repozytoria źródłowe, zaktualizowałeś listę pakietów ORAZ faktycznie masz to repozytorium w swoich źródłach.

Jeśli na przykład zainstalowałeś normalną instalację Ubuntu i nie dodałeś żadnych repozytoriów apt. Następnie wszystko, co musisz zrobić, to upewnić się, że „Kod źródłowy” jest sprawdzony. Jeśli dodałeś dodatkowe repo, musisz mieć dwa wpisy dla każdego repo. Jeden dla „głównego” (zwykle) i jeden dla „źródła”.

Również na wypadek, gdybyś tego nie zrobił. Uruchom apt-get updateponownie, aby uzyskać wszystkie nowe repozytorium.

Teraz apt-get source instaluje źródło dla dokładnie zainstalowanego pakietu. Oznacza to, że jeśli zainstalowałeś deb z jakiegoś nieparzystego ppa (głównego), wówczas źródło musi być w jakimś nieparzystym ppa (źródłowym). Pakiety zainstalowane z jakiegoś nieparzystego ppa nie będą pobierać źródła z innych repozytoriów, ponieważ nie jest to ta sama wersja.

Sprawdziłem i Rhythmbox jest dostępny poprzez repozytoria źródłowe. Po prostu nie umieściłeś odpowiedniego repozytorium źródłowego w apt repos lub nie uruchomiłeś jeszcze aktualizacji apt-get.


Dziękuję za Twoją odpowiedź! Okazało się, że używałem niewłaściwego serwera.
Muurverf,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.