Использование ppa в ubuntu linux [полное руководство]

Сертификат от Let’s Encrypt

Пока у нас свой сертификат и это не красиво, так что получим сертификат от Let’s Encrypt:

При ответе на вопросы, выбираем использование rewrite для перенаправления всех на https. В результате в файле изменяться строки у VirtualHost для http:

и у VirtualHost для https:

Строку закомментируем.

Тут стоит напомнить о необходимости добавить файл с параметрами Диффи-Хеллмана в конец сертификата:

И изменить заголовок HKPK (HTTP Public Key Pinning):

И изменим соответственно строку в конфигурации:

Проверим конфигурацию и перечитаем конфигурацию:

Есть еще одна проблема. Для обновления сертификата добавим запись в крон:

Но этого не достаточно, нужно еще дописать автоматическое добавление файла с параметрами Диффи-Хеллмана и параметры HKPK (HTTP Public Key Pinning).

Пакет для репозитория

Собираем пакет для автоматической установки репозитория в систему.

Файл репозитория для yum:

Экспортируем ключ для пакета:

Собираем все в архив:

Создаем SPECS файл для пакета:

Собираем пакет:

На этом этапе нас спросят пароль от нашего PGP ключа.

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

Не забываем подписать метаданные:

Теперь установим наш репозиторий в систему:

В дальнейшем данный пакет будет доступен по адресу: https://repo.chelaxe.ru/chelaxe-release-1.0-1.el7.centos.noarch.rpm

После установки должен появиться репозиторий chelaxe и PGP ключ:

Самое важное тут это SPEC файлы, расписывать о них не стану, но предоставлю ряд ссылок:

  1. https://www.altlinux.org/Spec
  2. https://docs.fedoraproject.org/quick-docs/en-US/creating-rpm-packages.html
  3. https://www.opennet.ru/docs/HOWTO-RU/RPM-HOWTO-48.html

и одна полезная команда:

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

Собираем Tmux

Теперь соберем, для примера, что нибудь полезное. Собирать будем tmux — терминальный мультиплексор, без которого работать мне не комфортно. Стоит отметить tmux есть в base репозитории CentOS 7, но версия там 1.8, а мы соберем 2.7. Так же у пакета из base репозитория есть зависимость libevent, мы же соберем tmux со статическими библиотеками последних версий.

Установка с помощью пакетного менеджера

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

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


Скриншот №1. Обновление данных о версиях и зависимостях в репозитории

Если необходимо уточнить название пакета, который требуется установить — ищем в локальном кэше менеджер по ключевым словам, например, web server:

В результате получим большой перечень пакетов, где данное ключевое слово присутствует в описании:


Скриншот №2. Поиск по ключевым словам

Выбираем нужный нам пакет — в данном случае это apache2, и устанавливаем его:

Пакетный менеджер проверяет зависимости, версии, сравнивает их с уже установленными через apt-get пакетами, после чего выдает список необходимых для установки компонентов и запрашивает разрешение на продолжение операции:


Скриншот №3. Установка пакета

Нажимаем y и дожидаемся окончания установки.

Часто используемые команды пакетного менеджера:

  • apt-get update — обновление информации о пакетах и зависимостях в подключенных репозиториях;
  • apt-get upgrade — обновление всех установленных пакетов до актуальной версии, имеющейся в репозитории;
  • apt-get install имя_пакета — установка пакета;
  • apt-get remove имя_пакета — удаление пакета;
  • apt-get download имя_пакета — скачать deb-пакет в локальную папку;
  • apt-cache search ключевые слова — поиск пакета по ключевым словам;
  • apt-cache show имя_пакета — показать информацию о пакете;
  • apt-cache depends имя_пакета — показать от каких компонентов зависит данный пакет;
  • apt-cache rdepends имя_пакета — показать какие компоненты зависят от пакета;
  • apt-mark hold имя_пакета — зафиксировать текущую версию пакета, прекратить обновление пакета;
  • apt-mark unhold имя_пакета — разрешить обновление пакета.

