Використання PPA в Ubuntu Linux [Повне керівництво]

Якщо ви використовуєте Ubuntu або якийсь інший дистрибутив Linux на базі Ubuntu, таких як Linux Mint, Linux Lite, Zorin OS і т.д., можливо, ви зіткнулися з трьома магічними лініями такого роду:

sudo add-apt-repository ppa: dr-akulavich / lighttable sudo apt-get оновлення sudo apt-get встановити lighttable-installer

Деякі веб-сайти пропонують такий тип ліній встановлювати програми в Ubuntu. Це те, що називається встановленням програми за допомогою PPA.

Але що таке PPA? Чому він використовується? Чи безпечно використовувати PPA? Як правильно використовувати PPA? Як видалити PPA?

Я відповім на всі вищенаведені питання в цьому докладному керівництві. Навіть якщо ви вже знаєте кілька речей про PPA, я впевнений, що ця стаття все одно додасть до ваших знань.

Зверніть увагу, що я пишу цю статтю за допомогою Ubuntu. Тому я буду використовувати термін Ubuntu майже скрізь, але пояснення і кроки також застосовні до інших дистрибутивів Debian / Ubuntu.

Що таке PPA? Чому він використовується?

Все, що потрібно знати про PPA в Ubuntu Linux

PPA означає Personal Package Archive.

Чи має це сенс? Напевно, ні.

Перш ніж зрозуміти PPA, ви повинні знати концепцію сховищ у Linux. Проте я не буду вдаватися в подробиці.

Концепція управління сховищами та пакетами

Сховище - це набір файлів, які містять інформацію про різноманітні програми, їхні версії та деякі інші деталі, такі як контрольна сума. Кожна версія Ubuntu має власний офіційний набір з чотирьох репозитаріїв:

  • головний - Канонічно підтримуване вільне та відкрите програмне забезпечення.
  • Всесвіт - безкоштовне програмне забезпечення з відкритим кодом, що підтримується спільнотою.
  • Обмежений - Власні драйвери для пристроїв.
  • Мультивсесвіт - Програмне забезпечення обмежене авторським правом або правовими питаннями.

Ви можете бачити такі сховища для всіх версій Ubuntu тут. Ви можете переглядати їх, а також переходити до окремих сховищ. Наприклад, головне сховище Ubuntu 16.04 можна знайти тут.

Тому в основному це веб-адреса, яка містить інформацію про програмне забезпечення. Як ваша система знає, де знаходяться ці сховища?

Ця інформація зберігається у файлі sources.list в каталозі / etc / apt. Якщо ви подивитеся на його вміст, ви побачите, що він має URL-адреси сховищ. Рядки з # на початку ігноруються.

Тепер, коли ви запускаєте команду sudo apt update, ваша система використовує Інструмент APT перевірити проти репо і зберігає інформацію про програмне забезпечення та їх версію в кеші. Коли ви використовуєте команду sudo apt install package_name, вона використовує цю інформацію, щоб отримати цей пакет з URL, де зберігається фактичне програмне забезпечення.

Якщо сховище не має інформації про певний пакет, ви побачите помилку, наприклад:

E: Неможливо знайти пакунок

На даний момент, я рекомендую прочитати моє Керівництво з використанням команд apt. Це дасть вам набагато краще розуміння команд apt, оновлення тощо.

Отже, це стосувалося сховищ. Але що таке PPA? Як він входить в картину?

Чому використовується PPA?

Як ви можете бачити, Ubuntu контролює, яке програмне забезпечення і що більш важливо, яку версію програмного забезпечення ви отримуєте у вашій системі. Але уявіть, якщо розробник програмного забезпечення випускає нову версію програмного забезпечення.

Ubuntu не зробить її доступною відразу. Існує процедура перевірки сумісності нової версії програмного забезпечення з системою. Це забезпечує стабільність системи.

Але це також означає, що це буде кілька тижнів або в деяких випадках, за кілька місяців до того, як вона буде доступна Ubuntu. Не всі хотіли б так довго чекати, щоб отримати нову версію свого улюбленого програмного забезпечення.

Аналогічно, припустимо, що хтось розробляє програмне забезпечення і хоче, щоб Ubuntu включив це програмне забезпечення в офіційні репозиторії. Це знову займе кілька місяців, перш ніж Ubuntu прийме рішення і включить його в офіційні репозиторії.

