Блог им. vasiliscРепозитория Ubuntu

Репозитория Ubuntu

Всё больше и больше людей пробуют устанавливать Ubuntu. Это радует и хочется надеяться, что Ubuntu станет со временем главной, а лучше единственной операционной системой в вашем компьютере.

Но люди видят операционную систему Ubuntu не первой системой в своей жизни. Дома или на работе у большинства людей установлена MS Windows, а большая часть установок — «пиратская».

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

Если в MS Windows человек привык делать определённое действие определённым способом, то с какого перепугу он будет в Ubuntu делать как принято делать в Ubuntu, а не «по-виндовски»? «Бытие» MS Windows переносится сознанием людей и ничьей вины в том нет. Множество статей в Интернете пестрят «что» нужно делать в той или иной ситуации, но мало кто говорит о том "как это нужно делать"!

Чего нет в MS Windows и что переносят люди своим сознанием в другую систему?

Во-первых, в MS Windows принято ставить приложения из дистрибутива программы с помощью Установщика, которого обзывают не русскими словами Инсталлятор, Сетапер, Дистр. Нажимая легендарные кнопочки Далее-Далее-Далее, пользователь устанавливает в свою систему программу.

Обычно на этом этапе простого пользователя не волнуют такие вопросы, а как обновить в будущем установленную программу её новой версией, в которой могут залатать опасные дыры или добавить вкусные возможности. Простой пользователь вынужден положиться на саму установленную программу, в надежде что она умеет сама себя обновлять через Интернет. Или что в новой версии программы Установщик обнаружит старую установленную программу и корректно обновит её, сохранив ваши данные.
Хочу просто подвести к мысли и прошу запомнить её, что в MS Windows обновление программ это не забота системы.

Обновление программы — забота её программистов. Позаботятся о вас, как о пользователе, хорошо! Не позаботятся, жалуйтесь в поддержку программы или смиритесь. Вроде всё правильно.

Во-вторых, честно глядя в глаза, давайте признаемся себе, что у большинства пиратская MS Windows. Сами ставили или мальчик-что-ставит-винду, но факт есть факт: «в России большинство установок MS Windows — пиратские». Что все делают в первую очередь после установки ворованной винды? Правильный ответ: «Отключают автоматическое обновление». Зачем лишние проверки системы MS Windows на своём сайте на лицензионность и вероятность «слететь крякалке»?

Вот и вторая мысль — "MS Windows у большинства не обновляется".

И вот такое «бытие» MS Windows пользователь непроизвольно приносит в своём «сознании» в Ubuntu GNU/Linux при освоении.

Философия работы Ubuntu по установке и сопровождению программ.

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

Второе действующее лицо — репозиторий. Репозиторий — это хранилище пакетов. Репозиторием может быть сервер в Интернете, папка на диске, диск CD/DVD/BlueRay. Репозиторий так же хранит криптографические ключи, которыми подписаны пакеты. В вашей Ubuntu репозиториев может быть указанно несколько и каждый репозиторий хранит свои пакеты программ.

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

А теперь как всё это работает в данном превосходном театре.

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

Установка программы, а не её обновление осуществляется аналогично.

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

Ubuntu постоянно заботится о вашей компьютерной безопасности!

Как правильно плыть?

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

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

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

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

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

Сторонним программистам трудно добавить в стандартные репозитории свои приложения-детища. В помощь им, Canonical-создатель-Ubuntu создала репозиторий Launchpad.net, который принято называть PPA (Personal Packages Archive — персональный архив пакетов).

Стоит зайти на launchpad.net и поискать название нужной программы, как тут же найдётся нужный репозиторий. В его инструкции по добавлению в вашу систему обычно написано: «You can update your system with unsupported packages from this untrusted PPA by adding ppa: бла-бла/блабла-бла to your system's Software Sources.»

Стоит скопировать ppa: бла-бла/блабла-бла и вызвать Центр приложений Ubuntu — меню Правка — Источники приложений — Другое ПО — Добавить …