1. Как установить пакет с yum

Чтобы установить пакет под названием Firefox, просто запустите приведённую ниже команду, она автоматически найдёт и установит все необходимые зависимости для Firefox.

yum install firefox

Пример вывода:

Loaded plugins: fastestmirror
Dependencies Resolved

================================================================================================
 Package                    Arch        Version                    Repository            Size        
================================================================================================
Updating:
firefox                        i686        10.0.6-1.el6.centos     updates             20 M
Updating for dependencies:
 xulrunner                     i686        10.0.6-1.el6.centos     updates             12 M

Transaction Summary
================================================================================================
Install       0 Package(s)
Upgrade       2 Package(s)

Total download size: 32 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): firefox-10.0.6-1.el6.centos.i686.rpm                                |  20 MB   01:10
(2/2): xulrunner-10.0.6-1.el6.centos.i686.rpm                              |  12 MB   00:52
------------------------------------------------------------------------------------------------
Total                                                           63 kB/s |  32 MB   02:04

Updated:
  firefox.i686 0:10.0.6-1.el6.centos

Dependency Updated:
  xulrunner.i686 0:10.0.6-1.el6.centos

Complete!

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

yum -y install firefox

Программы управления пакетами

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

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

Оно всего лишь означает, что у вас где-то запущено другое приложение управления пакетами, и вам нужно сначала закончить работу с ним.

Знакомство с доступными инструментами установки и удаления программ начнём, пожалуй, с Центра приложений:

Центр приложений Ubuntu

Из-за этого установочные файлы для Windows могут быть на порядок больше по размеру, чем те же файлы для Ubuntu.

Почти никогда. После установки некоторых обновлений и драйверов всё же требуется перезагрузка.

Если не учитывать огромный список возможных проблем, про которые я не упомянул, начиная с неудовлетворённых зависимостей и кончая несовпадением архитектур. Но поскольку прямая установка программ из deb-пакетов практически не используется, то и описывать подробно я её не буду.

Хотя существуют и другие варианты, например, использование зеркал репозиториев на компакт-дисках.

Если вы считаете это недостатком, возможно, вы и правы. Однако это значительно упрощает процесс установки, а если вы хотите изменить путь установки, то можете перепаковать deb-пакет, изменив все необходимые параметры, сделать это в конце концов очень просто.

Хотя бывают и другие, но о них в специальной статье.

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

Чаще всего забывают про работающие «в фоне» консольные программы управления пакетами.

Что такое репозиторий в Linux?

Если нам не нужно самостоятельно скачивать дистрибутивы программ с интернета, то как тогда они попадают на компьютер?

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

А откуда тогда менеджер скачивает все эти пакеты? А скачивает он их со специальных серверов в интернете (поэтому для установки программ в Linux требуется интернет), которые называются – репозиториями.

Практически у каждого дистрибутива Linux есть свой репозиторий, который содержит только совместимые и поддерживаемые конкретным дистрибутивом пакеты, соответственно, при установке приложений из официальных репозиториев Вы всегда устанавливаете только проверенные и стабильные версии программ.

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

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

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

Запись образа на носитель

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

Запись образа на диск

Для записи данного образа, нам понадобится двухсторонний DVD. Допустим мы его нашли и записываем, установив предварительно wodim:

Запись образа на флешку

Двухсторонний DVD это как то архаично, так что возьмем флешку на 16 гб и запишем образ на нее, но прежде /dev/sda тут — это флешка, а у Вас она может быть другой. Смотри команду fdisk:

Если не поддерживается, то по старинке:

или вот так:

а можно воспользоваться pv:

Работа с репозиторием

Рассмотрим несколько действий:

  1. Создадим новый репозиторий.
  2. Добавим в него пакеты.

