Как изменить sources list ubuntu

Contents

Contents

  1. The Basics

    1. Explanation of the Repository Format
    2. Other Versions
  2. Adding Repositories

    1. Adding the Universe and Multiverse Repositories
    2. Adding Partner Repositories
    3. Adding Other Repositories
    4. Adding Launchpad PPA Repositories
    5. Enabling Repositories with a (non-interactive) Script
  3. Suggestions & Recommendations
  4. Further Reading

IconsPage/terminal.png This page describes how to manage software repositories from the command line. (GUI tools are also available: Managing Repositories in Ubuntu or Kubuntu).

IconsPage/important.png If you are using a minimal install or server install you will need to be familiar with a terminal based text editor like nano. If you are using a GUI install you can use Nano or GEdit.

The Basics

Ubuntu uses apt for package management. Apt stores a list of repositories or software channels in the file

/etc/apt/sources.list

and in any file with the suffix .list under the directory

/etc/apt/sources.list.d/

See man sources.list for more about this storage mechanism.

By editing these files from the command line, we can add, remove, or temporarily disable software repositories.

  • IconsPage/note.png Note: It’s always a good idea to backup a configuration file like sources.list before you edit it. To do so, issue the following command:

    sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

Typically, the beginning of the file /etc/apt/sources.list looks like this:

# sources.list
#deb cdrom:[Ubuntu 13.10 _Saucy Salamander_ - Release i386 (20131016.1)]/ saucy main restricted

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://ch.archive.ubuntu.com/ubuntu/ saucy main restricted
deb-src http://ch.archive.ubuntu.com/ubuntu/ saucy main restricted
#...