Інший випадок буде під час бета-тестування. Навіть якщо в офіційних репозиторіях доступна стабільна версія програмного забезпечення, розробник програмного забезпечення може захотіти, щоб деякі кінцеві користувачі перевірили їхній наступний випуск. Як вони дозволяють кінцевому користувачеві бета-тестувати майбутній реліз?

Введіть PPA!

Як використовувати PPA? Як працює АРВ?

PPA, як я вже казав, означає Архів персональних пакетів. Майте на увазі слово "Особистий" тут. Це дає натяк, що це щось ексклюзивне для розробника і офіційно не схвалено дистрибутивом.

Ubuntu надає платформу під назвою Launchpad, що дозволяє розробникам програмного забезпечення створювати власні репозиторії. Кінцевий користувач, тобто ви можете додати сховище PPA до ваших sources.list і коли ви оновлюєте вашу систему, ваша система буде знати про наявність цього нового програмного забезпечення, і ви можете встановити його за допомогою стандартної команди sudo apt install, як це.

sudo add-apt-repository ppa: dr-akulavich / lighttable sudo apt-get оновлення sudo apt-get встановити lighttable-installer

Підіб'ємо підсумки:

  • sudo add-apt-repository <PPA_info> <- Ця команда додає до списку сховище PPA.
  • sudo apt-get update <- Ця команда оновлює список пакетів, які можна встановити в системі.
  • sudo apt-get install <package_in_PPA> <- Ця команда встановлює пакет.

Ви бачите, що важливо використовувати команду sudo apt update, інакше ваша система не знатиме, коли буде доступний новий пакет.

Тепер давайте подивимося на першу команду трохи більш детально.

Судо додати-apt-сховище ppa: dr-akulavich / lighttable

Ви помітите, що ця команда не має URL-адреси до сховища. Це пояснюється тим, що інструмент створений для того, щоб відібрати у вас інформацію про URL-адресу.

Просто невелика нота. Якщо ви додасте ppa: dr-akulavich / lighttable, ви отримуєте таблицю Light. Але якщо ви додасте ppa: dr-akulavich, ви отримаєте всі репозиторії або пакети, згадані в 'верхньому репозиторії'. Це ієрархічна.

В основному, коли ви додаєте PPA, використовуючи add-apt-repository, він виконуватиме ті самі дії, що і вручну запускати ці команди:

deb http://ppa.launchpad.net/dr-akulavich/lighttable/ubuntu YOUR_UBUNTU_VERSION_HERE головний веб-сайт http://ppa.launchpad.net/dr-akulavich/lighttable/ubuntu YOUR_UBUNTU_VERSION_HERE

Дві вищезазначені рядки є традиційним способом додавання будь-яких сховищ до вашого source.list. Але PPA робить це автоматично для вас, не замислюючись про точний URL репозиторію та версію операційної системи.

Одна важлива річ, щоб не тут, що коли ви використовуєте PPA, він не змінює ваш оригінальний sources.list. Замість цього він створює два файли в каталозі /etc/apt/sources.d, список і резервний файл із суфіксом 'save'.

Використання PPA в Ubuntu
PPA створює окремі source.list

Файли з суфіксом 'list' мають команду, яка додає інформацію про сховище.

PPA додає інформацію про репозиторії
Зміст джерельного списку АОП

Це запобіжний захід для забезпечення того, щоб додавання PPA не поширювалося з оригінальним списком sources.list. Це також допомагає у видаленні PPA.

Чому ППА? Чому не пакунки DEB?

Ви можете запитати, чому ви повинні використовувати PPA, коли це пов'язано з використанням командного рядка, який не може бути кращим для всіх. Чому б не просто розповсюдити пакет DEB, який можна встановити графічно?

Відповідь полягає в процедурі оновлення. Якщо ви встановлюєте програмне забезпечення за допомогою пакета DEB, немає гарантії, що встановлене програмне забезпечення буде оновлено до більш нової версії під час запуску судо ап оновлень && sudo apt.

Це тому, що процедура оновлення apt спирається на sources.list. Якщо для програмного забезпечення немає запису, оновлення не відбувається за допомогою стандартного оновлення програмного забезпечення.

Чи означає це, що програмне забезпечення, встановлене за допомогою DEB, ніколи не отримує оновлення? Ні, не дуже. Це залежить від того, як був створений пакет.

Деякі розробники автоматично додають запис до sources.list, а потім оновлюють, як звичайне програмне забезпечення. Google Chrome є одним з таких прикладів.