1. И так, создадим репозиторий командой:

aptly repo create -comment=»Testing first repo» -component=»main» -distribution=»focal» test

* в данном примере будет создан новый репозиторий test.
** а также:

  • comment — произвольный комментарий.
  • component — компонент по умолчанию, который будет использоваться при публикации. Обычно указываются:
    • main — DFSG-пакеты (соответствуют критериям Debian по определению свободного ПО), которым не требуются другие пакеты из других зон.
    • contrib — DFSG-пакеты с зависимостями из зоны main.
    • non-free — пакеты, которое не соответствует DFSG.
  • distribution — указать на название дистрибутива. Например, кодовое имя или класс релиза:
    • jessie/stretch/buster/sid.
    • stable/oldstable/testing/unstable.

При необходимости, можно отредактировать параметры нашего репозитория командой:

aptly repo edit -comment=»New comment» test

Переименовать:

aptly repo rename test test-new-name

Удалить:

aptly repo drop test

Посмотреть список репозиториев можно командой:

aptly repo list

Ну и, более подробная информация о репозитории:

aptly repo show test

2. Добавление пакета в созданный ранее репозиторий:

aptly repo add test /tmp/deb/package-name_1.2.3_amd64.deb

* это простой вариант добавления пакета в репозиторий с именем test; сам же пакет в нашем примере будет загружен из /tmp/deb/package-name_1.2.3_amd64.deb.

Мы должны будем увидеть что-то на подобие:

Loading packages… package-name_1.2.3_amd64 added

Посмотреть информацию о репозитории вместе со списком добавленных в него пакетов:

aptly repo show -with-packages test

Подробная информация о пакете:

aptly package show package-name_1.2.3_amd64

Удалить пакет из репозитория можно командой:

aptly repo remove test package-name_1.2.3_amd64

* ниже мы рассмотрим способ поиска и удаления пакетов по параметрам.

Мы должны будем увидеть что-то на подобие:

Loading packages… package-name_1.2.3_amd64 removed

Обновление системы

Обновление кэша пакетов

В Debian и Ubuntu прежде чем обновлять систему, нужно выяснить, какие обновления доступны в репозиториях. Это так называемое обновление кэша пакетов. Выполняется оно с помощью команды apt-get update или apt update. Пример:

$ sudo apt-get update
$ sudo apt update

При этом команда apt update дополнительно покажет количество пакетов, которые можно обновить и команду с помощью которой можно посмотреть список таких пакетов.

Получаем список возможных обновлений

Если есть пакеты, которые можно обновить, то мы можем посмотреть их с помощью команды apt list –upgradable, а опция -a выводит больше информации. С помощью apt-get это проделать невозможно.

Пример:

$ sudo apt list --upgradable -a

Обновление системы (без возможности удаления пакетов)

Перед обновлением расскажу про зависимости пакетов. Работа некоторых приложений зависит от других приложений или библиотек. Поэтому почти каждый пакет имеет список зависимостей других пакетов. Обычно вручную с зависимостями не работают. Просто пакетные менеджеры (apt или apt-get) при установке определённого пакета также устанавливают пакеты от которых зависит этот пакет.

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

Но бывает ситуация когда некоторые пакеты не совместимы. Например, чтобы обновить пакет требуется установить новые пакеты, но они несовместимы с теми, которые уже установлены. Тут есть два варианта, либо удалить установленные пакеты и выполнить обновление системы, либо не удалять пакеты и прервать обновление.

Без возможности удаления пакетов вы можете выполнить обновление с помощью команд apt-get upgrade и apt upgrade. Например:

$ sudo apt-get upgrade
$ sudo apt upgrade

Обновление системы (с возможностью удаления пакетов)

Если вы все-таки хотите обновить пакеты и вас не пугает удаление некоторых пакетов, то выполните следующие команды: apt-get dist-upgrade или apt dist-upgrade