Explanation of the Repository Format

  • All the lines beginning with one or two hashes (#) are comments, for information only.
  • The lines without hashes are apt repository lines. Here’s what they say:

    • deb: These repositories contain binaries or precompiled packages. These repositories are required for most users.

    • deb-src: These repositories contain the source code of the packages. Useful for developers.

    • http://archive.ubuntu.com/ubuntu: The URI (Uniform Resource Identifier), in this case a location on the internet. See the official mirror list or the self-maintained mirror list to find other mirrors.

    • saucy is the release name or version of your distribution.

    • main & restricted are the section names or components. There can be several section names, separated by spaces.

Other Versions

  • IconsPage/note.png For other Ubuntu releases you would replace the ‘saucy’ with the current version you have installed (‘precise’, ‘quantal’, ‘raring’, ‘saucy’, ‘trusty’, …) Type lsb_release -sc to find out your release.

Adding Repositories

Adding the Universe and Multiverse Repositories

Additional software repositories such as Universe and Multiverse can be enabled by uncommenting the corresponding apt lines (i.e. delete the ‘#’ at the beginning of the line). For Universe, uncomment those lines:

  • deb http://us.archive.ubuntu.com/ubuntu/ saucy universe
    deb-src http://us.archive.ubuntu.com/ubuntu/ saucy universe
    deb http://us.archive.ubuntu.com/ubuntu/ saucy-updates universe
    deb-src http://us.archive.ubuntu.com/ubuntu/ saucy-updates universe

There are four similar lines for ‘multiverse’.

OR you may use the add-apt-repository command. If your release is ‘saucy’:

  • sudo add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ saucy universe multiverse"
    sudo add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ saucy-updates universe multiverse"

IconsPage/note.png Depending on your location, you should replace ‘us.’ by another country code, referring to a mirror server in your region. Check sources.list to see what is used!

Type lsb_release -sc to find out your release. You may repeat the commands with «deb-src» instead of «deb» in order to install the source files.

Don’t forget to retrieve the updated package lists:

  • sudo apt-get update

Adding Partner Repositories

You can add the partner repositories by uncommenting the following lines in your /etc/apt/sources.list file:

  • deb http://archive.canonical.com/ubuntu saucy partner
    deb-src http://archive.canonical.com/ubuntu saucy partner

Then update as before:

  • sudo apt-get update

    IconsPage/important.png Be aware that the software contained within this repository is NOT open source.

Adding Other Repositories

There are some reasons for which you might want to add non-Ubuntu repositories to your list of software sources. Caution: To avoid trouble with your sytem, only add repositories that are trustworthy and that are known to work on Ubuntu systems!


  • You can add custom software repositories by adding the apt repository line of your software source to the end of the sources.list file. It should look something like this:

    deb http://mirror3.ubuntulinux.nl/ hardy-seveas freenx

  • Don’t forget to make apt aware of your changes:
    sudo apt-get update

Adding Launchpad PPA Repositories

Adding Launchpad PPA (Personal Package Archive) is possible conveniently via the command: add-apt-repository. This command is similar to «addrepo» on Debian.

  • The command updates your sources.list file or adds/edits files under sources.list.d/. Type man add-apt-repository for detailed help.

  • If a public key is required and available it is automatically downloaded and registered.
  • Should be installed by default. On older or minimal Ubuntu releases, you may have to install software-properties-common and/or python-software-properties first (sudo apt-get install python-software-properties)

    sudo add-apt-repository ppa:<repository-name>

    Example: sudo add-apt-repository ppa:nhandler/ppa

Enabling Repositories with a (non-interactive) Script

IconsPage/note.png This section seemed obsolete due to the add-apt-repository command, thus it has been removed.

Suggestions & Recommendations

  • It is always a good idea to back up configuration files like /etc/apt/sources.list before you begin editing. You can then revert your changes if needed.

  • If you decide to add other repositories to sources.list, make sure that the repository is meant to work (and known to work) with Ubuntu. Repositories that are not designed to work with your version of Ubuntu can introduce inconsistencies in your system and might force you to re-install. Also, make sure that you really need to add external repositories as the software package(s) you are looking for may already have been introduced into the official repositories!

  • Please keep in mind that it may not be legal (typically because of export restrictions) to enable some non-Ubuntu software repositories in some countries.

  • You may be asked enter a security key when adding a non-Ubuntu repository to your sources. See Managing Authentication Keys for instructions.

  • Remember to retrieve updated package lists by issuing a sudo apt-get update when you’re done editing sources.list.

Further Reading

  • The Debian Apt User Manual

  • Apt-get

  • Software Management

  • Secure Apt on the Debian Wiki


CategoryCommandLine CategoryPackageManagement

I am updating my Tor on Ubuntu and it states:

Do not use the packages in Ubuntu’s universe. You’ll need to set up our package repository before you can fetch Tor.

It then states that I have to add this line to your /etc/apt/sources.list file:

 deb http://deb.torproject.org/torproject.org <precise> main

I am uncertain how to add a line to /etc/apt/sources.list.

Braiam's user avatar

Braiam

66.2k30 gold badges174 silver badges262 bronze badges

asked Oct 7, 2012 at 21:16

klint's user avatar

Make a backup copy of your current sources.list file

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

Append new line of text to current sources.list file

  • CLI

    echo "new line of text" | sudo tee -a /etc/apt/sources.list
    
  • GUI (Text Editor)

    sudo gedit /etc/apt/sources.list
    
  • Paste new line of text on new line at end of current sources.list text file in Text Editor.

  • Save and close sources.list

Don’t forget to update in order to use the new repository

sudo apt-get update

jtd's user avatar

jtd

2,3552 gold badges22 silver badges30 bronze badges

answered Oct 8, 2012 at 8:39

0

In order to add a third-party repository, you first need the public keys for this repository which in this case you can grab from the Ubuntu key server:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 886DDD89

Now you can add the repository in /etc/apt/sources.list.d/ with add-apt-repository:

sudo add-apt-repository "deb http://deb.torproject.org/torproject.org $(lsb_release -s -c) main"

After adding any repository it is always needed to execute

sudo apt-get update

Now you can install the package for Tor itself. For complete instructions on how to install Tor correctly, see How to install Tor?

This procedure can also be reversed.

Community's user avatar

answered Oct 7, 2012 at 23:28

zerwas's user avatar

zerwaszerwas

3,8731 gold badge23 silver badges19 bronze badges

3

Easiest way on Ubuntu:

Go to Ubuntu Software Centre > Edit > Software Sources > Add

Paste the line from the Tor website into the APT line box.

You could also manually edit /etc/apt/sources.list, but probably simplest to go through the Software Centre.

Make sure to input the line correctly as well, e.g.

deb http://deb.torproject.org/torproject.org precise main

if you’re using 12.04. If something goes wrong edit /etc/apt/sources.list to fix it.

penreturns's user avatar

penreturns

5,9404 gold badges32 silver badges44 bronze badges

answered Oct 7, 2012 at 21:36

ngm's user avatar

First, make a backup. You can do so with:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

in the Terminal. Give your password and press Enter. It will not be shown, not even asterisks. Then run:

gksudo gedit /etc/apt/sources.list

and give your password.

Add the line:

 deb http://deb.torproject.org/torproject.org main

to the bottom of the file and use File->Save to save it.

Then, go back to the terminal and run:

sudo apt-get update

and then continue following the instructions. This command and the one starting in sudo apt-get install may take a while. Additionally, the install command may give a:

Do you want to continue[y/n]?

prompt, where you must type y and press Enter to continue.

answered Oct 7, 2012 at 21:33

nanofarad's user avatar

nanofaradnanofarad

20.5k12 gold badges63 silver badges90 bronze badges

You need not to edit default /etc/apt/sources.list, you better upgrade your Ubuntu to Saucy. Here Tor is in the official repository.

See, my /etc/apt/sources.list:

deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ saucy main restricted universe multiverse
deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ saucy-updates main restricted universe multiverse
deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ saucy-backports main restricted universe multiverse
deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ saucy-security main restricted universe multiverse

Only 4 lines.

I’m able to download and install the Tor package:

# aptitude download tor
Get: 1 http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ saucy/universe tor amd64 0.2.3.25-1 [953 kB]
84% [1 tor 799 kB/953 kB 84%]201 URI Done: http://us-west-2.ec2.archive.ubuntu.com/ubuntu/pool/universe/t/tor/tor_0.2.3.25-1_amd64.deb
RecivedHash: MD5Sum:1cb3ed029c169c3a5e528dd7d28cc60f
ExpectedHash: MD5Sum:1cb3ed029c169c3a5e528dd7d28cc60f

Fetched 953 kB in 4s (198 kB/s)

According to http://torstatus.blutmagie.de Tor 0.2.3.25 on Linux, one of the common installations.

answered Feb 16, 2014 at 16:47

user2496's user avatar

Basically sources.list is a text file you want to edit. Linux is all about file you can customize your ubuntu by changing files. so the basic way to edit files(adding or deleting text) is by using some of the text editor like:

  • emacs,gedit(gui based)
  • nano,vi,vim(cli based)

You can install them by typing sudo apt-get install text_editor_name.

type man text_editor_name for reading their mannual pages.

  • If the status is you don’t hav permissions, use:

    chmod 777 filename

answered Feb 14, 2014 at 12:23

kashminder's user avatar

kashminderkashminder

1,35010 silver badges16 bronze badges

1

sources.list

Этот пост посвящен самым новичкам в дистрибутиве и особенно в мире GNU/Linux. Сегодня мы поговорим об одном из самых важных файлов в Linux, а точнее о файле sources.list. Название этого файла уже довольно вдохновляет и указывает на то, каким он может быть, хотя мы мало знаем по-английски.

Работа с дистрибутивом Gnu / Linux проста: с одной стороны, у нас есть компоненты операционной системы, а с другой — безопасное соединение с сервером, на котором операционная система предоставляется с программами, пакетами и обновлениями. Это качество, которое многим параноикам по поводу безопасности может показаться большой дырой, является одним из лучших качеств, которыми он обладает, и позволяет дистрибутивам улучшаться день ото дня.

Ubuntu Он имеет ряд серверов и ряд приложений, которые позволяют нам обновлять и защищать нашу операционную систему, а также улучшать наше взаимодействие и опыт обновления. Но даже в этом случае лучше всего или всегда будет работать независимо от версии используемой системы ручное редактирование файла sources.list.

Индекс

  • 1 Как отредактировать и улучшить файл sources.list?
  • 2 И как мне добавить репозиторий, который мне сказал друг?
  • 3 И как я узнаю, что это действующий репозиторий?

Редактировать такой файл очень просто, но при этом делать это необходимо с правами администратора.

[ОСТОРОЖНО] Неправильное редактирование или удаление информации может сделать операционную систему нестабильной и даже вывести ее из строя. Хорошим средством безопасности является открытие файла с текстовый редактор, скопируйте информацию и вставьте ее в другой файл. Так много Убунлог как и я, мы не несем ответственности за то, что может произойти, хотя существует множество копий Ubuntu sources.list.

Открываем терминал и пишем:

sudo nano /etc/apt/sources.list

У нас спросят пароль и после его подтверждения откроется наноэкран с текстом файла. Можно выбрать и другие текстовые редакторы, но nano широко используется и работает прямо из терминала. Возможно, мы ввели указанный выше адрес неправильно, и в этом случае он покажет пустую страницу, поэтому мы закроем без сохранения и введем его снова, но на этот раз он правильный.

Файл будет выглядеть следующим образом:

editor nano con sources.list

Первые строки, содержащие слово cd-rom, являются ссылками на установочный компакт-диск, они всегда идут со словами «деб cdrom:” даже если он был установлен через сеть или usb. Отсюда начинают появляться несколько строк, которые начинаются с «deb http://» или «deb-src». Незакомментированные строки включенные репозитории, в случае с образом, основной, софт, поддерживаемый сообществом (юниверс).

Строки, начинающиеся с ## (хотя должно быть достаточно хэша), закомментированные строки которые либо имеют текст, объясняющий репозиторий, следующий за ним, либо являются репозиториями, к которым мы не хотим, чтобы наша операционная система имела доступ. В любом случае, увидев эти символы в начале строки, система понимает, что дальше следует не нужно, и переходит на следующую строку, которая не начинается с этого знака.

Бывают случаи, когда репозиторий временно поврежден или мы не хотим, чтобы версия программы из этого репозитория была установлена, тогда лучший вариант — поставить этот знак в начале строки репозитория, и у нас больше не будет проблем. Будьте осторожны, если вы комментируете репозиторий, то есть ставите # в начале адреса сервера, вы также должны прокомментировать адрес источников, иначе выдаст ошибку.

И как мне добавить репозиторий, который мне сказал друг?

Что ж, чтобы добавить репозиторий, нам просто нужно перейти в конец документа и указать адрес репозитория и адрес источников, то есть deb и deb-src

И как я узнаю, что это действующий репозиторий?

Все действующие адреса репозитория имеют следующий формат:

deb http://адрес_сервера/имя_папки имя_версии (основная или юниверс, или мультивселенная, или основная ограниченная и т. д.)

Эта последняя часть строки указывает разделы репозитория: основной главный, в то время как основной ограниченный указывает на раздел ограниченного программного обеспечения.

Единственная предосторожность, которую необходимо соблюдать в этом файле в целом, заключается в том, что вы должны стараться ставить репозитории одной и той же версии, то есть прилагательного животного, которое является талисманом нашей текущей версии Ubuntu. В противном случае мы рискуем, что при обновлении наша система перепутает пакеты и версии и сойдет с ума, достигнув состояния «нарушение распределения», когда система использования репозиториев не работает должным образом.

Как только репозитории настроены по нашему вкусу, нам просто нужно сохранить, закрыть, перейти в консоль и написать:

sudo apt update && sudo apt upgrade

И так начнется обновление списка пакетов, которые распознает операционная система.

Если вы прочитали весь учебник, вы увидите, что это просто, по крайней мере, попробуйте просмотреть файл. Стоит. Привет.

Больше информации — Как добавить репозитории PPA в Debian и дистрибутивы на его основе,

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Вы можете быть заинтересованы

Концепция установки программного обеспечения в Linux очень сильно отличается от Windows. Здесь тоже можно скачать программу на просторах интернета и просто запустить, ничего не устанавливая, но никто так не делает. Программы устанавливаются из надежных источников — официальных репозиториев поддерживаемых и обновляемых разработчиками дистрибутива или сообществом пользователей. Если в двух словах, то репозитории — это такие большие сборники программ, в котором они хранятся в специальном формате и могут быть автоматически скачены и установлены менеджером пакетов.

В одной из своих предыдущих статей я рассмотрел список полезных репозиториев для Ubuntu. В этой статье мы рассмотрим репозитории в Ubuntu более глобально, будет рассмотрена настройка репозиториев Ubuntu, поговорим какими они бывают, где хранятся, как добавлять и удалять репозитории.

В основном репозитории Ubuntu можно поделить на два типа — официальные и репозитории сторонних разработчиков. В официальных репозиториях находятся только стабильные программы, причем их версии не будут обновляться, они могут получать только обновления безопасности. Сторонние репозитории ubuntu могут создаваться кем угодно и их автор может обновлять и добавлять программное обеспечение в репозиторий когда нужно. PPA репозитории Ubuntu созданы с целью упростить процесс создания сторонних репозиториев.

Каждый репозиторий поддерживает несколько веток. Первая группа веток — это версия дистрибутива. Для каждой версии дистрибутива — отдельное программное обеспечение.

Вторая группа веток более интересная. Дело в том что в Ubuntu есть несколько веток для различного рода программного обеспечения:

  • Main — основная ветка — стабильное официально поддерживаемое Canonical ПО
  • Restricted — официально поддерживаемое ПО распространяемое не под лицензией GPL
  • Universe — программы, поддерживаемые сообществом Ubuntu
  • Multiverse — ветка проприетарного программного обеспечения

Такой структуры придерживаются официальные репозитории, сторонние ppa могут же иметь другую структуру или просто ветку main.

Также репозитории можно поделить еще на два типа — репозитории с бинарными файлами — готовыми собранными пакетами, и репозитории исходного кода, откуда можно скачать исходный код программ и собрать его на своем компьютере.

Настройка репозиториев в Ubuntu

Настройки репозиториев Ubuntu находятся в нескольких файлах в каталоге /etc/apt.

Все официальные репозитории записываются в файл репозиториев Ubuntu — /etc/apt/sources.list. Для каждого PPA репозитория создается отдельный файл в каталоге /etc/apt/sources.list.d/*

Таким образом, вы уже знаете как примитивным способом посмотреть список репозиториев в Ubuntu. По сути, уже можно открыть этот файл и добавить репозиторий Ubuntu прямо туда в конец файла, но для таких действий в системе есть специальные инструменты и далее мы их рассмотрим.

Настройка репозиториев в GUI

Управление репозиториями можно осуществлять с помощью утилиты настроек системы. Запустите Настройки системы, затем откройте Программы и обновления или сразу же запустите Программы и обновления из меню Dash:

ubuntu

На первой вкладке вы можете включить или отключить ветки официальных репозиториев (main, restricted …), а также выбрать ближайшее к вам зеркало:

ubuntu1

Для добавления репозитория в Ubuntu перейдите на вкладку другое ПО на этой вкладке вы можете видеть весь список репозиториев Ubuntu которые были подключены к системе:

ubuntu2

Чтобы иметь доступ к дополнительным программам рекомендуется подключить сторонний репозиторий партнеров Canonical. Для этого просто поставьте напротив него галочку.

Для добавления репозитория Ubuntu нажмите кнопку Добавить:

ubuntu3

Здесь в единственном поле нужно ввести apt строку репозитория и нажать кнопку добавить источник.

ubuntu6

Apt строка репозитория имеет такой синтаксис:

deb http://адрес_репозитория версия_дистрибутива ветки

Например:

deb http://ua.archive.ubuntu.com/ubuntu/ xenial main restricted

deb https://apt-mo.trafficmanager.net/repos/dotnet/ trusty main

Первая строка — официальный репозиторий, вторая — PPA репозиторий ubuntu. Как видите, выглядят они одинаково. С версией дистрибутива все понятно, это кодовое имя, с веткой тоже — это main. А вот где брать адрес? Это уже ваше дело, вы можете искать репозитории где угодно, на форумах, в поисковых системах или в нашей статье, где собран список лучших репозиториев.

Установка репозитория Ubuntu завершена и он появился в списке. Чтобы его отключить достаточно просто снять галочку. А чтобы удалить репозиторий Ubuntu нажмите кнопку удалить:

ubuntu5

Для сторонних репозиториев необходимо импортировать GPG ключ для правильной работы в системе, если ключ не добавить, то во время обновления репозиториев Ubuntu apt выдаст ошибку проверки подписи. Это делается, чтобы никто не мог подменить пакеты и вы не установили вирусов. Перейдите на вкладку Аутентификация, затем выберите импортировать ключ из файла:

ubuntu8

Как правило, в описании репозитория, если для него требуется ключ, указана ссылка где его можно скачать. Скачать ключ можно с помощью браузера, или консольной утилитой wget, например:

wget http://keyserver.ubuntu.com:11371/pks/lookup?op=get&search=0xFC6D7D9D009ED615

Удалять ключи также можно кнопкой удалить:

ubuntu9

Если вы запутались и не знаете как вернуть состояние по умолчанию можно просто нажать кнопку восстановить чтобы восстановить репозитории Ubuntu:

ubuntu4

Если были добавлены новые репозитории, при выходе программа предложит выполнить обновление репозиториев Ubuntu, это нужно чтобы загрузить списки пакетов из только что подключенных источников. Также обновление можно выполнить через терминал, но об этом ниже.

Настройка репозиториев Ubuntu PPA

PPA репозитории Ubuntu находятся на сайте, созданном Canonical — launchpad.net. Ubuntu способна автоматически различать, находить apt строку и скачивать GPG ключи для таких репозиториев. Достаточно указать адрес ppa вместо apt сроки при добавлении репозитория в Ubuntu, например:

ppa:shutter/ppa

На самом деле PPA репозитории такие, же как и обычные репозитории. Если вы хотите добавить репозиторий вручную, вы можете узнать apt строку и ключ, раскрыв спойлер Technical details about this PPA на странице описания репозитория:

ubuntu10

Теперь его можно добавить в систему, так же как описано выше.

Добавление репозиториев в Ubuntu из терминала

Во многих инструкциях мы видим команды для подключения репозитория в Ubuntu через терминал. Действительно, это немного удобнее чем запускать утилиту, загружать ключи и делать все мышкой. Чтобы добавить репозиторий Ubuntu через терминал используйте команду: apt-add-repository:

sudo apt-add-repository "deb http://ppa.launchpad.net/shutter/ppa/ubuntu wily main"

В кавычках указана apt строка репозитория. Также можно просто добавить строчку в /etc/apt/sources.list:

echo "deb http://ppa.launchpad.net/shutter/ppa/ubuntu wily main" >> /etc/apt/sources.list

Для добавления ключей безопасности GPG существует команда apt-key. Вы можете добавить ключ из файла, или скачать ключ с помощью curl и перенаправить ее вывод и apt-key:

curl -L http://debian.datastax.com/debian/repo_key | sudo apt-key add

Добавить репозиторий в Ubuntu через терминал намного проще чем в графическом интерфейсе.

Как удалить репозиторий в Ubuntu

Удалить репозиторий Ubuntu через терминал можно той же командой с опцией —remove:

sudo apt-add-repository --remove "deb http://ppa.launchpad.net/shutter/ppa/ubuntu wily main"

Или же просто закомментировать deb строку в файле /etc/apt/sources.list или в одном из файлов /etc/apt/sources.list.d/*.

Добавление репозитория PPA в Ubuntu

Добавить репозиторий PPA в Ubuntu можно той же командой. Как я уже говорил система автоматически распознает репозиторий и скачает нужные ключи. Формат записи такой:

sudo apt-add-repository ppa:репозиторий/ppa

Например:

sudo apt-add-repository ppa:shutter/ppa

Как удалить репозиторий PPA в Ubuntu

Удалить репозиторий в Ubuntu можно такой же командой, как и в предыдущем примере:

sudo add-apt-repository --remove ppa:репозиторий/ppa

Полностью удалить PPA из системы можно командой:

sudo ppa-purge ppa:репозиторий/ppa

Возможно, утилиту ppa-pure необходимо будет установить командой:

sudo apt-get install ppa-purge

После настройки репозиториев Ubuntu не забывайте обновить списки пакетов, чтобы скачать метаданные новых репозиториев на компьютер и apt смогла с ними работать. Для этого выполните команду:

sudo apt-get update

Выводы

Вот и все, настройка репозиториев в Ubuntu завершена. Вы узнали все возможные методы и теперь любая команда подключения репозитория Ubuntu не вызовет у вас недоумения. Теперь вы знаете все что нужно чтобы правильно использовать репозитории в вашей системе. Только будьте осторожны, не переусердствуйте со сторонними репозиториями из-за них могут возникнуть проблемы с обновлением. И вообще, это не очень хороший тон, иметь в системе много репозиториев. Если у вас остались вопросы, задавайте в комментариях!

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Из этой статьи вы узнаете что такое репозитории в Linux. Мы научимся их настраивать на примере Debian 11 и Ubuntu 22.04.

Что такое репозиторий

Репозиторий – это своеобразное хранилище приложений. У многих GNU/Linux дистрибутивов есть свои репозитории. А также разработчики какого-нибудь отдельного программного обеспечения могут создать свой репозиторий. Но в этом случае такой репозиторий нужно разделить на ветки, одна ветка будет подходить для одной Linux системы, а другая для другой.

В репозиториях, которые подходят для Debian и Ubuntu приложения хранятся в виде архивов. Такие архивы называются пакетами. Эти пакеты имеют особый формат – deb. Есть ещё другой, популярный, формат пакетов – rpm, но системы полагающиеся на такие пакеты я не рассматриваю.

Linux сервера и их репозитории

Linux сервера и их репозитории

Репозитории могут быть доступны с использованием различных протоколов, но самым распространённым является http. Такие репозитории могут быть открыты с помощью обычного браузера. И от туда можно скачать необходимый пакет для установки. Но правильнее устанавливать пакеты в систему из репозиториев с помощью специальных утилит – пакетных менеджеров.

На этом уроке мы познакомимся с подключением системных и сторонних репозиториев. А пакетные менеджеры рассмотрим позже.

Конфиги со списком репозиториев

Пакетные менеджеры, которые умеют устанавливать пакеты из репозиториев, должны знать адреса репозиториев. И эти адреса записываются в конфиг – /etc/apt/sources.list. А также можно создавать дополнительные конфиги с расширением .list в каталоге /etc/apt/sources.list.d/. Всё это справедливо и для Debian и для Ubuntu.

Если помните, в процессе установки систем мы выбирали репозиторий:

  • для Debian – deb.debian.org;
  • для Ubuntu – ru.archive.ubuntu.com.

Давайте теперь посмотрим какие репозитории прописались на наших Linux системах (с помощью egrep -v '^#|^$' я убрал комментарии, а с помощью cat -n добавил нумерацию строк):

alex@ubu:~$ egrep -v '^#|^$' /etc/apt/sources.list | cat -n
    1 deb http://ru.archive.ubuntu.com/ubuntu jammy main restricted
    2 deb http://ru.archive.ubuntu.com/ubuntu jammy-updates main restricted
    3 deb http://ru.archive.ubuntu.com/ubuntu jammy universe
    4 deb http://ru.archive.ubuntu.com/ubuntu jammy-updates universe
    5 deb http://ru.archive.ubuntu.com/ubuntu jammy multiverse
    6 deb http://ru.archive.ubuntu.com/ubuntu jammy-updates multiverse
    7 deb http://ru.archive.ubuntu.com/ubuntu jammy-backports main restricted universe multiverse
    8 deb http://ru.archive.ubuntu.com/ubuntu jammy-security main restricted
    9 deb http://ru.archive.ubuntu.com/ubuntu jammy-security universe
    10 deb http://ru.archive.ubuntu.com/ubuntu jammy-security multiverse

alex@deb:~$ egrep -v '^#|^$' /etc/apt/sources.list | cat -n
     1  deb http://deb.debian.org/debian/ bullseye main
     2  deb-src http://deb.debian.org/debian/ bullseye main
     3  deb http://security.debian.org/debian-security bullseye-security main
     4  deb-src http://security.debian.org/debian-security bullseye-security main
     5  deb http://deb.debian.org/debian/ bullseye-updates main
     6  deb-src http://deb.debian.org/debian/ bullseye-updates main

Разбираем конфиг

Этот файл состоит из строк, а строки состоят из следующих столбцов:

  • Тип пакетов:
    • deb — архив с уже откомпилированной и готовой к установке программой;
    • deb-src — архив с исходным кодом программы, который перед установкой нужно будет откомпилировать.
  • Адрес репозитория:
    • http://ru.archive.ubuntu.com/ubuntu – для Ubuntu;
    • http://deb.debian.org/debian/ – для Debian;
    • http://security.debian.org/debian-security – обновления безопасности для Debian.
  • Ветки репозитория:
    • для Ubuntu:
      • jammy – приложения для этой версии Ubuntu;
      • jammy-updates – рекомендуемые обновления;
      • jammy-backports – обновления из более новой системы. Допустим для Ubuntu 20.04 определённый пакет уже не обновляется, но из этой ветки можно попробовать его обновить (конечно есть вероятность повредить систему);
      • jammy-security – важные обновления безопасности, без которых ваш сервер легче будет взломать.
    • для Debian:
      • bullseye – приложения для этой версии Debian;
      • bullseye-updates – рекомендуемые обновления;
      • bullseye-security – важные обновления безопасности, без которых ваш сервер легче будет взломать.
  • И в самом конце компоненты, их можно записывать через пробел в одной строке:
    • Для Ubuntu:
      • main – здесь находятся пакеты, которые официально поддерживаются компанией Canonical;
      • restricted – содержит поддерживаемое ПО с закрытым исходным кодом, например MP3 или Flash;
      • universe – содержит ПО, которое поддерживается сообществом пользователей и разработчиков Ubuntu;
      • multiverse – содержит ПО, которое каким-либо образом ограничено либо условиями лицензии, либо юрисдикцией.
    • Для Debian компоненты делятся по критериям свободного ПО (DFSG)
      • main – пакеты полностью соответствуют критериям DFSG. Эти пакеты считаются частью дистрибуции Debian;
      • contrib – пакеты тоже соответствуют критериям DFSG, но зависят от других пакетов, которые не соответствуют этим критериям;
      • non-free – содержит всё остальное ПО, которое не соответствует DFSG.

Классы релизов в Debian

Рассматривая выше ветки репозиториев Debian мы увидели следующее:

  • bullseye;
  • bullseye-updates;
  • bullseye-security.

Но, помимо кодовых имён версий системы, в названиях веток, можно использовать специальные классы релизов:

  • stable – ссылается на текущей стабильный репозиторий Debian, сейчас это bullseye. Как только выйдет новая версия Debian, то stable будет ссылаться на более новую версию;
  • oldstable – ссылается на предыдущий стабильный репозиторий;
  • testing – ссылается на специальную ветку репозитория для разработки нового стабильного релиза;
  • unstable – ссылается на самые свежие, но не протестированные пакеты;
  • experimental – здесь хранятся пакеты, которые только начали разрабатывать;
  • backports – ссылается на testing и unstable, но только для обновлений безопасности.

То есть вы можете изменить свои репозитории на testing, и быть на острие прогресса:

### Это только пример, существует большая вероятность что система очень скоро повредится из за непроверенных обновлений ###
deb http://deb.debian.org/debian/ testing main
deb-src http://deb.debian.org/debian/ testing main
deb http://security.debian.org/debian-security testing-security main
deb-src http://security.debian.org/debian-security testing-security main
deb http://deb.debian.org/debian/ testing-updates main
deb-src http://deb.debian.org/debian/ testing-updates main

Файл Release

Каждый репозиторий, для каждой ветки содержит текстовый файл Release. Например, откройте в браузере репозиторий для Ubuntu: http://ru.archive.ubuntu.com/ubuntu/. Дальше откройте ветку (dists) для jammy. И здесь вы можете скачать и посмотреть файл Release.

Файл Release в репозитории для Ubuntu Jammy

Файл Release в репозитории для Ubuntu Jammy

Он содержит информацию о данной ветке репозитория, например для Ubuntu Jammy файл содержит следующее:

Origin: Ubuntu
Label: Ubuntu
Suite: jammy
Version: 22.04
Codename: jammy
Date: Thu, 21 Apr 2022 17:16:08 UTC
Architectures: amd64 arm64 armhf i386 ppc64el riscv64 s390x
Components: main restricted universe multiverse
Description: Ubuntu Jammy 22.04
MD5Sum:
 *** а здесь контрольные суммы для каждого пакета из репозитория ***

Файл Release – один из самых важных файлов для работы репозитория. Когда пакетный менеджер обновляет список пакетов, то он открывает адрес репозитория и читает этот файл. Если этого файла нет, то репозиторий будет помечен как неисправный и не будет использоваться.

Архитектура пакетов

Если вы ещё раз посмотрите на файл Release в репозитории, то можете заметить там строчку:

Architectures: amd64 arm64 armhf i386 ppc64el riscv64 s390x

Здесь прописаны архитектуры пакетов, которые хранятся в репозитории. Прописывая источник репозитория, например в конфиге /etc/apt/sources.list вы можете указать определённую архитектуру, чтобы предотвратить скачивание и установку пакетов для других архитектур.

Это делается таким способом:

### Пример для Debian ###
deb [arch=amd64] http://deb.debian.org/debian/ bullseye main

Вариант использования официальных репозиториев

Для того чтобы уменьшить вероятность поломки вашей системы из-за непроверенных обновлений, можно немного сократить количество репозиториев в системах Debian и в Ubuntu.

Вообще в Debian дан список самых безопасных репозиториев по умолчанию. Можем лишь закомментировать репозитории с исходниками, так как скорее всего вам они пока не понадобятся. Напомню, что такие строки начинаются со слова deb-src. А если понадобятся вы их просто раскомментируете. После правки у нас осталось 3 источника пакетов:

alex@deb:~$ egrep -v '^#|^$' /etc/apt/sources.list | cat -n
     1  deb http://deb.debian.org/debian/ bullseye main
     2  deb http://security.debian.org/debian-security bullseye-security main
     3  deb http://deb.debian.org/debian/ bullseye-updates main

Ubuntu при установке прописала намного больше своих репозиториев. Но их тоже можно свести к трем. Например, я считаю нужным отключить universe, multiverse и jammy-backports репозитории на сервере. После правки список репозиториев также состоит из 3-ёх строк:

alex@ubu:~$ egrep -v '^#|^$' /etc/apt/sources.list | cat -n
     1  deb http://ru.archive.ubuntu.com/ubuntu jammy main restricted
     2  deb http://ru.archive.ubuntu.com/ubuntu jammy-updates main restricted
     3  deb http://ru.archive.ubuntu.com/ubuntu jammy-security main restricted

Чтобы применить изменения, выполните на обоих системах команду:

$ sudo apt update

Эта команда подключится к каждому репозиторию, посмотрит какие пакеты можно обновить и из каких источников. И сохранит локальных кэш. После выполнения этой команды система будет знать какие пакеты из каких репозиториев можно получить, а также версии этих пакетов. Но если в репозиторий добавят более новую версию какого-нибудь пакета, то система об этом узнает лишь после следующего выполнения этой команды.

А если хотите обновить систему, то выполните команду:

$ sudo apt upgrade

Эта команда уже скачивает все обновления и устанавливает их.

Кстати утилита apt – это и есть менеджер пакетов. Рассмотрим её и другие менеджеры пакетов в следующих статьях.

Добавление сторонних репозиториев

Источник репозитория

Некоторые разработчики создают свои собственные репозитории. Например у веб сервера Nginx есть свой репозиторий для разных систем, в том числе для Debian и Ubuntu. Вот его адрес: https://nginx.org/packages/mainline/.

Добавлять репозитории можно в основной конфиг: /etc/apt/sources.list или создавать отдельные конфиги в каталоге /etc/apt/sources.list.d/. Сам я считаю что правильнее для каждого стороннего репозитория создавать отдельные конфиги.

Например, чтобы подключить репозиторий nginx создайте следующий конфиг. Для Debian:

alex@deb:~$ sudo nano /etc/apt/sources.list.d/nginx.list 
deb http://nginx.org/packages/debian bullseye nginx 

Или для Ubutnu:

alex@ubu:~$ sudo nano /etc/apt/sources.list.d/nginx.list 
deb http://nginx.org/packages/ubuntu jammy nginx

Приоритет репозитория

Допустим, мы прописали дополнительный репозиторий для nginx, но как системе понять из какого репозитория брать пакет для установки? Ведь пакеты для nginx есть и в системном репозитории и в репозитории от самого nginx. Чтобы ответить на этот вопрос придумали приоритеты репозиториев.

Чтобы задать приоритет репозитория нужно создать файл /etc/apt/preferences.d/XX<имя_репозитория>, где XX это номер файла, чем он выше, тем обработается позднее, то есть будет иметь приоритет над другими настройками.

По нашему примеру для nginx нужно создать следующий файл:

$ sudo nano /etc/apt/preferences.d/99nginx
Package: *
Pin: origin nginx.org
Pin: release o=nginx
Pin-Priority: 900

Разберём написанное:

  • Package: имя пакета. Можно поставить знак * чтобы применить приоритет для всех пакетов из этого репозитория. Также можно указать несколько имён через пробел;
  • Pin: опции прикрепления. Существует много опций, я разберу лишь некоторые:
    • origin “имя автора или поставщика”;
    • release o=nginx – означает что в файле Release репозитория есть поставщик (Origin = o) с именем nginx;
    • release l=Debian – означает что в файле Release репозитория есть Label (l) с именем Debian;
  • Pin-Priority: приоритет.

То-есть Package и Pin это условия для назначения приоритета, а Pin-Priority это действие (назначение приоритета). В нашем примере получается следующее: если имя пакета любое, но владелец репозитория nginx.org и в файле Release прописано “Origin: nginx“, то для таких пакетов ставим приоритет 900.

Приоритет может быть в следующих диапазонах:

  • P >= 1000 – пакет будет установлен из этого репозитория, даже если это приведет к понижению версии уже установленного пакета;
  • 990 <= P < 1000 – пакет будет установлен из этого репозитория, если не установлена более новая версия;
  • 500 <= P < 990 – пакет будет установлен, если нет пакета принадлежащего к целевому выпуску или не установлена более новая версия;
  • 100 <= P < 500 – пакет будет установлен, если нет кандидатов из других репозиториев или установленного пакета более новой версии;
  • 0 < P < 100 – пакет будет установлен, только если он ещё не установлен (любой версии) и если нет кандидатов из других репозиториев;
  • P < 0 – пакет не будет установлен ни при каких условиях;
  • P = 0 – не используется.

Целевой выпуск

Приоритеты с 500 по 990 и с 990 по 1000 очень похожи. Чтобы их отличить нужно понять что такое целевой выпуск. Для Ubuntu или Debian это название версии дистрибутива. Например для Ubuntu – jammy, а для Debian – bullseye. Но это имя ещё нужно задать таким способом:

alex@deb:~$ sudo nano /etc/apt/apt.conf.d/default
APT::Default-Release "bullseye";

alex@ubu:~$ sudo nano /etc/apt/apt.conf.d/default
APT::Default-Release "jammy";

Открытый ключ репозитория

И так, репозиторий мы добавили, приоритет настроили. Давайте попробуем применить изменения:

alex@deb:~$ sudo apt update
Пол:1 http://nginx.org/packages/debian bullseye InRelease [2 860 B]
Ошб:1 http://nginx.org/packages/debian bullseye InRelease
  Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY ABF5BD827BD9BF62
Пол:2 http://security.debian.org/debian-security bullseye-security InRelease [44,1 kB]
Сущ:3 http://deb.debian.org/debian bullseye InRelease
Пол:4 http://deb.debian.org/debian bullseye-updates InRelease [39,4 kB]
Чтение списков пакетов… Готово
W: Ошибка GPG: http://nginx.org/packages/debian bullseye InRelease: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY ABF5BD827BD9BF62
E: Репозиторий «http://nginx.org/packages/debian bullseye InRelease» не подписан.
N: Обновление из этого репозитория нельзя выполнить безопасным способом, поэтому по умолчанию он отключён.
N: Информацию о создании репозитория и настройках пользователя смотрите в справочной странице apt-secure(8).

И тут мы видим ошибку, что нам не хватает открытого ключа. Я привёл пример для Debian, но в Ubuntu будет подобная ситуация. Дело в том что современные репозитории шифруются с помощью закрытого ключа и чтобы его использовать, нам нужно установить в систему открытый ключ.

Чтобы это сделать, вначале установим необходимые инструменты:

### Для Debian ###
alex@deb:~$ sudo apt install curl gnupg2 ca-certificates lsb-release debian-archive-keyring

### Для Ubuntu ###
alex@ubu:~$ sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring
Внимание! Утилита gnupg2 для Ubuntu доступна только в репозитории universe, если вы закомментировали эти источники, то разкомментируете их. Это строчки:
deb http://ru.archive.ubuntu.com/ubuntu jammy universe
deb http://ru.archive.ubuntu.com/ubuntu jammy-updates universe
И не забудьте применить изменения, выполнив:
$ sudo apt update

А дальше скачаем открытый ключ (с помощью wget):

$ wget https://nginx.org/keys/nginx_signing.key

Дальше выполняется конвейер команд, это когда вывод одной команды идет на вход другой команде. Такие конвейеры мы будем проходить позже. Но всё равно постараюсь объяснить следующую команду. С помощью cat мы читаем файл ключа, и прочитанное передаём утилите gpg. Утилита gpg переводит прочитанное в необходимый формат и передаёт вывод уже следующей команде tee. Утилита tee (под sudo) сохраняет полученный текст в файл. В конце добавляем >/dev/null, чтобы не было никакого вывода на терминал. Вот сама команда:

$ cat nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

Вот так мы получили открытый ключ, который теперь хранится в файле /usr/share/keyrings/nginx-archive-keyring.gpg.

Или можно сразу в одной команде скачать файл (с помощью wget или curl) и сохранить ключ в формате gpg:

### Пример для wget ###
$ wget -O- https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

### Пример для curl ###
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

После этого необходимо указать в конфиге репозитория, что нужно использовать этот ключ. Для этого в конфиге репозитория между deb и адресом репозитория вставляем [signed-by=/путь/к/ключу]:

alex@deb:~$ sudo nano /etc/apt/sources.list.d/nginx.list
deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/debian bullseye nginx

И пробуем ещё раз применить изменения:

alex@deb:~$ sudo apt update
Сущ:1 http://security.debian.org/debian-security bullseye-security InRelease
Сущ:2 http://deb.debian.org/debian bullseye InRelease
Сущ:3 http://deb.debian.org/debian bullseye-updates InRelease
Пол:4 http://nginx.org/packages/debian bullseye InRelease [2 860 B]
Пол:5 http://nginx.org/packages/debian bullseye/nginx amd64 Packages [7 633 B]
Получено 7 633 B за 1с (9 420 B/s)
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово
Все пакеты имеют последние версии.

На этот раз всё прошло успешно.

Кстати, если вы хотите в источнике пакетов прописать архитектуру и открытый ключ, то это делается через пробел:

### Пример ###
deb [arch=amd64 signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/debian bullseye nginx

Проверка добавленного репозитория

Ну и чтобы понять из какого репозитория будет установлен пакет, выполните команду:

alex@deb:~$ apt-cache policy nginx
nginx:
  Установлен: (отсутствует)
  Кандидат:   1.20.2-1~bullseye
  Таблица версий:
     1.20.2-1~bullseye 990
        990 http://nginx.org/packages/debian bullseye/nginx amd64 Packages
     1.20.1-1~bullseye 990
        990 http://nginx.org/packages/debian bullseye/nginx amd64 Packages
     1.18.0-6.1 990
        990 http://deb.debian.org/debian bullseye/main amd64 Packages

Из вывода становится ясно что пакет nginx ещё не установлен в систему, а кандидатом на установку является пакет с версией 1.20.2 из репозитория http://nginx.org/packages/debian. Приоритет у всех пакетов, кстати стал равным = 990. Это произошло после того, как мы установили целевой выпуск = bullseye. Так как все репозитории относятся к этому выпуску, то на назначенный мною приоритет система перестала смотреть, а назначила репозиториям для bullseye такой приоритет.

Итог

Мы узнали что такое репозитории. Узнали что есть официальные репозитории для системы и они прописываются в конфиг /etc/apt/sources.list. А также есть сторонние репозитории и для них лучше создавать свои конфиги в каталоге /etc/apt/sources.list.d/.

Научились добавлять сторонний репозиторий на примере nginx. Узнали про приоритеты репозиториев и открытые ключи. А также узнали что такое целевой выпуск.

Полезные источники:

  • Очень хорошо про приоритеты и повышение или понижение версий пакетов написано здесь.
  • Инструкция для подключения nginx репозитория в различные системы.
  • Существует Репозиторий от Yandex – он хранит ветки для большинства систем Linux.
  • Репозиторий Ubuntu
  • Репозиторий Debian

Сводка

Репозитории Linux

Имя статьи

Репозитории Linux

Описание

Из этой статьи вы узнаете что такое репозитории в Linux. Мы научимся их настраивать на примере Debian 11 и Ubuntu 22.04

Содержание

Программы и обновления в Ubuntu устанавливаются преимущественно из репозиториев. В данной статье объясняется, что такое репозиторий, зачем он нужен, как устроен и как пользоваться репозиториями и устанавливать из них программы.

Введение

Если Вы в прошлом пользовались операционными системами Windows или Mac OS, Вы скорее всего привыкли к тому, что программное обеспечение поставляется в виде одного или нескольких установочных файлов, распространяемых на CD/DVD или через интернет. Для Ubuntu GNU/Linux также существует подобный способ распространения ПО, однако, это в большинстве своем проприетарные и закрытые программы.

Большая часть ПО в Ubuntu запакована в специальные .deb файлы, в которых содержатся программы и необходимые библиотеки. Эти файлы Вы можете найти в интернете, на CD/DVD (например установочный СD Ubuntu содержит много .deb файлов).

Репозитории – это специальные сервера-хранилища таких файлов. Их также можно назвать «Источниками приложений». Пользовательские компьютеры подключаются к репозиториям по сети или через интернет и при помощи специальных утилит (таких как Synaptic) позволяют Вам увидеть, какие пакеты у Вас установлены, какие доступны для установки. Большинство утилит поддерживают простой поиск по ключевым словам и способны разбивать группы пакетов по категориям.

Использование связки репозиторий-утилита позволяет использовать простой, централизованный метод установки/удаления программ, а также предоставляет удобный способ выкладывания обновлений.

В свежеустановленной Ubuntu уже подключены необходимые репозитории, однако никто не запрещает Вам использовать другие, сторонние репозитории.

В репозиториях Ubuntu содержится достаточно большое количество разнообразного ПО, и зачастую Вы можете найти необходимую программу в них. Вы, конечно, можете скачать из интернета .deb пакет, или даже собрать программу из исходников, однако это будет более трудоёмко и не всегда такой способ окажется рабочим.

Автор рекомендует следующий способ поиска и установки ПО:

  1. Исходим из того, что у Вас есть некая задача, которую должна решить некая программа, при этом Вы не знаете существует ли она вообще и если существует — как она называется. Вероятно Вы можете назвать программы-аналоги из других ОС.

  2. При помощи интернет-поисковика (например Google) Вы можете найти различные варианты желаемой программы. Например набрав «[название программы в Windows] для Ubuntu».

  3. Как правило вы найдёте несколько названий программ (их может быть достаточно много – отобрать лучшие можно по отзывам пользователей), у большинства из которых есть собственная веб-страничка, на которой можно узнать дополнительные характеристики программы или посмотреть скриншоты.

  4. Определившись с программой, просто запустите Центр приложений Ubuntu и поищите ее по названию. Скорее всего вы сможете её найти и установить.

  5. Так же возможно что разработчики поддерживают свой репозиторий с пакетами для вашей версии Ubuntu на launchpad.net или на своём сайте, обычно в подобных репозиториях содержатся более свежие версии программ, поэтому если вы хотите получить самую последнюю версию — внимательно посмотрите на сайт программы и воспользуйтесь поиском по launchpad.net

  6. И только если Вы не нашли нужную программу в репозиториях стоит пробовать другие пути установки.

Зачастую, версии ПО, доступные через репозитории, не всегда самые свежие, однако эти версии как правило лучше интегрированы в Ubuntu и в некоторых случаях более стабильны.

В Ubuntu всё программное обеспечение делится на четыре секции, называемые компонентами, чтобы отразить разницу в лицензии и уровне доступной поддержки.

Пакеты распределяются по компонентам таким образом:

  • Main – свободное ПО, официально поддерживаемое компанией Canonical.

  • Restricted – проприетарное ПО (в основном — драйверы устройств), официально поддерживаемое компанией Canonical.

  • Universe – свободное ПО, официально не поддерживаемое компанией Canonical (но поддерживаемое сообществом пользователей).

  • Multiverse – проприетарное ПО, не поддерживаемое компанией Canonical.

Существует четыре основных репозитория Ubuntu.

  • $release1) – это пакеты на момент выхода релиза.

  • $release-security – пакеты критических обновлений безопасности.

  • $release-updates – пакеты обновления системы (т.е. более поздние версии ПО, вышедшие уже после релиза).

  • $release-backports – бэкпорты более новых версий некоторого ПО, которое доступно только в нестабильных версиях Ubuntu.

  • partner – репозиторий содержищий ПО компаний-партнеров Canonical.

Кроме официальных, существует множество репозиториев от авторов программ и от тех, кто не поленился собрать из исходников пакет и поделиться им с другими. Launchpad предлагает создавать PPA-репозитории — Personal Package Archive, обычно небольшой репозиторий, в который его хозяин складывает исходники, а пользователи на выходе получают уже готовый deb-пакет.

Подключение репозитория

Репозитории Ubuntu содержат большое количество программ, однако существуют программы, отсутствующие в репозиториях Ubuntu, и возможно, Вы хотели бы их использовать. Существует много сторонних репозиториев, подключив которые Вы получите доступ к дополнительному ПО. Сделать это можно как при помощи графического интерфейса, так и в консоли.

Некоторые репозитории помимо нужных Вам пакетов могут содержать экспериментальные сборки различного системного ПО, в том числе и ядер linux. Т.к. версия этих экспериментальных пакетов как правило выше, чем установленная у Вас, Менеджер обновлений может попытаться «обновить» систему с этих репозиториев, что в свою очередь может повредить Вашу систему. Поэтому внимательно читайте описание подключаемого репозитория и информацию в Менеджере обновлений.

При помощи графического интерфейса

Для подключения репозитория выполните следующие шаги.

  1. Откройте Центр приложений Ubuntu.

  2. Откройте пункт меню Правка→Источники приложений…

  3. В появившемся окне выберите вкладку «Другое ПО», нажмите кнопку «Добавить».

    "..нажмите кнопку Добавить"

  4. В появившемся окне заполните поле «Строка APT:» и нажмите кнопку «Добавить источник».

    "..и нажмите кнопку Добавить источник"

  5. Источник будет добавлен и включен, нажмите кнопку «Закрыть».

    "..нажмите кнопку Закрыть"

Т.к. был подключен новый источник программного обеспечения, необходимо обновить информацию о пакетах. Появится окно, с предложением это сделать. Нажмите «Обновить».
"Нажмите Обновить"
После обновления информации о пакетах окно «Источники приложений» закроется, и скорее всего вы получите ошибку о неподписанном источнике приложений, тем не менее, вы сможете устанавливать пакеты, содержащиеся в свежеподключенном репозитории стандартными средствами. Для устранения ошибки неподписанного репозитория см. пункт про защиту репозиториев ниже.

При помощи консоли (рекомендуемый способ)

Начиная с Ubuntu 10.04 добавлять репозиторий можно одной командой, вот пример для ppa-репозитория:

sudo apt-add-repository ppa:ripps818/coreavc

При помощи консоли

Системный список репозиториев содержится в файле /etc/apt/sources.list. Для того, чтобы добавить репозиторий — отредактируйте этот файл, например так:

sudo nano /etc/apt/sources.list

и добавьте туда APT строку. Чем «выше» (т.е. ближе к началу файла) стоит строка, тем больший приоритет получит добавленный репозиторий.
Должно получиться примерно так:

deb http://my.cool.repo.ubu/ubuntu jaunty main
# deb cdrom:[Ubuntu 9.04 _Jaunty Jackalope_ - Release i386 (20090420.1)]/ jaunt$
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.

deb http://ru.archive.ubuntu.com/ubuntu/ jaunty main restricted
deb-src http://ru.archive.ubuntu.com/ubuntu/ jaunty main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://ru.archive.ubuntu.com/ubuntu/ jaunty-updates main restricted
deb-src http://ru.archive.ubuntu.com/ubuntu/ jaunty-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://ru.archive.ubuntu.com/ubuntu/ jaunty universe
deb-src http://ru.archive.ubuntu.com/ubuntu/ jaunty universe
deb http://ru.archive.ubuntu.com/ubuntu/ jaunty-updates universe
deb-src http://ru.archive.ubuntu.com/ubuntu/ jaunty-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://ru.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb-src http://ru.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb http://ru.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
deb-src http://ru.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse

## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
# deb http://ru.archive.ubuntu.com/ubuntu/ jaunty-backports main restricted uni$
# deb-src http://ru.archive.ubuntu.com/ubuntu/ jaunty-backports main restricted$

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu jaunty partner
# deb-src http://archive.canonical.com/ubuntu jaunty partner

deb http://security.ubuntu.com/ubuntu jaunty-security main restricted
deb-src http://security.ubuntu.com/ubuntu jaunty-security main restricted
deb http://security.ubuntu.com/ubuntu jaunty-security universe
deb-src http://security.ubuntu.com/ubuntu jaunty-security universe
deb http://security.ubuntu.com/ubuntu jaunty-security multiverse
deb-src http://security.ubuntu.com/ubuntu jaunty-security multiverse
deb http://archive.ubuntu.com/ubuntu/ jaunty main

где первой строкой идет добавляемый нами репозиторий.

Сохраните файл и закройте редактор. Для nano нужно нажать Ctrl+X, подтвердить сохранение изменений — Y и убедившись, что имя сохраняемого файла /etc/apt/sources.list нажать Enter.

Далее следует обновить список пакетов. Для этого выполните:

sudo apt-get update

Теперь Вы можете устанавливать пакеты из нового репозитория, правда, для комфортной работы вам придётся так же импортировать в систему ключ репозитория, т.к. у вас постоянно будет появляться такое предупреждение:

W: Ошибка: http://site.com jaunty Release: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY 1234567890ADBD

Кроме того, при установке пакетов вам будут сообщать о том, что они являются ненадёжными. О подписывании репозиториев см. раздел Защита репозиториев.

Устройство репозитория

Пакет (например *.deb файл) размещается на общедоступном интернет-ресурсе (например archive.ubuntu.com). Затем информация о пакете заносится в файл Packages, который, в свою очередь, для удобства работы пакуется в Packages.gz

Пример записи в файле Packages для пакета abiword:

Package: abiword
Priority: optional
Section: gnome
Installed-Size: 7808
Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Masayuki Hatta (mhatta) <mhatta@debian.org>
Architecture: i386
Version: 2.6.6-0ubuntu1
Replaces: abiword-gnome
Provides: abiword-gnome
Depends: libaiksaurus-1.2-0c2a (>= 1.2.1+dev-0.12), libaiksaurusgtk-1.2-0c2a 
(>= 1.2.1+dev-0.12), libart-2.0-2 (>= 2.3.18), libatk1.0-0 (>= 1.20.0), libc6
(>= 2.7), libcairo2 (>= 1.2.4), libenchant1c2a (>= 1.4.2), libexpat1 (>= 1.95.8),
libfontconfig1 (>= 2.4.0), libfreetype6 (>= 2.3.5), libfribidi0 (>= 0.10.9),
libgcc1 (>= 1:4.1.1), libglade2-0 (>= 1:2.6.1), libglib2.0-0 (>= 2.18.0),
libgnomecanvas2-0 (>= 2.11.1), libgnomeprint2.2-0 (>= 2.17.0), libgnomeprintui2.2-0
(>= 2.17.0), libgsf-1-114 (>= 1.14.11), libgtk2.0-0 (>= 2.15.0), libice6 (>= 1:1.0.0),
libidn11 (>= 0.5.18), libjpeg62, libloudmouth1-0 (>= 1.1.4-2), libncurses5 
(>= 5.6+20071006-3), libots0, libpango1.0-0 (>= 1.22.0), libpng12-0 (>= 1.2.13-4),
libpopt0 (>= 1.14), libreadline5 (>= 5.2), librsvg2-2 (>= 2.22.3), libsm6, 
libstdc++6 (>= 4.2.1), libwmf0.2-7 (>= 0.2.8.4), libwpd8c2a, libwpg-0.1-1, libwv-1.2-3 
(>= 1.2.4), libx11-6, libxft2 (>> 2.1.1), libxml2 (>= 2.6.27), zlib1g (>= 1:1.1.4), 
abiword-common (>= 2.6.6-0ubuntu1), gsfonts
Recommends: abiword-plugin-grammar, abiword-plugin-mathview, abiword-help, 
aspell-en | aspell-dictionary, poppler-utils
Suggests: abiword-plugin-goffice
Conflicts: abiword-gnome
Filename: pool/main/a/abiword/abiword_2.6.6-0ubuntu1_i386.deb
Size: 2969028
MD5sum: f70817557ecbf4183b498fd98051ec03
SHA1: 8c666220527fe78328b5f94fec93fd62eddd332f
SHA256: 47de1dcf28866a33c0e4baefadb2d29ff9046ba4e4ae6e600801e5e3a6ec40c7
Description: efficient, featureful word processor with collaboration
 AbiWord is a full-featured, efficient word processing application.
 It is suitable for a wide variety of word processing tasks, and
 is extensible with a variety of plugins.
 .
 This package includes many of the available import/export plugins allowing
 AbiWord to interact with ODT, WordPerfect, and other formats.  It also
 includes tools plugins, offering live collaboration with AbiWord users
 on Linux and Windows (using TCP or Jabber/XMPP), web translation and
 dictionary support, and more.
 .
 Additional plugins that require significant amounts of extra software to
 function are in the various abiword-plugin-* packages.
Homepage: http://www.abisource.com/
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Task: xubuntu-desktop

Файлов Packages.gz может быть несколько (например, по одному для каждой архитектуры). Файл Release содержит описание репозитория в целом и ссылки на различные Packages.gz

Общая же схема работы выглядит примерно так:

  1. Пользовательский компьютер подключается к репозиторию, и при наличии защиты, проверяет его истинность (см. главу Защита репозиториев).

  2. Читает файл Release, находит и скачивает необходимые Packages.gz

  3. На основе скачанных Packages.gz обновляет локальную базу данных пакетов.

  4. Теперь пользовательский компьютер «знает» где находится тот или иной пакет и при необходимости легко может его скачать и установить.

Защита репозиториев

Поскольку репозитории большей частью расположены в интернете, существует вероятность подмены репозитория злоумышленником на свой, содержащий модифицированные пакеты. Таким образом, пользователь может установить себе модифицированный пакет и тем самым поставить безопасность своей системы под угрозу. Многие репозитории имеют защиту от подмены. Такая защита реализована при помощи сверки цифровых подписей репозитория и клиента. В случае, когда репозиторий имеет цифровую подпись, а пользовательский компьютер содержит открытый ключ для этого репозитория — такой репозиторий считается доверенным.

В Ubuntu по умолчанию доверенными являются репозитории на установочных дисках и основные интернет репозитории — archive.ubuntu.com. При наличие на пользовательском компьютере нескольких подключенных репозиториев, предпочтение отдается доверенным.

При подключении репозитория, защищенного цифровой подписью Вам нужно скачать (обычно с ресурса, рассказывающего про этот репозиторий, или с сервера ключей, что является более предпочтительным в любом случае) открытый ключ и добавить его в систему. Иногда для скачивания предоставляется доступный для установки пакет, который в свою очередь при своей установке сам прописывает ключ репозитория. Если вы скачиваете ключ с сайта репозитория, то вы получите обычный файл с расширением .key, .gpg или другим. Добавить его в систему можно так:

sudo apt-key add repo.key

Где repo.key — полученный вами ключ репозитория.

Или при помощи графического интерфейса — запустите «Источники приложений» (Система→Администрирование→Источники приложений), перейдите на вкладку «Аутентификация» и нажмите на кнопку «Импортировать файл ключа…» — откроется диалог выбора файла. Выберите файл ключа и нажмите ОК.

Добавление ключа

Однако гораздо более предпочтительным является добавление ключа со специального защищённого сервера. Обычно, когда заходит речь о ключе, даётся его непонятный с первого взгляда буквенно-цифровой идентификатор вида 123ABCDEFG456 (строчка из произвольных цифр и букв латинского алфавита в верхнем регистре). Это — уникальное имя (идентификатор) ключа. Иногда ключ описывается строчкой вида 1024R/123ABCD, тогда идентификатором является часть после слеша. Так вот, ключи преимущественно хранятся на специальных серверах, откуда любой может их получить. Ключи для репозиториев Ubuntu принято хранить на keyserver.ubuntu.com. Для получения и импортирования в систему ключа с сервера необходимо выполнить команду:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0x12345678

Где вместо keyserver.ubuntu.com можно подставить адрес другого сервера ключей, а вместо 12345678 необходимо написать идентификатор нужного вам ключа.

Совет: для того, чтобы разом попытаться импортировать все недостающие ключи репозиториев, выполните в консоли:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com `sudo aptitude update 2>&1 | grep -o '[0-9A-Z]{16}$' | xargs`

Смотрите также

Ссылки

Один из способов — пройти через «Центр программного обеспечения Ubuntu». Откройте программный центр, затем в меню «Правка» выберите «Источники программного обеспечения».. Примечание: вам нужно будет ввести свой пароль, чтобы изменить настройки в этом окне.

Как мне исправить список источников в Ubuntu?

3 ответы

  1. Переместите поврежденный файл в безопасное место sudo mv /etc/apt/sources.list ~ / и воссоздайте его sudo touch /etc/apt/sources.list.
  2. Откройте Software & Updates software-properties-gtk. Это откроет software-properties-gtk без выбранного репозитория.

Как мне отредактировать список источников APT и т. Д.?

Основной файл конфигурации источников Apt находится в / etc / apt / sources. список. Вы можете редактировать эти файлы (как root) используя ваш любимый текстовый редактор. Чтобы добавить собственные источники, создав отдельные файлы в / etc / apt / sources.

Где находится список источников в Ubuntu?

Список ресурсов пакета используется для поиска архивов системы распространения пакетов, используемой в системе. Этот контрольный файл находится в / etc / apt / sources. list и, кроме того, любые файлы, заканчивающиеся на “. list »в / etc / apt / sources.

Как мне отредактировать исходный список файла?

Добавить новую строку текста к текущим источникам. файл списка

  1. CLI echo «новая строка текста» | sudo tee -a /etc/apt/sources.list.
  2. GUI (текстовый редактор) sudo gedit /etc/apt/sources.list.
  3. Вставить новую строку текста в новую строку в конце текущих источников. текстовый файл списка в текстовом редакторе.
  4. Сохраните и закройте sources.list.

Как удалить репозиторий APT?

Это не сложно:

  1. Вывести список всех установленных репозиториев. ls /etc/apt/sources.list.d. …
  2. Найдите имя репозитория, который хотите удалить. В моем случае я хочу удалить natecarlson-maven3-trusty. …
  3. Удалите репозиторий. …
  4. Перечислите все ключи GPG. …
  5. Найдите идентификатор ключа, который вы хотите удалить. …
  6. Удалите ключ. …
  7. Обновите списки пакетов.

Как мне исправить мой список подходящих источников?

1 Ответ

  1. Удалите файл sources.list. sudo rm -fr /etc/apt/sources.list.
  2. Запустите процесс обновления. Он снова создаст файл. sudo apt-get update.

Как исправить репозиторий apt?

Вам нужно будет настроить свои источники. список, затем запустите sudo apt-получить update, затем sudo apt-get upgrade. Просто убедитесь, что в / etc / apt / sources. list у вас есть http://old.releases.ubuntu.com для всех репозиториев.

Что такое sudo apt-get update?

Команда sudo apt-get update: используется для загрузки информации о пакете из всех настроенных источников. Источники часто определяются в / etc / apt / sources. list и другие файлы, расположенные в / etc / apt / sources.

Что такое список подходящих источников?

Предварительно файл / etc / apt / source. список файл конфигурации для Linux Advance Packaging Tool, который содержит URL-адреса и другую информацию для удаленных репозиториев, из которых установлены программные пакеты и приложения. То же самое и с файлами внутри / etc / apt / sources.

Как мне отредактировать список в терминале?

Используйте комбинацию клавиш Ctrl + O, а затем нажмите Enter, чтобы сохранить файл в его текущем месте. Используйте комбинацию клавиш Ctrl + X, чтобы выйти из nano. Вы также можете использовать терминальная программа vim для редактирования текстовых файлов, но nano проще в использовании.

Как мне изменить свой репозиторий apt?

1 Ответ

  1. Сделайте резервную копию вашей текущей конфигурации $ cd / etc $ sudo tar cjvf apt-back.tar.bz2 ./apt. Теперь откройте «Программное обеспечение и обновления». …
  2. Установите VLC с помощью $ sudo apt-get update $ sudo apt-get install vlc.
  3. Восстановление других ваших пользовательских PPA:…
  4. Создайте и запустите этот сценарий, чтобы очистить папку apt.

Как открыть список источников в Linux?

Чтобы добавить настраиваемый репозиторий в файл /etc/apt/sources.list, выполните следующие действия:

  1. Откройте файл /etc/apt/sources.list в любом редакторе: $ sudo nano /etc/apt/sources.list.
  2. Добавьте репозиторий VirtualBox в файл:…
  3. Сохраните и закройте файл.
  4. После добавления репозитория в / etc / apt / sources.

Как вы составляете список источников?

Начните список источников на отдельной пронумерованной странице в конце документа. Укажите заголовок вверху страницы, «Ссылки» для APA или «Цитированные работы» для MLA, без специального форматирования: выделение жирным шрифтом, подчеркивание, кавычки, увеличенный размер шрифта и т. Д. Перечислите все источники, использованные в документе, в алфавитном порядке. порядок.

Как мне вывести список подходящих репозиториев?

list и все файлы в / etc / apt / sources. список. d / каталог. В качестве альтернативы вы можете используйте команду apt-cache чтобы перечислить все репозитории.

Понравилась статья? Поделить с друзьями:
  • Как изменить source list
  • Как изменить source image unity через скрипт
  • Как изменить soc voltage на gigabyte
  • Как изменить smx файл
  • Как изменить smsc