Apt მიიღეთ განახლება რას აკეთებს. APT პაკეტის მართვის სისტემა

apt-get უტილიტა არის მძლავრი უფასო კონსოლის პროგრამა, რომელიც გამოიყენება და მუშაობს APT (Advanced Packaging Tool) ბიბლიოთეკასთან ახალი პროგრამული პაკეტების დასაყენებლად, არსებულის წასაშლელად, დაინსტალირებულის განახლებისთვის და ასევე მთელი ოპერაციული სისტემის განახლებისთვის.

apt-cache კონსოლის პროგრამა გამოიყენება ქეში APT პროგრამული პაკეტების მოსაძიებლად. ლაპარაკი მარტივი სიტყვებით, ეს ინსტრუმენტი გამოიყენება პაკეტების მოსაძებნად, პაკეტების შესახებ ინფორმაციის შესაგროვებლად და ინსტალაციისთვის ხელმისაწვდომი პაკეტების მოსაძებნად ოპერატიული სისტემა Debian ან Ubuntu-ზე დაფუძნებული.

როგორ მივიღო ყველა ხელმისაწვდომი პაკეტის სია?

ყველა ხელმისაწვდომი პაკეტის სანახავად, შეასრულეთ შემდეგი ბრძანება:

Apt-cache pkgnames

როგორ ვიპოვო პაკეტის სახელი და მისი აღწერა.

ინსტალაციამდე პაკეტის სახელისა და აღწერილობის საპოვნელად გამოიყენეთ „ძებნის“ დროშა. "ძიების" გამოყენებით apt-cache აჩვენებს შესატყვისი პაკეტების სიას მოკლე აღწერილობით. მაგალითად, გსურთ იპოვოთ vsftpd პაკეტის აღწერა: ამისათვის ბრძანება უნდა იყოს ასეთი:

Apt-cache ძიება vsftpd

იმისათვის, რომ იპოვოთ და ჩამოთვალოთ ყველა პაკეტი, რომლის სახელი იწყება vsftpd-ით, შეგიძლიათ გამოიყენოთ შემდეგი ბრძანება:

Apt-cache pkgnames vsftpd

როგორ ვნახო პაკეტის ინფორმაცია?

მაგალითად, თუ გსურთ იხილოთ ინფორმაცია პაკეტის შესახებ, მისი მოკლე აღწერილობით, სადაც ნაჩვენებია ვერსიის ნომერი, გამშვები ჯამები, ზომა, დაინსტალირებული ზომა, კატეგორიები და ა.შ., შეგიძლიათ გამოიყენოთ "ჩვენება" ქვებრძანება, როგორც ეს ნაჩვენებია ქვემოთ:

Apt-cache შოუ netcat

როგორ შეგიძლიათ შეამოწმოთ პაკეტის დამოკიდებულება?

კონკრეტული პაკეტის დამოკიდებულების შესამოწმებლად, შეგიძლიათ გამოიყენოთ showpkg ქვებრძანება, რომ ნახოთ ეს დამოკიდებულებები დაინსტალირებულია თუ არა. მაგალითად, გამოიყენეთ showpkg ბრძანება პაკეტის სახელთან ერთად.

Apt-cache showpkg vsftpd

როგორ ვნახო ქეში სტატისტიკა?

სტატისტიკის ქვებრძანება აჩვენებს სრულ სტატისტიკას ქეშის შესახებ, როგორიცაა ქეში ნაპოვნი პაკეტების საერთო რაოდენობა. გამოიყენეთ ეს ბრძანება:

Apt-cache სტატისტიკა

როგორ განაახლოთ პაკეტების სია სისტემაში?

განახლების ბრძანება გამოიყენება პაკეტის ინდექსის ფაილების სინქრონიზაციისა და განახლებისთვის. სინქრონიზაცია ხდება ფაილში მითითებულ წყაროებთან /etc/apt/sources.list. თქვენ შეგიძლიათ გამოიყენოთ ეს ბრძანება, მაგალითად, იმისათვის, რომ არ გამოტოვოთ მნიშვნელოვანი პაკეტის განახლებები.

Sudo apt-get განახლება

როგორ განაახლოთ პაკეტები სისტემაში?

განახლების ბრძანება გამოიყენება თქვენს სისტემაში ყველა ამჟამად დაინსტალირებული პროგრამული უზრუნველყოფის განახლებისთვის. ზოგჯერ შეიძლება მოხდეს, რომ განახლება ვერ დაინსტალირდეს სხვა პაკეტის გამო, რომელიც მოითხოვს ძველ ვერსიას.

Sudo apt-მიიღე განახლება

მაგრამ თუ გსურთ განახლება პაკეტის მოთხოვნების მიუხედავად, გამოიყენეთ dist-upgrade ქვებრძანება:

Sudo apt-get dist-upgrade

როგორ დავაინსტალირო ან განაახლო რომელიმე კონკრეტული პაკეტი?

ინსტალაციის ქვებრძანება გამოიყენება პაკეტის ინსტალაციის ან განახლებისთვის.

Sudo apt-get დააინსტალირე netcat

როგორ დავაყენო რამდენიმე პაკეტი ერთდროულად?

თქვენ შეგიძლიათ შეიყვანოთ რამდენიმე პაკეტის სახელები, რომ დააინსტალიროთ ისინი ერთდროულად. მაგალითად, nethogs და goaccess პაკეტების ინსტალაციისთვის, შეგიძლიათ აწარმოოთ შემდეგი ბრძანება:

Sudo apt-get install nethogs goaccess

როგორ დააინსტალიროთ რამდენიმე პაკეტი სახელწოდებით "ნიღაბი"

რეგულარული ამონაწერებით, შეგიძლიათ დაამატოთ რამდენიმე პაკეტი სპეციალური სიმბოლოების გამოყენებით. მაგალითად, შეგიძლიათ გამოიყენოთ ვარსკვლავი, რათა დააინსტალიროთ ყველა პაკეტი, რომელიც შეიცავს სტრიქონს "name" მათ სახელში:

Sudo apt-get install *name*

როგორ დააინსტალიროთ პაკეტები განახლების გარეშე.

–არა-განახლების დროშის გამოყენება თავიდან აიცილებს უკვე არსებულ განახლებას დაინსტალირებული პაკეტები.

Sudo apt-get install packageName --no-upgrade

როგორ შემიძლია განაახლოს გარკვეული პაკეტები?

--only-upgrade flag არ დააინსტალირებს ახალ პაკეტებს, ის მხოლოდ განაახლებს არსებულს.

Sudo apt-get install package_name --only-upgrade

როგორ დავაინსტალირო პაკეტის კონკრეტული ვერსია?

წარმოვიდგინოთ, რომ თქვენ უნდა დააინსტალიროთ პაკეტის კონკრეტული ვერსია, უბრალოდ გამოიყენეთ ტოლობის ნიშანი პაკეტის სახელთან ერთად და დაამატეთ სასურველი ვერსია.

Sudo apt-get install vsftpd=2.3.5-3ubuntu1

როგორ ამოიღოთ პაკეტები პარამეტრების წაშლის გარეშე?

პროგრამული პაკეტების წასაშლელად მათი კონფიგურაციის ფაილების წაშლის გარეშე (მომავალი გამოყენებისთვის), გამოიყენეთ წაშლის ბრძანება, როგორც ნაჩვენებია.

Sudo apt-get ამოიღონ vsftpd

როგორ ამოიღოთ პაკეტები მთლიანად?

პაკეტის კონფიგურაციის ფაილებთან ერთად წასაშლელად გამოიყენეთ purge ქვებრძანება, როგორც ნაჩვენებია ქვემოთ.

Sudo apt-get purge vsftpd

ან შეგიძლიათ დააკავშიროთ ორივე ბრძანება, ასე:

Sudo apt-get remove --purge vsftpd

როგორ გავასუფთავო დისკის ადგილი?

სუფთა ბრძანება გამოიყენება დისკზე სივრცის გასათავისუფლებლად თქვენს ადგილობრივ საცავში პაკეტების მოძიებული .deb ფაილების წაშლით.

Sudo apt-გაწმინდე

როგორ გადმოვწერო პაკეტის წყაროს კოდი?

მხოლოდ პაკეტის საწყისი კოდის ჩამოსატვირთად, შეგიძლიათ გამოიყენოთ –ჩამოტვირთვა-მხოლოდ წყაროს ვარიანტი პაკეტის სახელით, მაგალითად:

Sudo apt-get --მხოლოდ ჩამოტვირთვის წყარო vsftpd

როგორ გადმოვწერო და გავხსნა პაკეტი?

პაკეტის წყაროს კოდის სპეციალურ დირექტორიაში ჩამოსატვირთად და ამოსაღებად, შეასრულეთ შემდეგი ბრძანება:

Sudo apt-get source vsftpd

როგორ შემიძლია გადმოვწერო, ამოვიწერო და შევადგინო პაკეტის წყაროს კოდი?

თქვენ ასევე შეგიძლიათ ჩამოტვირთოთ, ამოიღოთ და შეადგინოთ პაკეტის წყაროს კოდი „–კომპილის“ ოფციის გამოყენებით, როგორც ეს ნაჩვენებია ქვემოთ:

Sudo apt-get -- შედგენა წყაროს goaccess

როგორ ჩამოტვირთოთ პაკეტი ინსტალაციის გარეშე

"ჩამოტვირთვის" ოფციის გამოყენებით, შეგიძლიათ ჩამოტვირთოთ ნებისმიერი პაკეტი ინსტალაციის გარეშე. მაგალითად, შემდეგი ბრძანება ჩამოტვირთავს მხოლოდ nethogs პაკეტს მიმდინარე სამუშაო დირექტორიაში.

Sudo apt-get download nethogs

როგორ ვნახო პაკეტის ცვლილებების ჟურნალი?

ცვლილების ჟურნალის დროშა ატვირთავს პაკეტის ცვლილებების ჟურნალს და აჩვენებს პაკეტის ვერსიას, თუ დაინსტალირებულია.

Sudo apt-get changelog vsftpd

როგორ შეგიძლიათ გაასწოროთ გატეხილი დამოკიდებულებები?

ბრძანება "შემოწმება" არის დიაგნოსტიკური ინსტრუმენტი, იგი გამოიყენება პაკეტის ქეშის განახლებისთვის და გატეხილი დამოკიდებულებების შესამოწმებლად.

Sudo apt-მიიღე შემოწმება

როგორ შეგიძლიათ იპოვოთ და შეაგროვოთ დამოკიდებულებები?

build-dep ბრძანება პოულობს და აყენებს სასურველი პაკეტის ჩაშენებულ დამოკიდებულებებს. თუ პაკეტი არ არის ადგილობრივ საცავში, თქვენ მიიღებთ შეცდომას.

Sudo apt-get build-dep netcat

როგორ შემიძლია ავტომატურად გავასუფთავო Apt-Get ქეში?

autoclean ბრძანება შლის ყველა .deb ფაილს /var/cache/apt/archives-დან, რათა გაათავისუფლოს თავისუფალი ადგილი თქვენს მყარ დისკზე.

Sudo apt-get autoclean

როგორ შემიძლია ავტომატურად წავშალო არასაჭირო პაკეტები?

autoremove ქვებრძანება გამოიყენება იმ პაკეტების ავტომატურად წასაშლელად, რომლებიც დაინსტალირებული იყო როგორც სხვების დამოკიდებულებები, მაგრამ აღარ არის საჭირო. მაგალითად, შემდეგი ბრძანება წაშლის დაყენებულ პაკეტს მის დამოკიდებულებებთან ერთად.

Sudo apt-get autoremove vsftpd