Но это более рискованно, так что обратите особое внимание на то, какие пакеты будут удалены. Ведь удаление некоторых пакетов может просто сломать вашу систему

Пример:

$ sudo apt-get dist-upgrade
$ sudo apt dist-upgrade

Установка программ в системах с RPM

Это системы основанные на Red Hat Linux, откуда и пошло название RPM — Red Hat Package Manager. Соответственно, пакеты имеют расширение .rpm. Самые популярные системы, использующие RPM — это openSUSE, Mageia, Fedora, CentOS, Red Hat Enterprise Linux, ALT Linux, ASP Linux. В качестве пакетного менеджера в этих системах обычно применяется утилита yum.

Для обновления пакетов необходимо выполнить команду:

yum update

Для установки программы paket из репозитория используется команда:

yum install paket

Для удаления, соответственно:

yum remove paket

Поиск программы по ключевому слову «keyword»:

yum search keyword

Репозитории Ubuntu: Main, Universe, Multiverse, Restricted и Partner

Программное обеспечение в репозитории Ubuntu подразделяется на пять категорий: Main, Universe, Multiverse, Restricted и Partner.

Почему Ubuntu это делает? Почему бы не поместить все программное обеспечение в один репозиторий? Чтобы ответить на этот вопрос, давайте посмотрим, что это за репозитории:

Main — Основной

Когда вы устанавливаете Ubuntu, это хранилище включается по умолчанию. Основной репозиторий состоит только из FOSS (бесплатное программное обеспечение с открытым исходным кодом), которое может распространяться свободно без каких-либо ограничений.

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

Universe — Универсальный

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

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

Multiverse — Мультиуниверсальный

Multiverse содержит программное обеспечение, которое не является FOSS. Из-за лицензионных и юридических проблем Ubuntu не может включить этот репозиторий по умолчанию и не может предоставлять исправления и обновления.

Вам решать, хотите ли вы использовать Multiverse репозиторий и проверить, имеете ли вы право на использование программного обеспечения.

Restricted — Ограниченный

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

Ограниченные репозитории состоят из проприетарных драйверов.

Partner — Партнерский

Этот репозиторий состоит из проприетарного программного обеспечения, упакованного Ubuntu для их партнеров. Ранее Ubuntu предоставляла Skype через этот репозиторий.

Проверка целостности rpm пакета

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

Первая проверка очень важна при скачивании пакетов из интернета, а вторая при подозрении на взлом компьютера.

Публичные ключи для проверки подписи автоматически устанавливаются при установке из дистрибутива, а также полуавтоматически добавляются при установке rpm пакетов для подключения репозиториев . Файлы с ключами в CentOS устанавливаются в каталог . Можно добавить ключ вручную, указав путь к локальному файлу или его url. Файл с ключем должен иметь текстовый формат ‘ASCII armored’

После инсталляции к ключам применимы те же команды, что и к установленным пакетам

– список всех ключей – информация (в том числе имя хозяина) о конкретном ключе – удаление ключа

Проверка файла пакета на целостность

Проверка установленного пакета на целостность

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

  • S – размер (Size)
  • M – тип файла или права доступа (Mode)
  • 5 – контрольная сумма (MD5)
  • D – мажор или минор устройства устройства (Device)
  • L – содержимое символической ссылки (Link)
  • U – владелец (User)
  • G – группа (Group)
  • T – время модификации (mTime)
  • P – капабилити (caPabilities)

Начальная настройка

Прежде чем начать работать с репозиторием, создадим конфигурационный файл:

vi /etc/aptly.conf