Пример добавления стороннего репозитория с профессионально выполненными темами оформления для Ubuntu.


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

Собственный репозиторий.
Серьёзные софтварные компании, в заботе о клиенте, предоставляют свой программный продукт для платформы Linux в виде собственного репозитория. Стоит найти на сайте инструкцию по добавлению в вашу систему и вы опять на коне.
Рекомендую пользоваться поисковыми системами и с помощью их легко разыскать нужный репозиторий, если он существует, с помощью поискового запроса repository нужная_вам_программа

Подводные камни репозиториев.
Первый подводный риф. Не увлекайтесь добавлением сторонних репозиториев, тут срабатывает эмпирически-философское правило «больше сторонних репозиториев — меньше стабильность системы».

Поищите в Центре приложений Ubuntu программу и если не найдёте, только тогда задумайтесь о добавлении стороннего репозитория с нужной вам программой.

Добавление стороннего репозитория — это вопрос доверия. Верите ли вы автору программ в этом репозитории?

Второй подводный риф. При добавлении стороннего репозитория с помощью ppa: бла-бла/блабла-бла вас не коснётся несколько маленьких проблем. Дело в том, что за кулисами ppa прячется получение и добавление криптографических ключей, а так же добавление нужных записей в ваш список репозиториев.

Если строк ppa: бла-бла/блабла-бла в инструкции не будет, вам придётся всё сделать самим: и добавить криптографические ключи и внести нужную строку. Это не сложно, главное помнить версию вашей Ubuntu и знать, что это делается ради вашей компьютерной безопасности.

Помогу на примере. Захотели браузер Опера. Поискали в Центре приложений Ubuntu и на launchpad.net — нет Оперы. Идём на любимый поисковик и что же выдаёт Гугл по запросу repository Opera? Первым результатом видим «The Opera .deb Repository». Переходим на сайт-репозиторий и читаем инструкцию на втором родном английском. Пишут, что нужно создать файл /etc/apt/sources.list.d/opera.list и добавить строку репозитория
deb deb.opera.com/opera/ stable non-free #Opera Browser (final releases)

Нам, пользователю, не доступен на запись системный путь /etc/apt/sources.list.d/ и файлы в нём. Жмите на клавиатуре Alt+F2 и пишите команду gksu gedit, которая запустит Текстовый редактор с правами Администратора, если вам будет дозволено. Добавляйте аккуратно нужную строку репозитория, сохраняйте в /etc/apt/sources.list.d/opera.list и выходите из Админского Текстового Редактора. Не сидите часто под Админом, козлёночком станете.

Часто в инструкциях предлагаются различные репозитория в зависимости от вашей версии Ubuntu. Чтобы узнать её, запустите Системный монитор и во вкладке «Система» вы найдёте искомое.

Осталось добавить в свою систему криптографический ключ репозитория, в данном случае Opera, чтобы проверять им подпись у пакетов. В нашем примере, сайт Опера просит выполнить серию команд в Терминале
wget -O - http://deb.opera.com/archive.key | sudo apt-key add -


которые скачают и установят ключ.

Можно ли жить без ключей? Да можно, но не стоит жертвовать своей безопасностью. Тем более, что добавить все недостающие ключи можно в любой момент в Терминале с помощью магии:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com `sudo apt-get update 2>&1 | grep -o '[0-9A-Z]\{16\} | xargs`


Что делать если нет репозиториев?
Не паниковать. Репозиторий — это хранилище. Просто нет хранилища — не хорошо, но не смертельно. Программы в Ubuntu прячутся в пакетах-архивах формата deb. Ищите через поисковые системы по запросам:
deb нужная_вам_программа

Будьте предельно аккуратны в этом способе, это попахивает виндовой натурой — «качать неизвестно что, неизвестно откуда». Будьте критичны и бдительны.

Очень маловероятно, что нужный deb пакет не был найден, но найден какой-то rpm пакет. Из rpm сделать deb поможет программа alien, которую нужно установить.

Компилирование из исходников.
В Интернете вы могли встретить «не умные» советы для Ubuntu, в которых упоминалась магическая команда make. Совет вам — забудьте! Ubuntu — это система с пакетным управлением, её краеугольное понятие — это пакет. Всё остальное чуждо и вредно.

Легендарная команда make && make install компилирует исходники и грубо, по-старинке, в обход пакетной системы, ставит программу, часто не в те пути или затирая нужное.

Если вы новичок, то на этом статью лучше закончить читать, перейдя к Дополнительной литературе.

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

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

В вашей системе найдите в Центре приложений Ubuntu пакеты build-essential, checkinstall, auto-apt и установите их. Распакуйте архив с исходниками программы, так называемый тарбол. Запустите Терминал и перейдите в каталог с распакованными исходниками:
Командуйте
sudo auto-apt update && auto-apt -y run ./configure


Команда auto-apt начнёт автоматом доставлять пакеты с необходимыми файлами, всякие там заголовочные файлы .h и не придётся лишний раз разрывать свой и чужой мозг, что за х …. хидер не известный. Подробнее в статье 5.3 Установка пакетов по запросу.

Когда всё стихнет, запускайте команду checkinstall -D, которая сделает из программы deb пакет. Вот его, вы уже и установите в систему. Такой ход конём, через auto-apt с checkinstall, позволит правильно поступить в пакетной системе Ubuntu и не нарушит её работу.

Проверьте работоспособность установленной таким образом программы и пожалейте других, дайте готовый deb. Чтобы не «опять — двадцать пять».

Итоги.
Как вы поняли из статьи, в мире MS Windows система не занимается сторонними программами, да и сама часто не может обновляться из-за действий её хозяина. В противоположность этой ситуации, в операционная система Ubuntu по-матерински опекает программы и обновляет их, по вашему запросу.

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

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

1. Руководство по Ubuntu для новичков. PPA на Launchpad
2. Репозитории, обновление на ubuntologia.ru
3. Установка программ в Ubuntu

«Данный материал написан для „Первого конкурса русскоязычных статей для ОС Ubuntu 2011 года“ (konkurs.ubuntu.ru)»
  • +4
  • vasilisc
  • 07 сентября 2011, 15:49

Комментарии (16)

Феерично.
по поводу слова Репозитория
IMHO дел на две минуты, а букав ой как много…
Что делать если нет репозиториев?

С исходников собрать.
На самом деле добавление всех репов какие встретятся, приводит к дикому хламу в системе и очень сильной болью при смене релиза.
перед сменой релиза просто временно отключаются сторонние репозитории и всё… проходил не раз и безболезненно.
«найти непонятно где, скачать непонятно что и установить в систему»

А смысл? В Линуксе все программы бесплатны (99,99%), так? Тогда что мешает в Windows пойти на официальный сайт разработчика и просто скачать последнюю версию программы (ведь она бесплатна)? Согласитесь, что легче скачать установщик программы, нажать 3 раза ДАЛЕЕ чем заморачиваться Терминалом, строками ppa, ключами и т.д.! А на подозрительные варезные сайты лазают лишь те, кому нужны кряки на платный софт, которого в Линуксе между прочим, вообще нет!

Помогу на примере. Захотели браузер Опера. Поискали в Центре приложений Ubuntu и на launchpad.net — нет Оперы. Идём на любимый поисковик и что же выдаёт Гугл по запросу repository Opera? Первым результатом видим «The Opera .deb Repository». Переходим на сайт-репозиторий и читаем инструкцию на втором родном английском. Пишут, что нужно создать файл /etc/apt/sources.list.d/opera.list и добавить строку репозитория
deb deb.opera.com/opera/ stable non-free #Opera Browser (final releases)

1.Скачать Opera.exe
2.Нажимать Далее, Далее…
3…
4.Профит!
Так где в итоге, легче устанавливать программы? В Win или в Linux?

в Ubuntu проще! вот пример стороннего репозитария и стороннего плеера
sudo apt-add-repository ppa:alexey-smirnov/deadbeef

sudo apt-get install deadbeef


а если софт есть в стандартных, то еще проще…
Так где в итоге, легче устанавливать программы? В Win или в Linux?
Я в линуксе вообще не устанвливаю программы — все есть сразу после установки дистрибутива (RF).
В итоге, в линуксе легче устанавливать программы. :-)

ps: какой толстенький! :-)
Взято с официалки —

Installing binary package from PPA (Ubuntu 10.10, 11.04)

1.Open up the «Synaptic Package Manager»:
System -> Administration -> Synaptic Package Manager

2.Bring up the «Software Sources» dialog in the «Synaptic Package Manager»:
Settings -> Repositories 

3.Select the «Other Software» tab in the «Software Sources» dialog, click the "+Add" button.
In the «APT line: » text input box type:
ppa:alexey-smirnov/deadbeef

4.Click the "+Add Source" button, close the «Software Sources» dialog.
Since we've just added a new repository we need to update that database that knows what packages are available and where from. Update the package information by:
Edit -> Reload Package Information

5.Find the «deadbeef» package in Synaptic, mark it and press «Apply»

Неужели и вправду быстрее? Что-то не верю! (Не думайте, я не тролль, а обычный пользователь Win и давно хочу перейти на OpenSource, но пока ни один дистр Линукса меня не привлекает...)
мне в линуксе очень сильно нравится только 1 фича:
раздел /home отдельный раздел и там хранятся настройки моих программ. я не парюсь при установке системы о сохранении настроек всех программ. в винде своё время я заводил d:\proga и спасал настройки bat файлами.

мне в линуксе очень сильно нравится только 1 фича

Только одна?! O_o
сильно =)
просто в винде бодался с этим… велосипед изобретал… а тут просто элегантно реализовано
остальные фичи радуют, но не так сильно =Ъ
Я не знаю когда наступит тот день, когда Linux меня перестанет радовать и удивлять. Вообщем процитирую ibash.org.ru:
основная разница между виндой и линуксом при поиске решения некоторой задачи состоит в том, что когда находишь решение под винду — понимаешь, что винда тупая, а когда находишь под линукс — понимаешь, что ты тупой
:)
Уважаемый m0sF3T. Вы пытаетесь сравнить тёмное с длинным. Дело в том, что в Windows просто нет менеджера пакетов. Если у Вас в Windows стоят 2-3 программы от каких-нить маститых разработчиков ПО, которым хватает денег, чтобы нанять квалифицированных специалистов, знающих как сделать так чтоб программа корректно встала/удалилась, то бесспорно, в Windows поставить эти приложения проще. Но когда у Вас в Windows десятки сторонних приложений, разнообразные (иногда самопальные) установщики, неграмотно собранные дистрибутивы — это создаёт массу поблем. Про DLL Hell слышали например? Это прямое следствие отсутствия в Windows менеджера пакетов.

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

По аналогии — теоретически наверное стало бы легче ездить по дорогам если бы отменили правила дорожного движения, но представьте во сколько раз увеличилось бы тогда количество ДТП?

Поэтому, m0sF3T, не несите ерунды.
В windows есть подсистема MSI, которую вполне можно назвать пакетным менеджером.Очень востребованная в бизнес-среде вешь. Другое дело, что тысячи разработчиков говнософта под винду не осиливают её и используют всевозможные поделки типа nsis и иже с ними.
Отсутствуют вменяемые свободные инструменты для работы с MSI.
Сама MSI тоже заморочена (хорошая идея, хреновая реализация), толком её никто не понимает.
То, что мне известно об MSI, заставляет думать, что она по возможностям всё-таки уступает тому же apt/dpkg. Тем более, что центрального репозитория проприетарного ПО под винду как не было, так и нет — и не будет.
«Востребованность в бизнес-среде» — это у сисадминов-виндузятников, которые ставят MSI через групповые политики размещения ПО, которые работают только с MSI. Это скорее не следствие «хорошести» MSI, а следствие отсутствия вменяемых альтернатив.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.