ინფორმაცია მოგაწოდოთ საიტის მიერ. Გმადლობთ.

დიდი ხნის განმავლობაში მე მაწუხებდა უცოდინრობა იმისა, თუ როგორ უნდა გამეკეთებინა ძირითადი საქმეები Debian-ის პაკეტის მენეჯერებში, მაგრამ, როგორც ხშირად ხდება, ახლოს არავინ იყო, რომ მეკითხა და მე არ ვაპირებდი რაიმეს დაწერას. და ბოლოს კითხვები მომწიფდა და მე დავწერე ჩემი შეკითხვა Debian საფოსტო სიაში. ბუნებრივია, აღმოჩნდა, რომ რაღაც ცხადი გამომრჩა, მაგრამ ასევე ვისწავლე ბევრი არააშკარა სარგებლობა, ამიტომ გადავწყვიტე თაღლითური ფურცლის დახატვა, იქნებ ეს ვინმეს გამოადგეს.

Debian ადმინისტრატორის სწრაფი დახმარება

ძირითადი და კარგად ცნობილი
ინფორმაციის მიღება ახალი/განახლებული პაკეტების შესახებ
სუდოს უნარის განახლება
განახლება
სუდოს უნარის უსაფრთხო განახლება
პაკეტის პოვნა პაკეტის სახელების მიხედვით
უნარის ძიების საკვანძო_სიტყვა
მოძებნეთ პაკეტი ზუსტი სახელით
უნარის ძიება "^name$"
ძიება აღწერილობით
უნარის ძიება "?description("key_word")"
ინფორმაცია პაკეტის შესახებ
aptitude show package_name
ინსტალაცია
sudo aptitude install package_name
მოცილება
sudo aptitude ამოიღონ package_name
სრული წაშლა (კონფიგურაციებთან ერთად)
sudo aptitude purge package_name
ჩამოტვირთული პაკეტების ქეშის გასუფთავება (სივრცის გათავისუფლება)
aptitude autoclean # წაიშლება მხოლოდ მოძველებული ვერსიების პაკეტები, aptitude clean # მთელი ქეში წაიშლება
ცალკე ჩამოტვირთული/შექმნილი პაკეტის ინსტალაცია (მესამე მხარის წყაროებიდან პაკეტის შესაქმნელად, თქვენ უნდა გამოიყენოთ checkinstall პროგრამა -D დროშით)
sudo dpkg -i /path/to/package.deb
დამატებითი ინფორმაციისთვის
კაცის უნარი sudo aptitude დააინსტალირე aptitude-doc-en
და გადახედეთ დოკუმენტაციას (/usr/share/doc/aptitude/html/en/index.html), თუ გსურთ სწრაფი დახმარება საძიებო ნიმუშებზე, გადადით აქ - /usr/share/doc/aptitude/html/en/ch02s04 .html. თუ ძალიან გეზარებათ დოკუმენტის ინსტალაცია, მაშინ ის ხელმისაწვდომია ონლაინ რეჟიმში.
Debian Wiki-ს შესავალი: wiki.debian.org/Aptitude
ახლა კი ის, რაც არ არის აშკარა ან მოითხოვს დოკუმენტაციის სრულ წაკითხვას
1. როგორ ვნახო, რომელი პაკეტები განახლდება განახლების შემდეგ?
უნარების ძიება ?განახლებადია
ასევე შეიძლება გამოყენებულ იქნას (თუ დამონტაჟებულია)
sudo daptup
მაგრამ მისი ინსტალაციის შემდეგ, რეგულარული განახლება ზუსტად ისევე იქცევა