{
  «rootDir»: «/opt/aptly»,
  «downloadConcurrency»: 4,
  «downloadSpeedLimit»: 0,
  «architectures»: [],
  «dependencyFollowSuggests»: false,
  «dependencyFollowRecommends»: false,
  «dependencyFollowAllVariants»: false,
  «dependencyFollowSource»: false,
  «dependencyVerboseResolve»: false,
  «gpgDisableSign»: false,
  «gpgDisableVerify»: false,
  «gpgProvider»: «gpg»,
  «downloadSourcePackages»: false,
  «skipLegacyPool»: true,
  «ppaDistributorID»: «ubuntu»,
  «ppaCodename»: «»,
  «FileSystemPublishEndpoints»: {
    «pubtest»: {
      «rootDir»: «/var/www/aptly»,
      «linkMethod»: «symlink»,
      «verifyMethod»: «md5»
    }
  },
  «enableMetricsEndpoint»: false
}

* для нас важны опции:

  • rootDir — базовая директория для приложения, где будет храниться база репозиториев.
  • FileSystemPublishEndpoints — точка публикации для репозитория. Данную опцию мы рассмотрим подробнее ниже.
    • pubtest — название для точки публикации.
    • rootDir — каталог, в котором должны находить файлы опубликованного репозитория.
    • linkMethod — способ создания копии. Возможны варианты: symlink, copy, hardlink. У каждого метода свои плюсы и минусы. Решение на усмотрение администратора репозитория.

Мы готовы начать работать с aptly.

Установка программ в Debian ориентированных дистрибутивах

К Debian ориентированным дистрибутивам относятся: сам Debian с любым окружением рабочего стола (GNOME, KDE, XFCE и так далее), Ubuntu (сюда относятся Kubuntu, Xubuntu, Lubntu и так далее), Linux Mint с любым окружением рабочего стола, MX Linux, Pop!_OS, Astra Linux. И многие другие дистрибутивы, которые основываются именно на пакетной базе Debian. Просмотреть так называемое дерево дистрибутивов Linux и узнать, какой дистрибутив основывается на пакетной базе Debian можно на WIKI. Начнем мы с установки утилитой dpkg, данная утилита устанавливает заранее скачанные из сети пакеты, например, тот же Google Chrome. Для того что бы установить пакет, в терминале выполняем команду:

sudo dpkg -i и название пакета

Обратите внимания, что для установки вы должны находится в этом же каталоге, что и скачанная ранее программа. В данном примере ключ -i обозначает установку – install, для удаления используется ключ -r. Крайне рекомендуется после установки утилитой dpkg установить зависимости, их можно установить командой:

Если вы скачали несколько программ, то установить их можно командой:

Таким образом, все программы из каталога с расширением .deb будут установлены:

Установка программ из репозитория происходит командой:

sudo apt install и название пакета

Обратите внимания на пакетный менеджер, в данном случае это apt, который прекрасно работает с репозиториями и устанавливает не только программы, но и их зависимости. Например, для установки Synaptic выполним команду:

Таким образом мы установим из репозитория нужную нам программу. Далее рассмотрим как удалять установленные программы в Debian, Ubuntu, Linux Mint, Astra Linux и так далее. Для удаления программ используются команды sudo apt remove или для полного удаления sudo apt purge, а далее необходимо указать название программы которую хотим удалить. На примере все того же synaptic это будет выглядеть следующим образом:

sudo apt remove synaptic

или

sudo apt purge synaptic

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

sudo apt autoremove

и

sudo apt autoclean

Устанавливать программы или пакеты можно через графические менеджеры программ, рассмотрим пример установки в Synaptic. Открываем его и в поисковой строке вводим название необходимой программы, например, нужно установить браузер Chromium, вводим его название:

Нажимаем искать и в результатах поиска находим пакет с названием “chromium-browser”, далее нажимаем правой клавишей мышки на названии пакета и выбираем пункт “Отметить для установки”:

Вверху Synaptica появится кнопка “Применить”, нажимаем на нее, появится окно где можно увидеть что помимо самой программы, подтянутся и необходимые зависимости если их нет в системе:

