вівторок, 23 серпня 2011 р.

Репозитории 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.

Добавление репозитория 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 - 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
2. Зачем мне Ubuntu? У меня уже есть Винда
3. Ubuntu для блондинок

Немає коментарів:

Дописати коментар

HyperComments for Blogger

comments powered by HyperComments