Деяке програмне забезпечення сповіщатиме вас про наявність нової версії під час спроби її запуску. Вам доведеться завантажити новий пакунок DEB і запустити його знову, щоб оновити поточне програмне забезпечення до більш нової версії. Oracle Virtual Box є прикладом у цьому випадку.

Для решти пакунків DEB вам доведеться вручну шукати оновлення, і це не зручно, особливо якщо ваше програмне забезпечення призначене для бета-тестерів. Часто потрібно додавати нові оновлення. Саме тут АРП приходить на допомогу.

Офіційне Агентство з питань регулювання та регулювання проти неофіційного ЗОП

Ви також можете почути термін офіційний PPA або неофіційний PPA. Яка різниця?

Коли розробники створюють PPA для свого програмного забезпечення, це називається офіційним PPA. Цілком очевидно, тому що він надходить від ніхто інший, як розробники проекту.

Але іноді люди створюють PPA проектів, створених іншими розробниками.

Навіщо це робити? Тому що багато розробників просто надають вихідний код програмного забезпечення, і ви це знаєте встановлення програмного забезпечення з вихідного коду в Linux це біль, і не кожен міг або не міг би цього зробити.

Ось чому волонтери беруть на себе зобов'язання створити PPA від тих вихідних кодів, щоб інші користувачі могли легко встановити програмне забезпечення. Зрештою, використання цих ліній 3 набагато простіше, ніж боротися з інсталяцією вихідного коду.

Переконайтеся, що PPA доступний для вашої версії дистрибутива

Коли йдеться про використання PPA в Ubuntu або будь-якому іншому дистрибутиві на основі Debian, є кілька речей, які ви повинні мати на увазі.

Не кожен PPA доступний для вашої конкретної версії. Ви повинні знати яку версію Ubuntu ви використовуєте. Кодове ім'я випуску є важливим, тому що коли ви йдете на веб-сторінку певного PPA, ви можете побачити, які версії Ubuntu підтримуються PPA.

Для інших дистрибутивів на основі Ubuntu ви можете перевірити вміст / etc / os-release дізнайтеся версію Ubuntu інформація.

Перевірте доступність PPA для версії Ubuntu
Перевірте, чи доступна PPA для вашої версії Ubuntu

Як дізнатися URL-адресу PPA? Просто шукайте в Інтернеті з назвою PPA, як ppa: dr-akulavich / lighttable, і ви отримаєте перший результат від Launchpad, офіційна платформа для розміщення PPA. Ви також можете перейти до Launchpad і безпосередньо шукати потрібний PPA.

Якщо ви не перевіряєте та не додаєте PPA, ви можете побачити таку помилку, коли ви намагаєтеся встановити програмне забезпечення, недоступне для вашої версії.

E: Неможливо знайти пакунок

Ще гірше те, що з моменту його додавання до вашого source.list кожен раз, коли ви запускаєте програму оновлення програмного забезпечення, ви побачите помилку “Не вдалося завантажити інформацію про сховище».

Не вдалося завантажити інформацію про репозиторій Ubuntu 13.04

Якщо в терміналі запущено оновлення sudo apt, у помилці буде більше відомостей про те, яке сховище викликає проблеми. Ви можете побачити щось на зразок цього в кінці виводу sudo apt update:

W: Не вдалося отримати http://ppa.launchpad.net/venerix/pkg/ubuntu/dists/raring/main/binary-i386/Packages 404 Not Found E: Не вдалося завантажити деякі індексні файли. Вони були проігноровані, або замість них використовувалися старі.

Це пояснюється тим, що система не може знайти сховище для вашої версії. Пам'ятайте, що ми бачили раніше про структуру сховища? APT намагатиметься знайти інформацію про програмне забезпечення в місці http://ppa.launchpad.net/<PPA_NAME>/ubuntu/dists/Ubuntu_Version

І якщо PPA для конкретної версії недоступний, він ніколи не зможе відкрити URL і ви отримаєте відому помилку 404.

Чому PPA не доступні для всіх версій Ubuntu?

Це пояснюється тим, що хтось повинен компілювати програмне забезпечення та створювати PPA з нього на конкретних версіях. Враховуючи те, що нову версію Ubuntu випускає кожні шість місяців, це непроста задача оновити PPA для кожного випуску Ubuntu. Не всі розробники мають час для цього.

Як встановити програму, якщо PPA не доступна для вашої версії?

Можливо, хоча PPA не доступний для вашої версії Ubuntu, ви все одно можете завантажити файл DEB і встановити програму

Припустимо, що ви йдете в таблицю світла PPA. Використовуючи знання про PPA ви тільки що дізналися, ви розумієте, що PPA не доступний для вашого конкретного випуску Ubuntu.

Ви можете натиснути кнопку "Переглянути деталі пакета".

Отримати DEB файл з PPA

І тут ви можете натиснути на пакет, щоб дізнатися більше деталей. Тут ви також знайдете вихідний код і DEB-файл пакета.

Завантажити файл DEB з PPA

Раджу використовуючи Gdebi для встановлення цих файлів DEB замість Центру програмного забезпечення, тому що Gdebi набагато краще обробляти залежності.

Зауважте, що встановлений таким чином пакет може не отримувати жодних майбутніх оновлень.

Я думаю, що ви досить прочитали про додавання PPA. Як щодо видалення PPA і встановленого ним програмного забезпечення?

Як видалити PPA?

Я про це написав видалення PPA в минулому. Тут я також опишу ті ж самі методи.

Раджу видалити програмне забезпечення, яке ви встановили з PPA, перш ніж видалити PPA. Якщо ви просто вилучите PPA, встановлене програмне забезпечення залишається в системі, але оновлення не буде. Ви б цього не хотіли?

Отже, виникає питання, як дізнатися, яку програму було встановлено за допомогою якого PPA?

Знайдіть пакунки, встановлені PPA, та видаліть їх

Центр програмного забезпечення Ubuntu тут не допомагає. Тут потрібно використовувати менеджер пакетів Synaptic, який має більш розширені можливості.

Ви можете встановити Synaptic з Software Center або скористатися командою нижче:

sudo apt встановити синаптик

Після встановлення запустіть менеджер пакетів Synaptic і виберіть Початок. Ви побачите різні сховища, додані до системи. Записи PPA будуть позначені префіксом PPA. Натисніть на них, щоб побачити пакунки, які доступні для PPA. Встановлене програмне забезпечення має відповідний символ перед ним.

Керування PPA з менеджером пакетів Synaptic
Знайдіть пакунки, встановлені за допомогою PPA

Після того як ви знайшли пакунки, ви можете видалити їх з Synaptic. Інакше у вас завжди є можливість використовувати командний рядок:

sudo apt remove ime_пакунка

Після видалення пакетів, встановлених PPA, ви можете продовжувати видаляти PPA з ваших source.list.

Зніміть PPA графічно

Перейдіть на сторінку Програмне забезпечення та оновлення, а потім перейдіть на вкладку Інше програмне забезпечення. Шукайте PPA, який потрібно видалити:

Видаліть PPA з джерела програмного забезпечення

Тут є два варіанти. Або ви зніміть прапорець або оберіть опцію Видалити.

Різниця полягає в тому, що коли ви знімаєте вибір запису PPA, ваша система буде коментувати запис репозиторію у своєму файлі ppa_name.list у /etc/apt/sources.list.d, але якщо ви виберете параметр "Видалити", він видалить запис сховища. з файлу ppa_name.list у каталозі /etc/apt/sources.list.d.

В обох випадках файли ppa_name.list залишаються у вказаному каталозі, навіть якщо він порожній.

Чи безпечно використовувати PPA?

Це суб'єктивне питання. Пуристи ненавидять PPA, оскільки більшість часу PPA є від сторонніх розробників. Але в той же час PPA популярні в світі Debian / Ubuntu, оскільки вони надають простіший варіант встановлення.

Що стосується безпеки, то менш ймовірно, що ви використовуєте PPA, і ваша система Linux зламана або введена зловмисним програмним забезпеченням. Я не пригадую подібний інцидент, який коли-небудь стався.

Офіційні PPA можуть використовуватися, не думаючи двічі. Використання неофіційного АОП є повністю вашим рішенням.

Як правило, слід уникати встановлення програми через PPA третьої сторони, якщо програма вимагає запуску sudo-доступу.

Що ви думаєте про використання PPA?

Я знаю, що це давно прочитане, але я хотів би дати вам краще розуміння PPA. Я сподіваюся, що цей детальний посібник відповість на більшість ваших запитань щодо використання PPA.

Якщо у Вас виникли додаткові запитання щодо ППД, будь ласка, не соромтеся запитати у розділі коментарів.

Якщо ви помітили будь-яку технічну або граматичну помилку, або якщо у вас є пропозиції щодо покращення цієї статті, повідомте про це.

джерело

залишити коментар

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.