После нажатия на кнопку “Применить” начнется установка. В Synaptic можно отсортировать пакеты которые установлены в вашей системе, для этого достаточно нажать на букву “C”, которая находится под кнопкой “Отметить все”. Зеленым будут отмечены именно те пакеты, которые установлены в вашей системе:

Для удаления программ в Synaptic нажимаем правой клавишей мышки на пакете, возьмем для примера все тот же Chromium, и выбираем один из пунктов “Отметить для удаления” или “Отметить для полного удаления”, в последнем случае, программа удалится со всеми ее зависимостями:

Synaptic по умолчанию в некоторых системах отсутствует, его заменяют другим приложением для установки и удаления программ в операционных системах Linux. Рассмотрим на примере той же Ubuntu приложение “Менеджер программ”, по сути, оно практически ничем не отличается от других, которые идут с рабочим окружением GNOME, в том же Debian вы увидите крайне похожее приложение для установки программ. Тут все программы разбиты по категориям:

Для поиска нужной программы в Менеджере программ в поисковой строке точно так же как и в Synaptice вводим название необходимой программы, например все тот же Chromium, и из списка выбираем нужное:

Нажимаем на названии программы и переходим на страницу с описанием, где вверху появится кнопка “Установить”, нажимаем на нее и программа будет установлена:

Все это крайне похоже на магазин приложений в смартфонах на Android, так что проблем с установкой и удалением программ возникнуть не должно. В менеджере приложений Discover который идет с рабочим окружением KDE все действия примерно такие же.

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

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

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

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

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

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

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

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

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

Sublime Text 3

Sublime Text — кроссплатформенный текстовый редактор кода.

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

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

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

sudo add-apt-repository ppa:webupd8team/sublime-text-3

sudo apt-get update

sudo apt-get install

Управление удалёнными репозиториями Flatpak

Как было сказано выше, в Flatpak нужно подключать репозитории, чтобы в них искать и устанавливать из них приложения.

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

Чтобы отобразить более подробную информацию, добавляем параметр «-d»:

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

Здесь, flathub — это локальное имя удаленного репозитория. Параметр «—if-not-exists» используется, чтобы исключить повторное добавление репозитория.

Удаляется репозиторий с помощью следующей команды:

Здесь, flathub — это локальное имя удаленного репозитория, нужно менять на своё, которое всегда можно увидеть в выводе списка репозиториев первой команды.

Файлы .htaccess

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

и смените на . Так же добавьте:

для исключения в отображении на сайте.

Для можно использовать опции:

А вообще смените стандартное имя .htaccess на другое с помощью параметра :

Тут можно используя модуль Apache настроить внешний вид. Завернуть в тег и используя html5, css3, javascript, jquery, bootstrap, backbone, awesome сделать конфетку, как это сделал я:

Вот что будет при использовании в браузере без поддержки javascript или с отключенным:

Сами файлы web интерфейса нужно будет скрыть как от vsftpd так и от демонстрации на сайте, делается аналогичными способами что и для сокрытия файла.

Настроить внешний вид листинга через или в nginx:

  1. http://www.oglib.ru/apman/mod/mod_autoindex.html
  2. https://habr.com/post/353478/

Настройка доступа по ftp

Запускаем службу и прописываем ее в автозапуск:

Настройка службы:

Настроем SeLinux:

Перезапустим службу:

В случае использования файла — продублируйте, чтобы файл был надежно защищен от доступа по ftp:

Установка RPM-пакетов

Для управления пакетами формата RPM в Linux используется соответствующая команда — rpm. Она производит установку, удаление, а также опрос состояния программ. Требуемый функционал этой команды определяется специальными опциями. Например, самыми распространёнными являются: -i – установка, -e – удаление, -U – обновление и -q – запрос. Если с первыми тремя опциями всё довольно просто, то последняя, т. е. -q очень часто используется совместно с другими опциями, т. е. она служит для включения опций конкретных запросов, например, команда:

$ rpm -qa