2. როგორ გავიგო რა შეიცვალა იმ პაკეტებში, რომლებიც განახლდება?
შეგიძლიათ სცადოთ
sudo aptitude changelog package_name
თითოეული პაკეტისთვის.
მაგრამ უმჯობესია დააინსტალიროთ apt-listchanges, შემდეგ განახლების ინსტალაციამდე გამოჩნდება ცვლილებების სია, ნაგულისხმევი პარამეტრები არ არის ძალიან მოსახერხებელი, ამიტომ ჯობია ხელახლა დააკონფიგურიროთ, მაგალითად, აირჩიოთ გამომავალი ფორმატი (ამჟამად მე' მ ტექსტის გამოყენებით, დიდი განახლებისთვის პეიჯერი ალბათ უკეთესია), ნუ გაგზავნით წერილებს, მოითხოვეთ დადასტურება, აჩვენეთ ყველა ინფორმაცია. ამისათვის საჭიროა სირბილი
sudo dpkg-ხელახლა კონფიგურაცია apt-listchanges
3. რა უნდა გავაკეთო, თუ განახლებამ რაღაც გატეხა და უკან დაბრუნება მჭირდება?
უკან დაბრუნება არ არის, შეგიძლიათ სცადოთ პაკეტის წინა ვერსიის პოვნა
sudo aptitude ვერსიის package_name
და დააინსტალირეთ
sudo aptitude install package_name=ვერსია
4. როგორ მოვძებნოთ ხელით დაინსტალირებული ყველა პაკეტი?
არის ბრძანების ვარიანტი (მიმართულების ძიება "~i!~M"), მაგრამ სამწუხაროდ ის არ იძლევა სასურველ შედეგს, ამიტომ კითხვა ღია რჩება, არსებობს უამრავი მეთოდი, რომელიც დაფუძნებულია ჟურნალის ანალიზზე.
/var/log/aptitude (+ შებრუნებული ნაწილაკები) /var/log/installer/initial-status.gz /var/log/dpkg.log (+ შებრუნებული ნაწილაკები)
მაგრამ მარტივი და მზა გამოსავალი არ არსებობს და ინფორმაცია თეორიულად შეიძლება დაიკარგოს ბრუნვის დროს, თქვენ უნდა დააკონფიგურიროთ

5. როგორ ვნახო ფაილების სია პაკეტში?
თუ პაკეტი დამონტაჟებულია
dpkg -L პაკეტის_სახელი
ნებისმიერი პაკეტისთვის დააინსტალირეთ apt-file და
apt-file list package_name
6. როგორ ვნახო, რომელ პაკეტს ეკუთვნის ფაილი?
dpkg -S ფაილის_სახელი
7. როგორ წავშალოთ ყველა პაკეტი, რომელიც შეიცავს გასაღებს პაკეტის სახელში?
sudo aptitude purge ~ikey
8. როგორ წავშალოთ დარჩენილი კონფიგურაციები წაშლილი პაკეტებიდან?
სუდო aptitude განწმენდა ~ გ
9. როგორ მოვძებნოთ პაკეტი, რომელიც შეიცავს lib.so ფაილს:
apt-file საძიებო lib.so
10. როგორ გადავიყვანოთ rpm პაკეტი deb-ად?
უცხოპლანეტელი --to-deb /path/to/file.rpm
11. როგორ მოვძებნოთ დაინსტალირებული ბირთვების სია?
dpkg --list linux-* | grep II
12. როგორ დავაყენოთ პაკეტი ტესტირებიდან ან ექსპერიმენტებიდან?
ამ თემაზე ცალ-ცალკე უნდა დაწერო (მაგალითად ასე), მაგრამ მოკლედ ამისთვის არის ბრძანებები
sudo aptitude -t ტესტირების პაკეტი_სახელი
ან
sudo aptitude package_name/testing
13. როგორ წავშალო მეტაპაკეტი, მაგრამ დავტოვო ერთ-ერთი დამოკიდებულება?
თქვენ უნდა წაიკითხოთ დოკუმენტაცია unmarkauto გასაღების შესახებ ან გადახედოთ აქ.

14. როგორ გავარკვიოთ რა მოხვდა ფაილურ სისტემაში პაკეტის მართვის სისტემით?
არსებობს cruft უტილიტა, თუმცა შედეგების ინტერპრეტაციის საკითხი (ანგარიშის ფაილი) ჯერ კიდევ ღიაა
sudo cruft -d / -r ანგარიში --იგნორირება /სახლი --იგნორირება /var --იგნორირება /tmp
15. რა დამატებითი საცავი არსებობს?
Debian - wiki.debian.org/UnofficialRepositories
Ubuntu - ბევრი განსხვავებული

იმის გამო, რომ ზოგიერთ ამხანაგს არ ესმის რა არის apt და dpkg. გადავწყვიტე შემექმნა კიდევ ერთი პოსტი ამ კომუნალური საშუალებების შესახებ.

APT და ყველაფერი, ყველაფერი, ყველაფერი. APT პაკეტის მენეჯერის და მასთან დაკავშირებული პროგრამების შესაძლებლობების შესწავლა

Debian-მა უამრავი პოზიტიური ინოვაცია შემოიტანა Linux-ის სამყაროში, რომელთაგან ბევრი მიიღეს სხვა დისტრიბუციებმა. Debian-ის ყველაზე მნიშვნელოვანი გაუმჯობესება იყო APT პაკეტის მართვის სისტემა მისი გამოშვების შემდეგ, ყველა სხვა დისტრიბუცია გადაიქცა მოძველებულ ნაგავში. დღეს APT არის რთული, ჭკვიანი, მოქნილი და მალავს ბევრ საიდუმლოს Linux-ის გაუცნობიერებელი მომხმარებლისგან.

პაკეტის მართვის გაფართოებული სისტემა

APT (Advanced Packaging Tool) თავისთავად არ არის პაკეტის მართვის სისტემა სიტყვის სრული გაგებით. შეფუთვის, სისტემაში დარეგისტრირებისა და პაკეტის მონაცემთა ბაზის დათვალიერების ყველა მოქმედებას ახორციელებს dpkg პაკეტის უტილიტები, ხოლო APT უტილიტები არის შეფუთვა, რომელიც გამოიყენება პაკეტების მოსაძებნად, საკონტროლო ჯამების შესამოწმებლად, საცავიდან ჩამოტვირთვის, დამოკიდებულებების მოსაგვარებლად და ასევე. როგორც რიგი სხვა ქმედებები.

APT მოიცავს შემდეგ კომუნალურ კომპლექტს:

apt პაკეტის კომუნალური მომსახურება

apt-cache - მანიპულირებს ჩვეულებრივ გამოყენებული პაკეტების ქეშით
პაკეტის მოსაძებნად და/ან მის შესახებ ინფორმაციის მისაღებად

apt-cdrom - საშუალებას გაძლევთ დაამატოთ CD/DVD, როგორც პაკეტის წყარო (საცავი)

apt-config - კითხულობს კონფიგურაციაში მითითებულ ვარიანტების მნიშვნელობებს
ფაილი /etc/apt/apt.conf, გამოიყენება სხვა APT კომუნალური საშუალებების მიერ

apt-extracttemplates - ამოიღებს DebConf კონფიგურაციის ფაილებს
პაკეტებიდან, რომლებიც გამოიყენება სხვა APT კომუნალური საშუალებების მიერ

apt-ftparchive - ქმნის ინდექსის ფაილებს

apt-get - ინსტალაციას, შლის, განაახლებს პაკეტების სიას
და თავად პაკეტები, ცენტრალური APT უტილიტა

apt-key - მართავს ავთენტიფიკაციის გასაღებებს, რომლებიც გამოიყენება ვერიფიკაციისთვის
პაკეტის წყაროების ავთენტურობა

apt-secure - ამოწმებს ავთენტურობას ციფრული ხელმოწერამოყვება apt პაკეტები
შედის დისტრიბუციასა და საცავებში

apt-sortpkgs - ახარისხებს ინდექს ფაილებს

კომუნალური პროგრამები ეყრდნობა შემდეგ კონფიგურაციის ფაილებს:

კონფიგურაცია APT ფაილები

/etc/apt/sources.list - პაკეტის წყაროების სია (საცავები)
/etc/apt/apt.conf - მთავარი APT კონფიგურაციის ფაილი
/etc/apt/preferences - პრიორიტეტების ფაილი, აკონტროლებს პაკეტის რომელი ვერსია იქნება
დაინსტალირებულია, თუ საცავში ერთდროულად რამდენიმე ვერსიაა

APT მარტივი და მარტივი გამოსაყენებელია, ჩვეულებრივ მომხმარებელს სჭირდება მხოლოდ ქვემოთ მოცემული ექვსი ბრძანება:

ძირითადი APT ბრძანებები

apt-cache საძიებო ნიღაბი - პაკეტის ძებნა
apt-cache შოუ პაკეტი - იხილეთ პაკეტის ინფორმაცია
apt-get install package - პაკეტის ინსტალაცია
apt-get ამოიღონ პაკეტი - ამოიღეთ პაკეტი
apt-get განახლება - განაახლეთ ხელმისაწვდომი პაკეტების ქეში
apt-get განახლება - განაახლეთ ყველა პაკეტი

ბოლო ორი ბრძანება ჩვეულებრივ გაშვებულია ერთმანეთის მიყოლებით, რაც ხელახლა დააინსტალირებს ყველა პაკეტს, რომლის ახალი ვერსიები ხელმისაწვდომია საცავში. თუ თქვენ გჭირდებათ მხოლოდ მითითებული პაკეტის განახლება, მაშინ "apt-get განახლების" შემდეგ უნდა გაუშვათ ბრძანება "apt-get install package".

Ubuntu დისტრიბუცია კიდევ უფრო მარტივს ხდის APT უტილიტებთან „კომუნიკაციის“ პროცესს და ამცირებს მას გრაფიკული ინტერფეისის საკონტროლო ველებზე დაწკაპუნებით. მას აქვს საკუთარი, ძალიან მარტივი, პაკეტის მენეჯერი (ამას ჰქვია "პაკეტის მენეჯერი"), რომელიც დაიწყო cron-ის საშუალებით. განახლებებიმენეჯერი, გრაფიკული ინსტალერი ხელით გადმოწერილი GDebi deb პაკეტებისთვის და უფრო მძლავრი გრაფიკული დანამატი Synaptic APT კომუნალური პროგრამებისთვის.

იმავდროულად, APT ბევრად უფრო რთული და მოქნილია, ვიდრე ერთი შეხედვით შეიძლება ჩანდეს. ამიტომ, შემდეგ განყოფილებებში განვიხილავთ მისი გამოყენების რამდენიმე არა მთლად ტიპურ მეთოდს.

მესამე მხარის პაკეტის წყაროები

გარდა ძირითადი საცავისა, რომელიც შეიცავს დისტრიბუციის დეველოპერების ყველა პაკეტს, არსებობს უამრავი სხვა პაკეტის წყარო, რომელიც შეიძლება შეიცავდეს მესამე მხარის პროგრამულ უზრუნველყოფას, რომელიც არ არის ხელმისაწვდომი ოფიციალური საცავიდან, გთავაზობთ მის უახლეს ვერსიებს ან უბრალოდ იყავი უფრო სწრაფი სარკე. საცავი შეიძლება იყოს ჩვეულებრივი დირექტორია თქვენს მყარ დისკზე ან CD.

იმისათვის, რომ ასწავლოთ APT-ს მესამე მხარის საცავებთან მუშაობა, უბრალოდ მიჰყევით ოთხ მარტივ ნაბიჯს:

uri ველი არის საცავის მისამართი, რომელიც უმეტეს შემთხვევაში არის HTTP მისამართი, მაგრამ ასევე შეიძლება იყოს ბმული ლოკალური საცავისთვის (ფაილი:/root/repository), საცავის მისამართი FTP ან SSH სერვერზე. "დისტრიბუციის" ველში მითითებულია დისტრიბუციის სახელი, რომლისთვისაც გროვდება პაკეტები. Debian-ისთვის სახელი შეიძლება იყოს სტაბილური, ძველი სტაბილური, არასტაბილური, ტესტირება, ხოლო Ubuntu-ს შემთხვევაში, თქვენ უნდა მიუთითოთ მხოლოდ განაწილების კონკრეტული სახელი (მაგალითად, jaunty), ისევე როგორც მასზე დაფუძნებული სხვადასხვა აღნიშვნები ( მაგალითად, jaunty-updates, jaunty- backports, jaunty-security). უნდა ითქვას, რომ APT სულაც არ არის წინააღმდეგი სხვადასხვა განაწილებიდან პაკეტების ერთ სისტემაზე შერევის, მაგრამ ამ შემთხვევაში მხოლოდ თქვენ იქნებით პასუხისმგებელი შედეგებზე. კომპონენტს, როგორც წესი, ეწოდება ძირითადი, წვლილი ან არათავისუფალი Debian-ისთვის და ძირითადი, სამყარო, მულტივერსია, პარტნიორი და შეზღუდული Ubuntu-სთვის. ეს არის ყველა სხვადასხვა პაკეტის საცავების სახელები, რომლებიც გამოყოფილია მხოლოდ ცალკეულ პაკეტებზე გარკვეული კრიტერიუმების საფუძველზე. მაგალითად, ძირითადი არის Ubuntu/Debian დეველოპერების ჯგუფის მიერ შეგროვებული პაკეტები, არსებობს გარკვეული გარანტიები მათში შემავალი პროგრამული უზრუნველყოფის ხარისხის შესახებ, მათ შორის დროული განახლებები და შეცდომების გამოსწორება, ხოლო კონტრიბუცია და სამყარო არის მესამე მხარის პროგრამული უზრუნველყოფა, რომელსაც თქვენ დააინსტალირებთ თქვენს საიტზე; საკუთარი რისკი.

2. Apt keyring-ს დაამატეთ საცავის საჯარო გასაღები, რომელიც გამოიყენება მისი ავთენტურობისა და სანდოობის შესამოწმებლად. გასაღების მიღება შესაძლებელია ნებისმიერი საშუალებით და მისი დამატება შესაძლებელია ბრძანების "apt-key add key" გაშვებით, მაგრამ ეს მეთოდი იშვიათად გამოიყენება მისი უხერხულობის გამო. უმეტეს შემთხვევაში საქმე გექნებათ გუნდთან

sudo apt-key adv --keyserver certifikat-server --recv-keys key-id
რომელიც ითხოვს გასაღებს უშუალოდ სერტიფიცირების სერვერიდან (Ubuntu-სთვის ეს არის keyserver.ubuntu.com). ასე ავრცელებს მესამე მხარის დეველოპერების უმეტესობა თავის პროგრამულ უზრუნველყოფას Debian/Ubuntu დისტრიბუციებისთვის (მაშინ როცა სხვები უბრალოდ აქვეყნებენ პაკეტებს და მათ შემოწმებას). მაგალითად, launchpad.net ჰოსტინგზე თქვენთვის საინტერესო პროექტის გვერდზე გადასვლით და ბმულზე „ტექნიკური დეტალები ამ PPA-ს შესახებ“ დაწკაპუნებით, ნახავთ ხაზს, რომელიც უნდა დაემატოს /etc/apt/sources-ს. .list, „ხელმოწერის გასაღები:“-ში მითითებული იქნება გასაღების ID.

3. განაახლეთ ხელმისაწვდომი პაკეტების ქეში:

sudo apt-get განახლება
4. დააინსტალირეთ პაკეტი ბრძანების „apt-get install package“ გამოყენებით.

ბევრი დეველოპერი ათავსებს საცავის ბმულს და მის გასაღების ID-ს პირდაპირ deb პაკეტში, ასე რომ პაკეტის ჩამოტვირთვის, ინსტალაციისა და ბრძანების "apt-get update && apt-get upgrade" შემდეგ პაკეტები განახლდება მათ ძმებთან ერთად. ჩამოთვლილია წყაროებში.სიაში. კერძოდ, ასე ნაწილდება Opera ბრაუზერები და Google Chrome-ის ალფა გამოშვება.

CD-ზე განთავსებული საცავი ბევრად უფრო ადვილია Sources.list-ში დამატება. ამისათვის არის სპეციალური ბრძანება, apt-cdrom. თქვენ უბრალოდ ჩადეთ CD დისკში და გაუშვით ბრძანება:

sudo apt-cdrom დამატება

ხრიკები და უჩვეულო სიტუაციები

APT არის APT, ის მოსახერხებელი და მარტივია, მაგრამ ზოგჯერ ხრიკების გარეშე არ შეგიძლიათ, რომელთაგან ყველაზე სასარგებლოს ამ განყოფილებიდან შეიტყობთ.

1. ნაგულისხმევად, "apt-get remove" ბრძანება მთლიანად შლის პაკეტს მხოლოდ იმ შემთხვევაში, თუ მისი არც ერთი ფაილი არ შეცვლილა ინსტალაციის შემდეგ, წინააღმდეგ შემთხვევაში შეცვლილი ფაილები ხელუხლებელი რჩება. ბუნებრივია, კონფიგურაციის ფაილები თითქმის ყოველთვის იცვლება, ამიტომ apt-get ტოვებს ნაგვის თაიგულს, რომელიც ხელით უნდა გაასუფთავოთ. ბრძანება "apt-get purge" ნაცვლად "apt-get remove" აგვარებს ამ პრობლემას.

2. მათ, ვისაც უყვარს სისტემასთან შეხება, ისევე როგორც სისტემის ადმინისტრატორებს, რომელთა სერვერები გატეხილია, დიდი ალბათობით მოისურვებენ პაკეტების დაბრუნებას საწყის მდგომარეობაში, რომელშიც იყვნენ მანიპულირებამდე. ბრძანება დაგეხმარებათ ამაში:

sudo apt-get install -- ხელახლა დააინსტალირე პაკეტი
3. მეტი დაბალი დონის კომუნალური საშუალებები Deb პაკეტის მენეჯერები (როგორიცაა dselect და dpkg) ინარჩუნებენ პაკეტის მდგომარეობების სპეციალურ სიას, რომელიც შეიძლება გამოყენებულ იქნას იმის გასაკონტროლებლად, თუ რომელი პაკეტები უნდა იყოს დაინსტალირებული ან წაშლილი პარტიულ რეჟიმში (ასე მუშაობს dselect + dpkg). ის ასევე შეიძლება გამოყენებულ იქნას მრავალი სხვა მიზნებისთვის, მაგალითად, სისტემის კონფიგურაციის სხვა მანქანაზე გადასატანად. გაუშვით შემდეგი ბრძანება:

dpkg --get-selections > ფაილი
გადაიტანეთ ფაილი სხვა მოწყობილობაზე და გაუშვით მასზე ორი ბრძანება:

cat ფაილი > dpkg --set-selections
apt-get dselect-upgrade

წყარო სისტემის ყველა პაკეტი დაემატება სისტემას. იმისათვის, რომ პაკეტის მდგომარეობის ფაილი ასევე შეიცავდეს ინფორმაციას იმის შესახებ, თუ რომელი პაკეტები უნდა ამოღებულ იქნეს სისტემიდან, დაამატეთ "\*" სიმბოლო "--get-selections" არგუმენტის შემდეგ. სტატუსის სია არ შეიცავს პაკეტის ვერსიებს, მისი გამოყენება შესაძლებელია მეტი ინსტალაციის შემდეგ ახალი ვერსიასადისტრიბუციო ნაკრები საჭირო მდგომარეობაში მისაყვანად.

4. თქვენ ხელით მიმართეთ პატჩი სისტემის ერთ-ერთი პაკეტის ფაილს და არ გსურთ, რომ ეს პაკეტი განახლდეს (თქვენი ყველა ცვლილების განადგურებით) „apt-get upgrade“ დარეკვის შემდეგ. ამ შემთხვევაში, სახელმწიფოთა სია კვლავ დაგეხმარებათ. პაკეტი შეიძლება გაყინული იყოს, რის გამოც apt-get უარს ამბობს მის განახლებაზე და გამოტოვებს:

echo -e "coreutils hold" | dpkg --set-selections
შეგიძლიათ აიძულოთ პაკეტის განახლება Apt-get-ის დარეკვისას "-u" დროშის მითითებით.

5. ქსელის ფუნქციონირების მქონე ნებისმიერი სისტემის მსგავსად, APT გაძლევთ საშუალებას გამოიყენოთ პროქსი საცავებში წვდომისთვის. ამ ფუნქციის გასააქტიურებლად, დაამატეთ შემდეგი ხაზი /etc/apt/apt.conf ფაილს:

მიიღეთ::http::პროქსი "http://xxx.xxx.xx:yyyy"

სადაც xxx.xxx.xx არის თქვენი პროქსის სახელი, yyyy არის პორტი.

6. როგორც წესი, APT უტილიტები ითხოვენ პაკეტის უახლეს ვერსიას ყველა, რაც მის ქეშშია, ასე რომ, თუ თქვენ დაამატეთ სხვადასხვა ექსპერიმენტული და არასტაბილური საცავი sources.list-ში, მაშინ განახლების შემდეგ მიიღებთ დისტრიბუციას, რომელიც შედგება ექსკლუზიურად ექსპერიმენტული ან არასტაბილური პაკეტებისგან. , და ამ მდგომარეობით გამოწვეული პრობლემების სიმრავლე. თუმცა, სიტუაცია მარტივად შეიძლება გადაწყდეს შემდეგი სტრიქონის განთავსებით /etc/apt/apt.conf-ში:

APT::Default-გამოშვება "გამოშვება";

სადაც გამოშვება არის ძველი სტაბილური, სტაბილური, არასტაბილური, ტესტირება ან ექსპერიმენტული Debian-ისთვის ან გამოშვების სახელი Ubuntu-სთვის. ახლა, თუ თქვენ გჭირდებათ პაკეტის დაყენება მითითებული დისტრიბუციიდან, უბრალოდ ჩაწერეთ მისი სახელი "-t" არგუმენტის შემდეგ apt-get გამოძახებისას:

sudo apt-get -t არასტაბილური ინსტალაციის პაკეტი
7. ყველა მიღებული apt-get deb პაკეტი ინახება /var/cache/apt/archives დირექტორიაში, რაც ნიშნავს, რომ თუ სისტემას ხელახლა დააინსტალირებთ, შეგიძლიათ დააკოპიროთ დირექტორიის შიგთავსი სხვა დისკზე/პარტიციაზე და შემდეგ აღადგინოთ იგი. და დაზოგეთ დრო/პაკეტის ინსტალაციის ტრაფიკი. გარდა ამისა, ეს არსებითად არის თქვენი დაინსტალირებული სისტემის სნეფშოტი (მისი ნაწილი, რომელიც თქვენ თავად დააინსტალირეთ), რომელიც შეიძლება მიეწეროს მეგობარს (მესამე აბზაცში აღწერილი მდგომარეობების ჩამონათვალთან ერთად) ან, თუ არ არის საჭირო, წაიშალოს. სივრცის გასათავისუფლებლად.

8. წინა აბზაცში აღწერილი წაშლილი სისტემის სნეპშოტი მარტივად შეიძლება აღდგეს ქვემოთ მოცემული დიზაინის გამოყენებით:

sudo dpkg --get-selections | grep -v "დეინსტალაცია" | \
awk "(ბეჭდვა $1)" | xargs dpkg-repack

9. ორობითი პაკეტების გარდა, Debian/Ubuntu საცავებში ასევე შეიცავს აპლიკაციის წყაროს პაკეტებს, რომელთა მიღება და აშენება შესაძლებელია შემდეგი ბრძანების გამოყენებით:

sudo apt-get -b წყაროს პაკეტის სახელი

მესამე მხარის კომუნალური მომსახურება

APT სისტემამ ძალიან გრძელი გზა გაიარა თავის განვითარებაში, ამიტომ, გარდა ოფიციალური კომუნალური პროგრამებისა, რომლებიც შედის Apt-ის პაკეტში, Debian და Ubuntu საცავები სავსეა მესამე მხარის მრავალი კომუნალური პროგრამით, რომლებიც შეიძლება გამოყენებულ იქნას ზოგიერთი არა-შესრულებისთვის. სტანდარტული ამოცანები.
მათგან ყველაზე სასარგებლოს ეწოდება apt-file და აუცილებელია, როგორც სახელიდან მიხვდით, იმის დასადგენად, ეკუთვნის თუ არა კონკრეტული ფაილი კონკრეტულ პაკეტს. Დაინსტალირება:

sudo apt-get install apt-file
ჩვენ ვთხოვთ apt-file-ს შექმნას პაკეტის სისტემაში დაინსტალირებული ყველა ფაილის ქეში (მოიძებნება):

apt-ფაილის ძებნა /usr/bin/apt-get
apt: /usr/bin/apt-get

ჩვენ ვითხოვთ ყველა პაკეტის ფაილის სიას:

apt-file list apt

მარტივი პროგრამა, სახელწოდებით apt-show-versions, გაჩვენებთ, თუ რომელი პაკეტების განახლებაა შესაძლებელი, ვერსიებისა და სხვა დეტალების ჩათვლით. გაუშვით "-u" დროშით, რომ მიიღოთ მხოლოდ განახლებული პაკეტების სია (ყველა პაკეტის სიის ნაცვლად).

თუ თქვენ დააინსტალირეთ სხვადასხვა პაკეტების დიდი რაოდენობა და ახლა გსურთ მოიცილოთ არასაჭირო ნაგავი, მაშინ ამ საკითხში დაგეხმარებათ deborphan პროგრამა, რომელიც ეძებს გამოუყენებელ პაკეტებს და ობოლი დამოკიდებულებებს. უბრალოდ გაუშვით deborphan ყოველგვარი არგუმენტების გარეშე და ნახავთ პაკეტების ჩამონათვალს, რომელიც შეგიძლიათ დაუყოვნებლივ გადასცეთ შეყვანის სახით „apt-get remove“ ბრძანებაში, ან უბრალოდ გაუშვით შემდეგი ბრძანება:

sudo apt-get ამოიღე `დებორფანი`

ნაგულისხმევად, დებორფანი ამუშავებს მხოლოდ ბიბლიოთეკების შემცველ პაკეტებს, მაგრამ ეს ქცევა შეიძლება შეიცვალოს ბრძანების გამოძახებაზე "-a" დროშის დამატებით:

თქვენ არ უნდა იჩქაროთ პროგრამის მიერ ნაჩვენები პაკეტების ამოღება, რადგან ყველაზე მძლავრ ევრისტიკულ ალგორითმსაც კი არ შეუძლია თქვენი პირადი საჭიროებების განსაზღვრა. ასე რომ, პროგრამამ მაჩვენა პაკეტები google-chrome, inkscape და კიდევ xorg.

apt-move პროგრამა საშუალებას მოგცემთ შექმნათ ადგილობრივი საცავი. დააინსტალირეთ პროგრამა, გახსენით /etc/apt-move.conf ფაილი, LOCALDIR ოფციაში მიუთითეთ გზა იმ დირექტორიაში, რომელშიც უნდა იყოს განთავსებული საცავი და გაუშვით ბრძანება:

sudo apt-move განახლება

შედეგად, ინტერნეტიდან ჩამოტვირთული ყველა პაკეტი apt-get-ის გამოყენებით (directory /var/cache/apt/archives) გადავა კონფიგურაციაში მითითებულ დირექტორიაში, რისთვისაც შეიქმნება ინდექსის ფაილი. ეს არის მოსახერხებელი გზა ინტრანეტის საცავის შესაქმნელად იმ შემთხვევებისთვის, როდესაც საჭიროა ბევრი იდენტური პაკეტის დაყენება ბევრ მანქანაზე.

ადგილობრივი საცავის შესაქმნელად, ასევე ძალიან მოსახერხებელია apt-proxy სერვერის გამოყენება, რომელიც საშუალებას გაძლევთ ქეში შეინახოთ საცავიდან გადმოწერილი დებ პაკეტები სერვერის მხარეს. ამისათვის, apt-proxy დაინსტალირებულია გამოყოფილ მანქანაზე (შესაძლოა კარიბჭე) და შეცვლილია კლიენტების sources.list ისე, რომ ამ აპარატის მისამართი მითითებული იყოს ყველა საცავების uri ველად. შედეგად, ყველა მოთხოვნა deb პაკეტებზე გადამისამართებულია apt-proxy-ზე, რომელიც ითხოვს პაკეტს მთავარი საცავიდან და ინახავს მას თავის ქეშში, ხოლო ამ პაკეტის ყველა შემდგომ მოთხოვნაზე პასუხი დაბრუნდება ქეშიდან.

პირველი, დააინსტალირეთ apt-proxy სპეციალურ აპარატზე:

sudo apt-get install apt-proxy

შემდეგი, გახსენით ფაილი /etc/apt-proxy/apt-proxy-v2.conf, გადადით განყოფილებაში და შეცვალეთ მისამართის პარამეტრის მნიშვნელობა აპარატის IP მისამართით, ასევე აღწერეთ პაკეტის წყაროები, რომლებსაც იყენებს apt-. პროქსი, მაგალითად:

sudo vi /etc/apt-proxy/apt-proxy-v2.conf


backends = http://ru.archive.ubuntu.com/ubuntu/
min_refresh_delay = 1d


backends = http://security.ubuntu.com/ubuntu/
min_refresh_delay = 1d

როგორც წესი, ეს ორი მისამართი საკმარისია Ubuntu-ს დეველოპერების მიერ მოწოდებული პაკეტების მთელი დიაპაზონის დასაფარად. გადატვირთეთ apt-proxy:

sudo invoke-rc.d apt-proxy გადატვირთვა

კლიენტების apt-proxy-ზე გადასართავად, აიღეთ სტანდარტული Ubuntu sources.list, შეცვალეთ ყველა რეალური ური ველი „http://IP-address-apt-proxy:9999/ubuntu/“ და დააკოპირეთ ეს ფაილი თითოეულ კლიენტზე.

არსებობს მრავალი სხვა, ნაკლებად საინტერესო კომუნალური პროგრამა, რომელიც მუშაობს APT-თან ერთად. მაგალითად, apt-dater საშუალებას გაძლევთ განაახლოთ პაკეტები დიდი რაოდენობით დისტანციურ კვანძებზე ფსევდოგრაფიკული ინტერფეისის გამოყენებით. Aptsh პროგრამა ახორციელებს ბრძანების ინტერფეისი, sh-ის მსგავსი, apt პაკეტის ბრძანებების თავზე, aptfs - ვირტუალური ფაილების სისტემა APT-ის სამართავად. debdelta უტილიტა, რომელიც საშუალებას გაძლევთ განაახლოთ პაკეტები მათი დელტაების ინტერნეტიდან ჩამოტვირთვის გზით, შეიძლება იყოს ცალკე სტატიის თემა, თუ არსებობდა მისთვის დროულად განახლებული საცავი მაინც.

უნარი

apt-get პროგრამა და მისი ნათესავები არ არის ერთადერთი ხელმისაწვდომი APT დანერგვა. მათ კიდევ უფრო მძლავრ, მოსახერხებელ და მრავალმხრივ ალტერნატივას ეწოდება aptitude და წარმოადგენს apt-get, apt-cache და dselect-ის კონცენტრირებულ ფუნქციას ერთ ადგილას.
Aptitude საშუალებას გაძლევთ დააინსტალიროთ/წაშალოთ, მოძებნოთ, განაახლოთ და გააკეთოთ ბევრი სხვა რამ პაკეტებით ორი ტიპის ინტერფეისის გამოყენებით: ბრძანების რეჟიმი, მსგავსი apt-get და apt-cache და ფსევდოგრაფიკული რეჟიმი, გარეგნულად მსგავსი. შერჩეული ინტერფეისისთვის, მაგრამ ბევრად უფრო მოსახერხებელი და ფუნქციონალური.

ბრძანების ხაზის რეჟიმში, უნარი შეიძლება გამოყენებულ იქნას ისეთი მოქმედებების გასაკეთებლად, როგორიცაა:

aptitude install - პაკეტის ინსტალაცია

aptitude remove - ამოიღეთ პაკეტი და ობოლი დამოკიდებულებები

aptitude purge - ამოიღეთ პაკეტი, ობოლი დამოკიდებულებები
და მათ შემდეგ დარჩენილი კონფიგურაციის ფაილები

უნარის ძიება - მოძებნეთ პაკეტი ქეშში (ხელმისაწვდომი პაკეტების სია)

უნარების განახლება - ქეშის განახლება

უნარების უსაფრთხო განახლება - განახლების პაკეტები

aptitude clean - წაშალეთ ადრე გადმოწერილი პაკეტები

უნარების სრული განახლება - პაკეტების განახლება,
მაშინაც კი, თუ ეს მოქმედება მოითხოვს ნებისმიერი პაკეტის ამოღებას

aptitude show - ინფორმაცია პაკეტის შესახებ

aptitude autoclean - ამოიღეთ მოძველებული პაკეტები

aptitude hold - პაკეტის განახლების აკრძალვის დაწესება

ინტერაქტიული რეჟიმი, რომელიც ხელმისაწვდომია არგუმენტების გარეშე გაშვებისას, საშუალებას გაძლევთ შეასრულოთ ყველა იგივე მოქმედება ncurses ბიბლიოთეკაზე აგებული ფსევდოგრაფიკული ინტერფეისის გამოყენებით. ის მუშაობს პარტიულ რეჟიმში (აირჩიეთ პაკეტები - დაიწყეთ ინსტალაციის პროცესი), ასე რომ მოსახერხებელი იქნება იმ შემთხვევებში, როდესაც დაგჭირდებათ პაკეტების დიდი რაოდენობის დაყენება.

სააღდგომო კვერცხები

APT კომუნალური პროგრამების დეველოპერები აღმოჩნდნენ ბიჭები, რომლებსაც აქვთ გარკვეული იუმორის გრძნობა. უბრალოდ შეხედეთ შემდეგი ბრძანების შედეგს:

sudo apt-get moo
რაც კიდევ უფრო ველური ჩანს, არის ის, რაც უნარების შემქმნელებმა ჩაუდეს მათ პროგრამაში. სცადეთ:

სუდოს უნარი მოო
ერთგვარი სააღდგომო კვერცხი სააღდგომო კვერცხის გარეშე. ᲙᲐᲠᲒᲘ:

სუდოს უნარი -ვ მოო
სუდოს უნარი -vv moo
სუდოს უნარი -vvv moo
სუდოს უნარი -ვვვვ მოო
სუდოს უნარი -ვვვვვ მოო

და ბოლო აკორდი:

სუდოს უნარი -vvvvvv moo

სასარგებლო apt-cache ბრძანებები

apt-cache show პაკეტი - დეტალური ინფორმაცია პაკეტის შესახებ
apt-cache showpkg პაკეტი - ზოგადი ინფორმაცია პაკეტის შესახებ
apt-cache დამოკიდებულია პაკეტი - პაკეტის დამოკიდებულების სია
apt-cache rdepends პაკეტი - საპირისპირო დამოკიდებულებების სია (ვის სჭირდება მითითებული პაკეტი)

APT ლექსიკონი

პაკეტი - პროგრამა, ბიბლიოთეკა, წყაროს კოდი ან ნებისმიერი სხვა ფაილი, ასევე მათი მეტამონაცემები, შეფუთული სპეციალურად შექმნილ არქივში.

საცავი არის deb პაკეტების შესანახი ადგილი.

ხელმისაწვდომი პაკეტის ქეში (ან უბრალოდ ქეში) არის ფაილი, რომელიც ინახავს ინფორმაციას ყველა პაკეტის შესახებ, რომელიც ხელმისაწვდომია /etc/apt/sources.list-ში ჩამოთვლილი წყაროებიდან. ქეში განახლდება ყოველ ჯერზე, როდესაც გამოიძახება "apt-get update" ბრძანება.

ინდექსის ფაილი - საცავის მთავარი ფაილი, რომელიც შეიცავს სახელს, ვერსიას, ზომას, მოკლე და სრული აღწერადა დამოკიდებულებები თითოეული პაკეტისთვის. მას ჰქვია Packages.gz ორობითი საცავის შემთხვევაში და Sources.gz წყაროს კოდის საცავისთვის. შექმნილია pkg-scanpackages და dpkg-scansources უტილიტების გამოყენებით.

Apt keyring (სიტყვასიტყვით: apt keyring) არის გასაღებების საცავი, რომელიც ახდენს პაკეტის წყაროების (საცავების) ავთენტიფიკაციას.

რა არის შიგნით?

Deb პაკეტების დამახასიათებელი ნიშანია მათი სიმარტივე. ნებისმიერი Deb პაკეტი შედგება სამი ფაილისგან: data.tar.gz, control.tar.gz და debian-binary, შეფუთული ar archiver-ით. ფაილი data.tar.gz არის პაკეტის შიგთავსი (ორობითი, კაცი, დოკუმენტაცია და ა.შ.), control.tar.gz არის მეტამონაცემები, უმარტივეს ვერსიაში ორი ფაილი: კონტროლი, რომელიც შეიცავს პაკეტის აღწერას, დამოკიდებულებებს, ზომა და ა.შ. .d., და md5sums - ყველა პაკეტის შემოწმების ჯამი.

ar -xv პაკეტი.deb && tar -xzf data.tar.gz

Advanced Packaging Tool არის მაღალი დონის ინსტრუმენტი პაკეტებთან მუშაობისთვის.

პაკეტებთან მუშაობა dpkg-ის გამოყენებით.

dpkg არის მთავარი პროგრამა სისტემაში Debian პაკეტებთან მუშაობისთვის. თუ არსებობს .deb პაკეტები, ეს არის dpkg, რომელიც საშუალებას გაძლევთ დააინსტალიროთ ისინი ან გააანალიზოთ მათი შინაარსი. თუმცა, ამ პროგრამას აქვს მხოლოდ ნაწილობრივი ხედვა Debian სამყაროზე: მან იცის, რა არის დაინსტალირებული სისტემაზე, ისევე როგორც ყველაფერი, რაც მას გადაცემულია ბრძანების ხაზზე, მაგრამ არაფერი იცის სხვა ხელმისაწვდომი პაკეტების შესახებ. ამიტომ, ის წარუმატებელი იქნება, თუ ის შეხვდება დაუკმაყოფილებელ დამოკიდებულებას. მეორეს მხრივ, ინსტრუმენტები, როგორიცაა apt, ავტომატურად შექმნიან დამოკიდებულებების ჩამონათვალს, რათა ყველაფერი რაც შეიძლება ავტომატურად დაინსტალირდეს.

dpkg თუ apt?

dpkg უნდა განიხილებოდეს როგორც დაბალი დონის ხელსაწყო (ძრავა) და მიზანშეწონილი იყოს როგორც მომხმარებელთან უფრო ახლოს ინსტრუმენტი, პირველის შეზღუდვების გვერდის ავლით. ეს ხელსაწყოები ერთად მუშაობენ, თითოეულს აქვს საკუთარი სპეციფიკა, რომელიც მორგებულია ამოცანების კონკრეტულ სპექტრზე.

პაკეტების ინსტალაცია

dpkg უპირველეს ყოვლისა არის ინსტრუმენტი უკვე ხელმისაწვდომი Debian პაკეტების დასაყენებლად (რადგან ის არაფერს ჩამოტვირთავს). პაკეტის დასაყენებლად გამოიყენეთ -i ან --install ვარიანტი.

პაკეტის დაყენება dpkg-ის გამოყენებით

Dpkg -i man-db_2.7.0.2-5_amd64.deb




man-db პაკეტის (2.7.0.2-5) კონფიგურაცია მიმდინარეობს...

ჩვენ შეგვიძლია დავინახოთ dpkg შესრულებული ყოველი ნაბიჯი, ასე რომ, ჩვენ ვიცით სად შეიძლება მომხდარიყო რაიმე შეცდომა. ინსტალაცია ასევე შეიძლება განხორციელდეს ორ ეტაპად: ჯერ გახსნა, შემდეგ კონფიგურაცია. ეს აიძულებს apt-get განახორციელოს ნაკლები ზარი dpkg-ზე (თითოეული ასეთი მოთხოვნა ძვირადღირებული ოპერაციაა მონაცემთა ბაზის მეხსიერებაში ჩატვირთვის აუცილებლობის გამო, უკვე დაინსტალირებული ფაილების მთელი სიის ჩათვლით).

ცალკე განლაგება და დაყენება

Dpkg --გაშალეთ man-db_2.7.0.2-5_amd64.deb

(ბაზის კითხვა... ამჟამად დაინსტალირებულია 86425 ფაილი და დირექტორია.)
მზადება გასახსნელად man-db_2.7.0.2-5_amd64.deb ...
Man-db (2.7.0.2-5) იხსნება შესაცვლელად (2.7.0.2-5) ...
mime- მხარდაჭერის ტრიგერები (3.58) მუშავდება...

Dpkg -- კონფიგურაცია man-db

man-db პაკეტის (2.7.0.2-5) კონფიგურაცია მიმდინარეობს...
სახელმძღვანელო გვერდების მონაცემთა ბაზის განახლება...

ზოგჯერ dpkg, ამა თუ იმ მიზეზის გამო, ვერ დააინსტალირებს პაკეტს და აბრუნებს შეცდომას; თუ მომხმარებელი დაავალებს ამ შეცდომის იგნორირებას, გაიცემა მხოლოდ გაფრთხილება; ამისათვის არსებობს სხვადასხვა --force-* ვარიანტი. dpkg --force-help ბრძანება, ან ამ ბრძანების დოკუმენტაცია მოგცემთ სრული სიაასეთი ვარიანტები. ყველაზე საერთო შეცდომაის, რასაც ადრე თუ გვიან მოგიწევთ გამკლავება, არის ფაილების კონფლიქტი. როდესაც პაკეტი შეიცავს ფაილს, რომელიც უკვე დაინსტალირებულია სხვა პაკეტის მიერ, dpkg უარს იტყვის მის ინსტალაციაზე და ჩვენ მივიღებთ შემდეგ შეტყობინებას:

libgdm პაკეტი გახსნილია (ფაილიდან.../libgdm_3.8.3-2_amd64.deb) ...
dpkg: შეცდომა პარამეტრის დამუშავებისას /var/cache/apt/archives/libgdm_3.8.3-2_amd64.deb (--გაშალეთ):
ვცდილობ გადაწერო "/usr/bin/gdmflexiserver", რომელიც უკვე არის gdm3 3.4.1-9 პაკეტში

ამ შემთხვევაში, თუ თვლით, რომ ამ ფაილის ჩანაცვლება არ წარმოადგენს მნიშვნელოვან რისკს თქვენი სისტემის სტაბილურობისთვის (ასე ხდება ხშირად), შეგიძლიათ გამოიყენოთ --force-overwrite ოფცია, რომელიც ეუბნება dpkg-ს უგულებელყოს ეს შეცდომა. და გადაწერეთ ფაილი.
მიუხედავად იმისა, რომ არსებობს ბევრი --force-* ვარიანტი, რეკომენდებულია მხოლოდ --force-overwrite რეგულარული გამოყენება. დანარჩენი განკუთვნილია მხოლოდ გამონაკლის შემთხვევებზე და უმჯობესია დატოვოთ ისინი რაც შეიძლება დიდხანს, რათა დაიცვან პაკეტის შექმნისას დაწესებული წესები. არ დაგავიწყდეთ, რომ ეს წესები სისტემის მთლიანობისა და სტაბილურობის გარანტიაა.

ყურადღება! ეფექტური გამოყენება--ძალა-*

თუ არ ხართ ფრთხილად, --force-* ოფციის გამოყენებამ შეიძლება გამოიწვიოს APT ბრძანებების მუშაობის შეწყვეტა. ამ ვარიანტებიდან ზოგიერთი საშუალებას გაძლევთ დააინსტალიროთ პაკეტი დაუსრულებელი დამოკიდებულებებით ან თუ არის კონფლიქტი. შედეგად, სისტემის თანმიმდევრულობა დარღვეულია დამოკიდებულებების კუთხით და APT ბრძანებები უარს იტყვიან სხვა რამეზე, გარდა იმისა, რაც დააბრუნებს სისტემას თანმიმდევრულ მდგომარეობაში (ეს ჩვეულებრივ ნიშნავს დაკარგული დამოკიდებულების დაყენებას ან პრობლემური პაკეტის ამოღებას. ). აი ასეთი შეცდომის მითითების შესახებ შეტყობინების მაგალითი, რომელიც მიღებული იქნა rdesktop-ის ახალი ვერსიის დაყენების შემდეგ და libc6-ის ახალ ვერსიაზე დამოკიდებულების იგნორირება:

ბინა სრული განახლება

თქვენ შეგიძლიათ გამოიყენოთ "apt-get -f install" ამ შეცდომების გამოსასწორებლად.
პაკეტები დაუკმაყოფილებელი დამოკიდებულებით:
rdesktop: დამოკიდებულია: libc6 (>= 2.5) მაგრამ 2.3.6.ds1-13etch7 უკვე დაინსტალირებულია
E: დაუსრულებელი დამოკიდებულებები.

სცადეთ გამოიყენოთ -f.
გაბედულ ადმინისტრატორებს, რომლებიც დარწმუნებულნი არიან სიტუაციის ანალიზში, შეუძლიათ იგნორირება გაუკეთონ გაფრთხილებას დამოკიდებულების პრობლემის ან კონფლიქტის შესახებ შესაბამისი --force-* ვარიანტის გამოყენებით. ამ შემთხვევაში, თუ გსურთ გააგრძელოთ apt-ის ან aptitude-ის გამოყენება, თქვენ უნდა შეცვალოთ /var/lib/dpkg/status და წაშალოთ/შეცვალოთ დამოკიდებულება ან კონფლიქტი.
რედაქტირება ამ ფაილსარის ბინძური ჰაკი და არ უნდა იქნას გამოყენებული ექსტრემალური შემთხვევების გარდა. ხშირად საუკეთესო გამოსავალიარის პრობლემის გამომწვევი პაკეტის ხელახლა აშენება, "პაკეტის ხელახლა აშენება მისი საწყისი კოდიდან") ან მისი ახალი ვერსიის გამოყენება (ალბათ დაფიქსირდა) საცავიდან, როგორიცაა stable-backports (იხ. განყოფილება 6.1.2.4, "სტაბილური პროგრამული უზრუნველყოფა ჩამორჩენილით". თავსებადობა").

პაკეტის ამოღება

dpkg-ის გაშვება -r ან --remove ოფციით, რასაც მოჰყვება პაკეტის სახელი, წაშლის ამ პაკეტს. თუმცა, ეს წაშლა დასრულებული არ არის: ყველა კონფიგურაციის ფაილი, დამხმარე სკრიპტები, ჟურნალის ფაილები (სისტემის ჟურნალები) და ამ პაკეტის მიერ გამოყენებული მომხმარებლის სხვა მონაცემები დარჩება. ამ გზით პროგრამის დეინსტალაციის გზით ადვილია მოშორება, მაგრამ ამავე დროს შესაძლებელია მისი ხელახლა ინსტალაცია იგივე კონფიგურაციით. იმისათვის, რომ მთლიანად წაშალოთ ყველაფერი, რაც დაკავშირებულია პაკეტთან, გამოიყენეთ -P ან --purge ვარიანტი, რასაც მოჰყვება პაკეტის სახელი.

Debian-cd პაკეტის სრული წაშლა

Dpkg -r debian-cd

(ბაზის კითხვა... ამჟამად დაინსტალირებულია 97747 ფაილი და დირექტორია.)

Dpkg -P debian-cd

(ბაზის კითხვა... ამჟამად დაინსტალირებულია 97401 ფაილი და დირექტორია.)
Debian-cd პაკეტი (3.1.17) იშლება...
Debian-cd პაკეტის (3.1.17) კონფიგურაციის ფაილები გასუფთავებულია...

dpkg მონაცემთა ბაზის მოთხოვნები და .deb ფაილების ანალიზი

ვარიანტების უმეტესობისთვის არის "გრძელი" ოფციები (ერთი ან მეტი სიტყვა, რომელსაც წინ უძღვის ორმაგი დეფისი) და "მოკლე" (ერთი ასო, ხშირად "გრძელი" ვარიანტის პირველი ასო, რასაც მოჰყვება ერთი დეფისი). ეს კონვენცია იმდენად გავრცელებულია, რომ უკვე POSIX სტანდარტია.
სანამ ამ განყოფილებას დავასრულებთ, მოდით გადავხედოთ dpkg-ის ვარიანტებს შიდა მონაცემთა ბაზაში სხვადასხვა ინფორმაციის მისაღებად. ამ შემთხვევაში ჯერ გრძელი ვარიანტები იქნება მითითებული, შემდეგ კი შესაბამისი მოკლე ვარიანტები (რომლებიც, რა თქმა უნდა, იგივე არგუმენტებს იღებენ). ამრიგად, --listfiles პაკეტი (ან -L) ჩამოთვლის პაკეტის მიერ დაინსტალირებულ ფაილებს; --search file (ან -S) ეძებს პაკეტს, რომელსაც ეკუთვნის ეს ფაილი; --status პაკეტი (ან -s) აჩვენებს ინფორმაციას კონკრეტული დაინსტალირებული პაკეტის შესახებ; --list (ან -l) აჩვენებს სისტემისთვის ცნობილი პაკეტების ჩამონათვალს და მათ სტატუსს; --contents file.deb (ან -c) აჩვენებს ამ პაკეტის ფაილების ჩამონათვალს; --info file.deb (ან -I) აჩვენებს Debian პაკეტის ინფორმაციას.

ინფორმაციის მოძიება dpkg-ის გამოყენებით

Dpkg -L ბაზა-გასასვლელი

/.
/ usr
/usr/sbin
/usr/sbin/update-passwd
/usr/share
/usr/share/man
/usr/share/man/ru
/usr/share/man/ru/man8
/usr/share/man/ru/man8/update-passwd.8.gz
/usr/share/man/pl
/usr/share/man/pl/man8
/usr/share/man/pl/man8/update-passwd.8.gz
/usr/share/man/man8
/usr/share/man/man8/update-passwd.8.gz
/usr/share/man/fr
/usr/share/man/fr/man8
/usr/share/man/fr/man8/update-passwd.8.gz
/usr/share/doc-base
/usr/share/doc-base/users-and-groups
/usr/share/base-passwd
/usr/share/base-passwd/passwd.master
/usr/share/base-passwd/group.master
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/base-passwd
/usr/share/doc
/usr/share/doc/base-passwd
/usr/share/doc/base-passwd/საავტორო უფლებები
/usr/share/doc/base-passwd/users-and-groups.html
/usr/share/doc/base-passwd/changelog.gz
/usr/share/doc/base-passwd/users-and-groups.txt.gz
/usr/share/doc/base-passwd/README

Dpkg -S /bin/თარიღი

coreutils: /bin/date

Dpkg -s coreutils

შეფუთვა: კორუტილები
არსებითი: დიახ
სტატუსი: დააინსტალირეთ დაინსტალირებული
პრიორიტეტი: აუცილებელია
განყოფილება: კომუნალური
დაინსტალირებული - ზომა: 13822
შემსრულებელი: მაიკლ სტოუნი
არქიტექტურა: amd64
მრავალთაღოვანი: უცხო
ვერსია: 8.13-3.5
ჩანაცვლება: mktemp, ტაიმაუტი
დამოკიდებულია: dpkg (>= 1.15.4) | ინსტალაციის ინფორმაცია
წინასწარ დამოკიდებულია: libacl1 (>= 2.2.51-8), libattr1 (>= 1:2.4.46-8), libc6 (>= 2.7), libselinux1 (>= 1.32)
კონფლიქტები: ტაიმაუტი
აღწერა: GNU ძირითადი საშუალებები
ეს პაკეტი შეიცავს ძირითად ფაილს, გარსს და ტექსტის მანიპულირებას
კომუნალური პროგრამები, რომლებიც მოსალოდნელია არსებობდეს ყველა ოპერაციულ სისტემაზე.
.
კერძოდ, ეს პაკეტი მოიცავს:
arch base64 basename cat chcon chgrp chmod chown chroot cksum comm cp
csplit cut date dd df dir dircolors dirname du echo env expand expr
ფაქტორი false flock fmt fold groups head hostid id install join link ln
logname ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup nproc od
ჩასვით pathchk pinky pr printenv printf ptx pwd readlink rm rmdir runcon
sha*sum seq shred sleep sort split stat stty sum sync tac tail tee test
დროის ამოწურვა შეხება tr true truncate tsort tty uname unexpand uniq გაუქმება
მომხმარებლებს vdir wc ვინც whoami დიახ
მთავარი გვერდი: http://gnu.org/software/coreutils

Dpkg -l "b*"

სასურველი=უცნობი[u]/ინსტალაცია[i]/წაშლა[r]/გასუფთავება[p]/ჩადება[სთ]
| სტატუსი=არა[n]/ინსტალირებული[i]/კონფიგურირებული[c]/შეფუთული[U]/ნაწილობრივ კონფიგურირებული[F]/
ნაწილობრივ დაინსტალირებული[H]/trig-aWait/Trig-pend
|/ შეცდომა?=(არცერთი)/საჭიროა ხელახალი ინსტალაცია[R] (ზედა
სტატუსისა და შეცდომის ველებში მიუთითებს არანორმალურ სიტუაციაზე)
||/ სახელის ვერსიის არქიტექტურის აღწერა
+++-============-==============-==============-================================
un backupninja<нет>(აღწერა მიუწვდომელია)
არა ბაზა<нет>(აღწერა მიუწვდომელია)
un base-config<нет>(აღწერა მიუწვდომელია)
ii base-files 7.1 amd64 Debian საბაზო სისტემა სხვადასხვა
ii base-passwd 3.5.26 amd64 Debian საბაზისო სისტემის master passwo
[...]

Dpkg -c /var/cache/apt/archives/gnupg_1.4.12-7_amd64.deb

drwxr-xr-x root/root 0 2013-01-02 19:28 ./
drwxr-xr-x root/root 0 2013-01-02 19:28 ./usr/
drwxr-xr-x root/root 0 2013-01-02 19:28 ./usr/share/
drwxr-xr-x root/root 0 2013-01-02 19:28 ./usr/share/doc/
drwxr-xr-x root/root 0 2013-01-02 19:28 ./usr/share/doc/gnupg/
-rw-r--r-- root/root 3258 2012-01-20 10:51 ./usr/share/doc/gnupg/TODO
-rw-r--r-- root/root 308 2011-12-02 18:34 ./usr/share/doc/gnupg/FAQ
-rw-r--r-- root/root 3543 2012-02-20 18:41 ./usr/share/doc/gnupg/Upgrading_From_PGP.txt
-rw-r--r-- root/root 690 2012-02-20 18:41 ./usr/share/doc/gnupg/README.Debian
-rw-r--r-- root/root 1418 2012-02-20 18:41 ./usr/share/doc/gnupg/TODO.Debian
[...]

Dpkg -I /var/cache/apt/archives/gnupg_1.4.12-7_amd64.deb

ახალი Debian პაკეტი, ვერსია 2.0.
ზომა 1952176 ბაიტი: საკონტროლო არქივის სიგრძე 3312 ბაიტი.
1449 ბაიტი, 30 საკონტროლო ხაზი
4521 ბაიტი, 65 ხაზი md5sum
479 ბაიტი (ები), 13 სტრიქონი * postinst #!/bin/sh
473 ბაიტი (ები), 13 სტრიქონი * preinst #!/bin/sh
პაკეტი: gnupg
ვერსია: 1.4.12-7
არქიტექტურა: amd64
Maintainer: Debian GnuPG-Maintainers
დაინსტალირებული - ზომა: 4627
დამოკიდებულია: libbz2-1.0, libc6 (>= 2.4), libreadline6 (>= 6.0), libusb-0.1-4 (>= 2:0.1.12), zlib1g (>= 1:1.1.4), dpkg (>= 1.15.4) | install-info, gpgv
რეკომენდირებულია: libldap-2.4-2 (>= 2.4.7), gnupg-curl
გთავაზობთ: gnupg-doc, xloadimage | imagemagick | eog, libpcsclite1
განყოფილება: კომუნალური
პრიორიტეტი: მნიშვნელოვანია
მრავალთაღოვანი: უცხო
მთავარი გვერდი: http://www.gnupg.org
აღწერა: GNU კონფიდენციალურობის დაცვა - უფასო PGP ჩანაცვლება
GnuPG არის GNU-ის ინსტრუმენტი უსაფრთხო კომუნიკაციისა და მონაცემთა შენახვისთვის.
მისი გამოყენება შესაძლებელია მონაცემთა დაშიფვრად და ციფრული ხელმოწერების შესაქმნელად.
იგი მოიცავს გასაღების მართვის მოწინავე მოწყობილობას და შეესაბამება
შემოთავაზებული OpenPGP ინტერნეტ სტანდარტით, როგორც აღწერილია RFC 4880-ში.
[...]

LETTING DEPTH: ვერსიების შედარება

ვინაიდან dpkg არის Debian პაკეტის მართვის პროგრამა, ის ასევე შეიცავს ვერსიის ნომრის შედარების ლოგიკის საცნობარო განხორციელებას. აქედან გამომდინარე, მას აქვს --compare-versions ოფცია, რომელსაც იყენებენ გარე პროგრამები (ძირითადად კონფიგურაციის სკრიპტები, რომლებსაც თავად dpkg მართავს). ეს პარამეტრი მოითხოვს სამ პარამეტრს: ვერსიის ნომერი, შედარების ოპერატორი და მეორე ვერსიის ნომერი. სწორი შედარების ოპერატორებია lt (მკაცრად ნაკლები), le (ნაკლები ან ტოლი), eq (ტოლი), ne (არა ტოლი), ge (უფრო მეტი ან ტოლი) და gt (მკაცრად მეტი). თუ შედარება სწორია, dpkg აბრუნებს 0 (წარმატება თუ არა, მაშინ არა-ნულოვანი მნიშვნელობა (შეცდომა).

$ dpkg --შეადარე-ვერსიები 1.2-3 gt 1.1-4
$echo$?
0
$ dpkg --შეადარე-ვერსიები 1.2-3 ლ 1.1-4
$echo$?
1
$ dpkg --შედარება-ვერსიები 2.6.0pre3-1 lt 2.6.0-1
$echo$?
1

გაითვალისწინეთ ბოლო შედარების მოულოდნელი წარუმატებლობა: dpkg-სთვის, ასოებს pre, რომლებიც ჩვეულებრივ აღნიშნავენ წინასწარ გამოშვებას, არ აქვთ განსაკუთრებული მნიშვნელობა და ანბანური სიმბოლოები შედარებულია ისე, როგორც რიცხვები (ა.< b < c ...), в алфавитном порядке. Именно поэтому dpkg считает, что «0pre3» больше, чем «0». При необходимости указать в номере версии, что она относится к предварительному выпуску, используется символ тильды «~»:

$ dpkg -- compare-ვერსიები 2.6.0~pre3-1 lt 2.6.0-1
$echo$?
0

dpkg ჟურნალის ფაილი

dpkg ინახავს ყველა მოქმედების ჟურნალს /var/log/dpkg.log. ეს ჟურნალი ძალიან დეტალურია, რომელიც ასახავს dpkg პაკეტების დამუშავების ყოველ ნაბიჯს. ეს ჟურნალი ხელს უწყობს არა მხოლოდ dpkg-ის ქცევის თვალყურის დევნებას, არამედ სისტემაში ცვლილებების ისტორიის შენარჩუნებას: შეგიძლიათ იპოვოთ ზუსტი მომენტი, როდესაც თითოეული პაკეტი დაინსტალირდა ან განახლდა და ეს ინფორმაცია შეიძლება ძალიან სასარგებლო იყოს მიზეზების დადგენაში. ცვლილებები მთლიანად სისტემის ქცევაში. გარდა ამისა, ინფორმაცია ყველა ვერსიის შესახებ ჩაწერილია და ადვილად გადამოწმდება changelog.Debian.gz-ის შესაბამისი პაკეტიდან ან ონლაინ შეცდომების შესახებ მოხსენებებთან მიმართებაში.

მრავალ არქიტექტურული მხარდაჭერა

Debian-ის ყველა პაკეტს მეტამონაცემებში აქვს არქიტექტურის ველი. ეს ველი შეიძლება შეიცავდეს მნიშვნელობას "ყველა" (პაკეტებისთვის, რომლებიც დამოუკიდებელია არქიტექტურისთვის) ან კონკრეტული არქიტექტურის სახელს, რომლისთვისაც განკუთვნილია პაკეტი (მაგალითად, "amd64", "armhf", ...). ამ უკანასკნელ შემთხვევაში, dpkg ნაგულისხმევად დაუშვებს პაკეტის დაინსტალირებას მხოლოდ იმ შემთხვევაში, თუ მისი არქიტექტურა ემთხვევა სისტემის არქიტექტურას დაბრუნებულ dpkg --print-architecture-ით.
ეს შეზღუდვა უზრუნველყოფს, რომ სისტემაში არ არის შედგენილი ორობითი ფაილები არასწორი არქიტექტურისთვის. ეს კარგი იქნება, მაგრამ (ზოგიერთ) კომპიუტერს შეუძლია ორობითი ფაილების გაშვება სხვადასხვა არქიტექტურისთვის, ან ბუნებრივად (მაგალითად, "amd64" სისტემები აწარმოებს ბინარებს "i386"-ისთვის) ან ემულატორების მეშვეობით.

მრავალ არქიტექტურის ჩართვა

dpkg-ის მრავალ არქიტექტურული მხარდაჭერა საშუალებას გაძლევთ განსაზღვროთ „უცხო არქიტექტურები“, რომლებიც შეიძლება დაინსტალირდეს მოცემულ სისტემაზე. ამის გაკეთება მარტივია dpkg --add-architecture-ით, როგორც ეს ნაჩვენებია ქვემოთ მოცემულ მაგალითში. ასევე არსებობს შესაბამისი dpkg --remove-architecture ბრძანება უცხოური არქიტექტურის მხარდაჭერის გამორთვისთვის, მაგრამ მისი გამოყენება შესაძლებელია მხოლოდ იმ შემთხვევაში, თუ სისტემაში ამ არქიტექტურის პაკეტები არ არის დარჩენილი.

dpkg --ბეჭდვა-არქიტექტურა
amd64

dpkg: შეცდომა არქივის დამუშავებისას gcc-4.9-base_4.9.1-19_armhf.deb (--ინსტალაცია):
პაკეტის არქიტექტურა (armhf) არ ემთხვევა სისტემას (amd64)
დამუშავებისას წარმოიშვა შეცდომები:
gcc-4.9-base_4.9.1-19_armhf.deb

dpkg --add-architecture armhf
dpkg --add-architecture armel
dpkg --ბეჭდვა-უცხო-არქიტექტურები
armhf
არმელი

Dpkg -i gcc-4.9-base_4.9.1-19_armhf.deb

ადრე არჩეული პაკეტის არჩევა gcc-4.9-base:armhf.
( მონაცემთა ბაზის კითხვა ... ამჟამად დაინსტალირებულია 86425 ფაილი და დირექტორია.)
მზადება გასახსნელად gcc-4.9-base_4.9.1-19_armhf.deb ...
gcc-4.9-base:armhf (4.9.1-19) ამოფუთვა ...
gcc-4.9-base:armhf (4.9.1-19) დაყენება ...

Dpkg -- ამოღება-არქიტექტურა armhf

dpkg: შეცდომა: ვერ წაიშლება არქიტექტურა "armhf", რომელიც ამჟამად გამოიყენება მონაცემთა ბაზაში

Dpkg -- ამოღება-architecture armel
dpkg --ბეჭდვა-უცხო-არქიტექტურები
მრავალ არქიტექტურული მხარდაჭერა APT-ში

APT ავტომატურად აღმოაჩენს, არის თუ არა dpkg კონფიგურირებული უცხოური არქიტექტურების მხარდასაჭერად და განახლების პროცესში დაიწყებს შესაბამისი პაკეტის ფაილების ჩამოტვირთვას.
უცხოური პაკეტების დაყენება შესაძლებელია apt install package:architecture ბრძანების გამოყენებით.

საკუთრების i386 ბინარების გამოყენება amd64 სისტემებზე

არსებობს რამდენიმე შემთხვევა, როდესაც მრავალ არქიტექტურა შეიძლება იყოს სასარგებლო, მაგრამ ყველაზე გავრცელებული არის 32-ბიტიანი ფაილების (i386) ჩართვა 64-ბიტიან სისტემებზე (amd64), განსაკუთრებით იმიტომ, რომ ზოგიერთი პოპულარული საკუთრების აპლიკაცია (მაგალითად, Skype) არის მხოლოდ ხელმისაწვდომია 32-ბიტიანი ვერსიების სახით.

მრავალ არქიტექტურასთან დაკავშირებული ცვლილებები

მრავალ თაღოვანი მხარდაჭერა ნამდვილად გამოსადეგი რომ ყოფილიყო, ბიბლიოთეკებს სჭირდებოდათ ხელახლა შეფუთვა, მათი გადატანა არქიტექტურის სპეციფიკურ დირექტორიაში, რათა შესაძლებელი ყოფილიყო რამდენიმე ასლის (სხვადასხვა არქიტექტურისთვის) ინსტალაცია ერთდროულად. ასეთი განახლებული პაკეტები შეიცავს "Multi-Arch: იგივე" სათაურს, რომელიც მიუთითებს პაკეტის მართვის სისტემაზე, რომ სხვადასხვა პაკეტის არქიტექტურა შეიძლება დაინსტალირდეს ერთად (და რომ ამ პაკეტებს შეუძლიათ დააკმაყოფილონ მხოლოდ იმავე არქიტექტურის პაკეტების დამოკიდებულებები). ვინაიდან მრავალ თაღოვანი მხარდაჭერა მხოლოდ Debian Wheezy-ს დაემატა, ყველა ბიბლიოთეკა ჯერ არ არის გადაკეთებული.

Dpkg -s gcc-4.9-ბაზა

dpkg-query: error: --status მოითხოვს პაკეტის მოქმედ სახელს, მაგრამ "gcc-4.9-base" არ არის: ორაზროვანი პაკეტის სახელი "gcc-4.9-base" ერთზე მეტი ეგზემპლარით დაინსტალირებული

გამოიყენეთ --help ოფცია, რათა ნახოთ დახმარება პაკეტის მოთხოვნებისთვის.

Dpkg -s gcc-4.9-base:amd64 gcc-4.9-base:armhf | grep ^Multi

მრავალთაღოვანი: იგივე
მრავალთაღოვანი: იგივე

Dpkg -L libgcc1:amd64 |grep .so

/lib/x86_64-linux-gnu/libgcc_s.so.1

Dpkg -S /usr/share/doc/gcc-4.9-base/საავტორო უფლებები

gcc-4.9-base:amd64, gcc-4.9-base:armhf: /usr/share/doc/gcc-4.9-base/საავტორო უფლებები

აღსანიშნავია, რომ პაკეტებს Multi-Arch: იგივე ველით უნდა დაერქვას არქიტექტურის სახელი, რათა მათი ცალსახად იდენტიფიცირება მოხდეს. მათ ასევე შეუძლიათ ფაილების გაზიარება იმავე პაკეტის სხვა ინსტანციებთან; dpkg ამ შემთხვევაში უზრუნველყოფს, რომ ყველა პაკეტს ჰქონდეს ბიტი-ბიტი იდენტური გაზიარებული ფაილები. პაკეტის ყველა ინსტანცია უნდა იყოს ერთი და იგივე ვერსია, ამიტომ ისინი ერთად უნდა განახლდეს.
მრავალ არქიტექტურულ მხარდაჭერას ასევე მოაქვს გარკვეული საინტერესო თვისებებიდამოკიდებულების დამუშავების მექანიზმში. დამოკიდებულების გადასაჭრელად საჭიროა ან პაკეტი წარწერით "Multi-Arch: უცხო" ან პაკეტი იგივე არქიტექტურით (დამოკიდებულების გადაჭრისას, არქიტექტურისგან დამოუკიდებელი პაკეტები განიხილება, როგორც სისტემის მსგავსი არქიტექტურა). დამოკიდებულება ასევე შეიძლება შემსუბუქდეს, რათა ნებისმიერი არქიტექტურის პაკეტმა შეძლოს მისი დაკმაყოფილება პაკეტის:ნებისმიერი სინტაქსის გამოყენებით, მაგრამ უცხოურ პაკეტებს შეუძლიათ დააკმაყოფილონ ასეთი დამოკიდებულება მხოლოდ იმ შემთხვევაში, თუ მონიშნულია "Multi-Arch: დასაშვებია".

გამოყენებული მასალები.

APT (გაფართოებული შეფუთვის ინსტრუმენტი) არის კომუნალური პროგრამა Debian- მოსწონს სისტემები, რომლებიც აინსტალირებენ, განაახლებს პაკეტებს და აკონტროლებენ მათ დამოკიდებულებებს. პროგრამის შექმნის მიზანი იყო პაკეტის მართვის პროცესის ავტომატიზაცია, კერძოდ, დამოკიდებულებების განახლება და შენარჩუნება, რაც dpkg მენეჯერთან უშუალო მუშაობის შემთხვევაში ხდებოდა მექანიკური რეჟიმი. პროგრამის გამოყენებით ხდება პაკეტების პირდაპირი მანიპულირება აპტ-მიღება, რომლებთან მუშაობის ძირითადი ბრძანებები ქვემოთ იქნება განხილული.

ზოგადი apt-get ბრძანების სტრუქტურა

apt-get [options] ბრძანება package1 package2 ... packageN

ქვემოთ მოყვანილი ვარიანტები შეიძლება სასარგებლო იყოს მასთან მუშაობისას აპტ-მიღება:

ინსტალაციისთვის ხელმისაწვდომი პაკეტების სიის განახლება

ეს მოქმედება ხორციელდება ბრძანების გამოყენებით:

Apt-get განახლება

სიის განახლება განსაკუთრებით მნიშვნელოვანია, თუ გჭირდებათ პაკეტის უახლესი და სტაბილური ვერსიის დაყენება. ამ ბრძანების შესრულებისას პროგრამა ასკანირებს ფაილში მითითებულ არქივებს /etc/apt/sources.list.

პაკეტის დაყენება

პაკეტის დასაყენებლად გამოიყენეთ ბრძანება:

Apt-get install პაკეტის სახელი

Როგორც შედეგი, APTმოძებნის მითითებული პაკეტის უახლეს ვერსიას და შეამოწმებს აქვს თუ არა მას დამოკიდებულებები. თუ არსებობს დამოკიდებულებები, გამოჩნდება მათი სია და ინსტალაციის შეთავაზება.

Root@vps:~# apt-get install aee პაკეტების სიების კითხვა... დასრულებულია აგების დამოკიდებულების ხე ინფორმაციის წაკითხვა მდგომარეობის შესახებ... შესრულებულია შემდეგი დამატებითი პაკეტები დაინსტალირდება: libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 შემდეგი ახალი პაკეტები იყოს დაინსტალირებული: aee libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 0 განახლებულია, 6 ახლად დაინსტალირებული, 0 წასაშლელი და 44 არ არის განახლებული. საჭიროა 181 კბ/1297 კბ არქივის მიღება. ამ ოპერაციის შემდეგ გამოყენებული იქნება 4366 კბაიტი დამატებითი ადგილი დისკზე. Გინდა გააგრძელო?

თუ არ არის დამოკიდებულებები, ინსტალაციის პროცესი ავტომატურად განხორციელდება ყოველგვარი შეკითხვის გარეშე.

ასევე, პაკეტების ინსტალაციის ბრძანების შეყვანისას შეგიძლიათ მიუთითოთ იმ პაკეტების სახელები, რომლებიც უნდა წაიშალოს. ამისათვის თქვენ უნდა დაამატოთ დეფისი წასაშლელი პაკეტის სახელის ბოლოს. ამ ინსტალაციის/მოხსნის მეთოდის მაგალითი მოცემულია ქვემოთ:

Root@vps:~# apt-get install aee htop- პაკეტების სიების კითხვა... დასრულებულია აგების დამოკიდებულების ხე ინფორმაციის წაკითხვა მდგომარეობის შესახებ... შესრულებულია შემდეგი დამატებითი პაკეტები დაინსტალირდება: libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 შემდეგი პაკეტები წაიშლება: htop დაინსტალირდება შემდეგი ახალი პაკეტები: aee libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 0 განახლებულია, 6 ახლად დაინსტალირებული, 1 წასაშლელი და 43 არ არის განახლებული. საჭიროა 1297 კბ არქივის მიღება. ამ ოპერაციის შემდეგ გამოყენებული იქნება 4157 კბაიტი დამატებითი ადგილი დისკზე. Გინდა გააგრძელო?

როგორც მაგალითზე ხედავთ, aee პაკეტი მომზადებულია ინსტალაციისთვის, ხოლო htop პაკეტი მზადდება ამოსაღებად.

პაკეტის ხელახლა ინსტალაცია

თუ საჭიროა პაკეტის ხელახლა ინსტალაცია (ფაილის დაზიანება, გამოჩნდება ახალი ვერსია), ეს შეიძლება გაკეთდეს შემდეგი ბრძანების გამოყენებით:

Apt-get -- ხელახლა დააინსტალირეთ ინსტალაციის პაკეტის სახელი

პაკეტის ამოღება

პაკეტების ამოღების ორი ვარიანტი არსებობს:

  • პაკეტის ამოღება კონფიგურაციის ფაილების გარდა (ასეთის არსებობის შემთხვევაში).

ჩვეულებრივ ეს ვარიანტიშეიძლება დაგჭირდეთ, თუ მომავალში აპირებთ ამ პაკეტის ხელახლა ინსტალაციას. ამოღების ეს მეთოდი ხორციელდება ბრძანებით:

Apt-get წაშალე პაკეტის სახელი

აღსანიშნავია ისიც, რომ თუ ამოღებულ პაკეტს აქვს დამოკიდებულებები, ის მათთან ერთად მოიხსნება.

  • პაკეტის სრული მოცილება

პირველი მეთოდისგან განსხვავებით, წაიშლება ყველა ფაილი, რომელიც დაკავშირებულია წაშლილ პაკეტთან, კონფიგურაციის ფაილების ჩათვლით. ამ შემთხვევაში გამოიყენება ბრძანება:

Apt-get -- გასუფთავება პაკეტის სახელის ამოღება

პაკეტებს, რომლებიც მონიშნულია სრული წაშლისთვის, აქვთ "*" მათი სახელების ბოლოს.

  • დეინსტალაცია და ინსტალაცია ერთი ბრძანებით

გარდა ამისა, დეინსტალაციისას შეგიძლიათ აირჩიოთ დასაინსტალირებელი პაკეტების სია. ამისათვის თქვენ უნდა მიუთითოთ " + ” პაკეტის სახელის ბოლოს. ასეთი ბრძანების მაგალითი მოცემულია ქვემოთ:

Root@vps:~# apt-get --გასუფთავება aee ეკრანის წაშლა+ პაკეტების სიების კითხვა... დასრულებულია დამოკიდებულების ხის აშენება მდგომარეობის ინფორმაციის წაკითხვა... შესრულებულია შემდეგი პაკეტები წაიშლება: aee* დაინსტალირდება შემდეგი ახალი პაკეტები: ეკრანი 0 განახლებულია, 1 ახლად დაინსტალირებული, 1 მოსახსნელი და 43 არ არის განახლებული. საჭიროა 624 კბ არქივის მიღება. ამ ოპერაციის შემდეგ გამოყენებული იქნება 975 კბაიტი დამატებითი ადგილი დისკზე. Გინდა გააგრძელო?

პაკეტების განახლება

Apt-get განახლება

ეს საშუალებას მოგცემთ განაახლოთ ინფორმაცია ხელმისაწვდომი პაკეტებისა და მათი ვერსიების შესახებ. ამ ბრძანების შესრულების შემდეგ, შეგიძლიათ პირდაპირ გააგრძელოთ სისტემაში დაინსტალირებული პაკეტების განახლება. ეს კეთდება ბრძანებით:

Apt-get -u განახლება

მითითებული პარამეტრი -უგამოიყენება იმ პაკეტების სრული სიის მისაღებად, რომლებიც მომზადდება განახლებისთვის.

განაწილების ვერსიის განახლება

თუ გამოჩნდება თქვენი დაინსტალირებული ოპერაციული სისტემის ახალი ვერსია, შეგიძლიათ "განახლება" მთელი სისტემა ბრძანების გამოყენებით.

გააზიარეთ