रिपॉजिटरी की सूची कैसे प्राप्त करें apt-get चेक कर रही है? [बन्द है]


133

मुझे source.list में repos की सूची चाहिए।

क्या मैं इस सूची को किसी अन्य होस्ट की स्थापना के लिए उपयुक्त रूप में प्राप्त कर सकता हूं ताकि यह उसी रिपॉजिट को देखता रहे?

इसके अतिरिक्त, मैं कैसे निर्धारित करता हूं कि कौन सा रेपो पैकेज का स्रोत है, या तो स्थापित है या उपलब्ध है?


जवाबों:


174

ऐसा लगता है कि निकटतम है:

apt-cache policy

3
क्या किसी ने आउटपुट बढ़ाया (urls आदि को संक्षेप में) और यहां अपनी कमांड को साझा करना चाहता है?
12

49

AFAIK आप उनके वर्तमान स्रोतों के लिए उपयुक्त नहीं पूछ सकते हैं, हालांकि आप शेल टूल का उपयोग करके जो चाहें कर सकते हैं।

रिपॉजिटरी की सूची प्राप्त करना:

grep -h ^deb /etc/apt/sources.list /etc/apt/sources.list.d/* >> current.repos.list

सूची लागू करना:

apt-add-repository << current.repos.list

एक पैकेज (स्थापित या उपलब्ध) से रेपो प्राप्त करने के बारे में, यह चाल चलेगा

apt-cache policy package_name |grep -m1 http| awk '{ print $2 " " $3 }'

हालाँकि, यह आपको उस पैकेज के नवीनतम संस्करण का भंडार दिखाएगा, पुराने संस्करणों के लिए आपके पास उसी पैकेज के लिए अधिक रिपॉजिटरी हो सकती है। यदि आप पूरी सूची देखना चाहते हैं तो सभी grep / awk सामान निकालें।


9
सरल पूर्ण सूचीapt-cache policy |grep http |awk '{print $2 $3}' |sort -u
शैडोबीक

एक जगह लापताapt-cache policy |grep http |awk '{print $2 " " $3}' |sort -u
छाया

Grep के साथ कमांड लाइन में: /etc/apt/sources.list.d/*को बदलना चाहिए /etc/apt/sources.list.d/*.list। कारण के रूप में क्यों, देख askubuntu.com/questions/82825/...
एरिक Sjölund


8

यह नेत्रहीन रूप से किसी अन्य मशीन की नकल करने के लिए उपयुक्त प्रारूप नहीं है, लेकिन जो उपयोगकर्ता काम करना चाहते हैं, उन्होंने अभी तक एक रिपॉजिटरी जोड़ी है या नहीं (जैसे मैंने किया था), आप बस कर सकते हैं:

sudo apt update

जब aptअद्यतन हो रहा है, तो यह प्राप्त होने वाले रिपॉजिटरी की सूची को आउटपुट करता है। यह स्पष्ट लगता है, लेकिन मुझे अभी पता चला है GETकि यह क्या है कि यह उगलता है।

संपादित करें: निम्न- awkआधारित अभिव्यक्ति का उपयोग एक स्रोत उत्पन्न करने के लिए किया जा सकता है। सूची:

 cat /tmp/apt-update.txt | awk '/http/ { gsub("/", " ", $3); gsub("^\s\*$", "main", $3); printf("deb "); if($4 ~ "^[a-z0-9]$") printf("[arch=" $4 "] "); print($2 " " $3) }' | sort | uniq

वैकल्पिक रूप से, जैसा कि अन्य उत्तर बताते हैं, आप catइस तरह के सभी पहले से मौजूद स्रोतों को देख सकते हैं:

cat /etc/apt/sources.list /etc/apt/sources.list.d/*

चूँकि विकलांग रेपो पर हैश के साथ टिप्पणी की जाती है, इस उद्देश्य के लिए काम करना चाहिए।


क्यों होता है पतन? कम से कम एक टिप्पणी छोड़ इतना है कि मैं अपने जवाब में सुधार कर सकते .......
starbeamrainbowlabs

टिप्पणी के साथ डाउनवोटेड (अभी के लिए): कृपया हमें यह दिखाएं कि इस आउटपुट को कैसे कैप्चर करें और इसे प्रश्न के उत्तर में परिवर्तित करें, यानी हर बार जब हम करते हैं apt update, तो इस सवाल से संबंधित जानकारी निकालने के लिए हम उस आउटपुट / टेक्स्ट को कैसे फ़िल्टर करते हैं?
डार्डीस्को

2
बेहतर हुआ! awkछानने में उपयोग के लिए +1 ।
dardisco

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.