Відновіть типові сховища за замовчуванням у source.list з командного рядка


17

Я шукаю найкращий метод для відновлення /etc/apt/sources.listдо замовчування з командного рядка.

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

Рішення виключені

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

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

Я перевірив генератор на simplelinux.ch , але це також не від Ubuntu, тому я не планую його використовувати.

Відповіді:


19

Я не впевнений, що ви хочете, але:

  • Батьківський сховище завжди http://archive.ubuntu.com/ubuntu - все інше є дзеркалом цього. Всі інші первинні дзеркала мають домен форми <cctld>.archive.ubuntu.com, де двома символьним коротким кодом є домен верхнього рівня Country Code . Ви можете знайти додаткові дзеркала з їх статусом на Launchpad .
  • Кодове ім'я розподілу є частиною каналу (третій доданок). Ви можете використати lsb_release -scдля того, щоб дізнатися це, і це перше слово випуску симпатичної назви з малих літер (наприклад, trustyдля Trusty Tahr, наприклад).
  • Є п'ять каналів: <codename>, <codename>-security, <codename>-updates, <codename>-backportsі <codename>-proposed. Перший необхідний, оскільки він є базовим, другий настійно рекомендується, оскільки містить виправлення безпеки, четвертий - лише якщо вам потрібен пакет, підтримуваний з нової версії, а п'ятий - лише якщо розробник попросить вас включити його для тестування можливого виправити.
  • Є чотири сховища розділів: main, multiverse, universeі restricted( В чому різниця між мультивселенной, всесвіту, обмеженою і головний? )

Таким чином, ви завжди можете створити сейф, sources.listякий містить лише:

deb http://archive.ubuntu.com/ubuntu <codename> main multiverse universe restricted
deb http://archive.ubuntu.com/ubuntu <codename>-security main multiverse universe restricted

Якщо ви хочете, щоб команда виконала це:

printf 'deb http://archive.ubuntu.com/ubuntu %s main multiverse universe restricted\n' $(lsb_release -sc){,-security} > /etc/apt/sources.list

Окрім списку Launchpad, список, що надається програмою «Джерела програмного забезпечення» /usr/share/python-apt/templates/Ubuntu.mirrors, є з python-apt-commonпакета. Цей пакет є лише непрямим Пропонує залежність apt, тому він не може бути встановлений за замовчуванням на сервері.


Саме цього я і хотів уточнити. Дякую!
Райан Бернетт

це ідеально відповідає для обох постів (одна пов'язана і ця)
Брайан Томас

Але вам все одно доведеться підтвердити цю відповідь документацією на самому веб-сайті Ubuntu, оскільки ви не можете перевірити наміри особи, яка надала цю відповідь?
Герберт Ван-Вліет

7

Якщо ви розумієте, для чого означає кожен рядок /etc/apt/sources.list, ви можете створити свій власний список. Наприклад, рядок у моєму sources.listє:

deb http://archive.ubuntu.com/ubuntu/ trusty main

Він має 4 розділи:

  • Розділ 1: Перший розділ знаходиться debтут, що означає, що він є сховищем всіх двійкових пакетів. Єдине інше можливе значення - deb-srcце його сховище вихідних кодів.
  • Розділ 2: Цей розділ містить URI репозиторію ( у цьому випадку http://us.archive.ubuntu.com/ubuntu/ ). URI може змінюватись для дзеркал, наприклад, якщо ви хочете використовувати офіційне дзеркало США, то URI буде http://us.archive.ubuntu.com/ubuntu/ .
  • Розділ 3: Він містить кодове ім’я (та ім’я каналу) випуску, який ви використовуєте, у цьому випадку trustyце кодове ім'я мого випуску Ubuntu (14,04 LTS). ви можете знайти свою lsb_release -sc. Наприклад, якщо ви використовуєте 12.04, ім'я коду буде "точним". Тепер оголосити інші канали, наприклад, оголосити канал безпеки, який потрібно використовувати trusty-security.

  • Розділ 4: Цей розділ містить "назви розділів" сховища. Є , як правило , 4 назви розділів використовуються: main, restricted, universe, multiverse. Ви можете розмістити всі назви розділів в одному рядку декларування сховища або ви можете використовувати різні рядки для кожного з розділів, але не повинно бути жодного повторюваного запису. Якщо ви прочитаєте /etc/apt/sources.list, ви побачите опис пакунків, що містяться в кожному з цих розділів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.