выводит список всех программ, установленных в ОС. Для установки приложения  нужно выполнить команду следующего вида:

$ rpm -i apache2.rpm

В результате будет произведена установка веб-сервера «Апач», т. к. это в данном случае предписывает опция -i. Сам же файл программы должен быть предварительно загружен или иным способом помещён в файловую систему. Бывает и так, что при работе с приложениями  возникают сложности — чаще всего с зависимостями, например:

$ sudo rpm -U openssh-2.9p2-12.i386.rpm
error: failed dependencies:
openssh = 2.9p2-7 is needed by openssh-askpass-2.9p2-7
openssh = 2.9p2-7 is needed by openssh-askpass-gnome-2.9p2-7
openssh = 2.9p2-7 is needed by openssh-clients-2.9p2-7
openssh = 2.9p2-7 is needed by openssh-server-2.9p2-7

Этот вывод означает, что при попытке обновить приложение  openSSH будут затронуты другие, зависящие от него программы. Это помогает сориентироваться, в том, что ещё нужно сделать для выполнения успешного обновления приложения openSSH, т. е. удовлетворить зависимости

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

$ rpm -q --whatrequires openssh
openssh-askpass-2.9p2-7
openssh-askpass-gnome-2.9p2-7
openssh-clients-2.9p2-7
openssh-server-2.9p2-7

Как видно, опция включения запроса -q предписывает выполнить сам запрос с требованием —whatrequires для фразы «openssh», т. е. «определить зависимости приложения openssh», и далее следует логичный вывод. Используя информацию из этого вывода можно скачать файлы нужных зависимостей и установить или обновить их последовательно, используя соответствующие ключи. Для удобства достаточно эти зависимости указать списком:

$ sudo rpm -U openssh-*

Для проверки результата нужно воспользоваться опцией запроса:

$ rpm -q openssh
openssh-2.9p2-12

Этот вывод означает, что в ОС корректно установлен (в результате предыдущих действий) openSSH. Нужно заметить, что для команды необязательно указывать точное название программы  и версий — она правильно распознаёт их и при сокращённой записи их наименований.

Системы управления пакетами (СУП)

Для облегчения поиска, загрузки программ, отслеживания зависимостей, а также для автоматизации обновлений приложений  существуют соответствующие системы управления пакетами (СУП). Самыми распространёнными являются APT и yum. К слову сказать, yum – это ничто иное как та же самая APT, доработанная для работы с rpm-пакетами. Для хранения приложений  существуют специальные хранилища — репозитории, в которых производится поиск и из которых загружаются для установки новые приложений. Репозитории организуют и поддерживают разработчики дистрибутивов, но при желании можно создать собственный, локальный по отношению к конкретной системе репозиторий. Поскольку система управления пакетами APT является универсальной, хорошо документированной (а ещё и бесплатной), то разумно рассмотреть работу подобных систем на примере APT. Эта СУП реализована в виде утилиты apt-get, с помощью которой удобно управлять всей системой

Важное значение для APT (как и для других подобных СУП) является файл с описанием источников хранилищ, т. е. репозиториев

Для APT это файл /etc/apt/sources.list. Если этот файл настроен и содержит верную информацию об источниках, то нужно перед каждыми обновлениями или установками приложений выполнять команду:

$ apt-get update

или в CentOS Red Hat

$ yum update

для обновления информации о пакетах. После чего можно проводить установку/обновление:

$ apt-get install имя пакета

или

$ yum install имя пакета

Эта команда автоматически найдет приложение (если он верно указан) в репозитории, проанализирует его зависимости, загрузит их и установит сам пакет и все требуемые, с учётом иерархии зависимости.

Например для установки редактора mc введите команду

$ apt-get install mc

или в RedHat CentOS

$ yum install mc

Следующая команда:

$ apt-get remove имя

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

$ apt-get clean
$ apt-get autoclean
$ apt-get autoremove
Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Мир технологий
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: