Software properties common что это
Установка и удаление программ из консоли
Дмитрий Корнев
В разных дистрибутивах Linux предусмотрены специальные менеджеры для установки приложений. Пользоваться ими удобно. К тому же, часто в них можно почитать описание программ, иногда посмотреть скриншоты и, совсем иногда, даже почитать комментарии пользователей. Но в этих менеджерах бывают не все программы или старые версии программ. В таких случаях без консоли не обойтись.
Репозитории
Это хранилища, откуда программы могут скачиваться и устанавливаться автоматически. У каждого дистрибутива Linux по умолчанию уже подключены один или несколько официальных репозиториев. Устанавливать оттуда программы — это самый правильный способ.
Если вы давно ничего не устанавливали или не обновляли из репозиториев, то сперва надо обновить их данные. Следующей командой обновляются данные всех подключенных к системе репозиториев:
Например установка Libre Office:
Можно за один раз установить сразу несколько программ, просто перечислив их через пробел:
Устанавливаются новейшие версии программ, из тех, что доступны в подключенных репозиториях.
Через некоторое время в репозиториях могут появляться новые версии программ. Чтобы обновить только нужные программы используется команда:
Чтобы обновить все программы в вашей системе:
Сторонние репозитории
Как уже сказал, по умолчанию к дистрибутиву подключены лишь официальные репозитории. Они хороши тем, что включенные в них программы протестированы с дистрибутивом. Репозитории могут быть разными для разных версий дистрибутива, чтобы обеспечить совместимость одного с другим и на уровне версий.
Из сказанного должно быть понятно, что подключать к системе сторонние репозитории следует осторожнее, убедившись, что там содержится программа или программы именно для вашего дистрибутива. Ещё, осторожность не помешает и в смысле безопасности. Старайтесь подключать только официальные репозитории разработчиков программ, те, которым вы доверяете.
Подключать репозитории к системе можно разными способами. Обычно, как это делать, написано на официальных сайтах программ. Но, есть нюансы.
Пример подключения PPA-репозитория:
Выполнив такую команду мы получаем информацию об указанном репозитории и запрос — продолжить или отменить его подключение.
Если в процессе выполнения команды вернулась ошибка:
Значит в системе нет нужных компонентов для выполнения команды, их установка:
Теперь команда подключения PPA-репозитория выполнится без проблем.
Обычно репозиторий подключается и оставляется в системе. Сейчас он нужен для установки программы, а потом пригодится для её обновления. Но, бывает, что программа больше не нужна, вы её удалили, а следовательно можно удалить и подключение репозитория.
Пример удаления подключения того же самого PPA-репозитория:
PPA-репозитории были придуманы для удобства поддержки и развития свободных проектов. Как видно из примеров, подключать и отключать такие репозитории очень просто. При подключении сразу автоматически импортируются и соответствующие удостоверяющие ключи. В основе лежит проект Launchpad, по ссылке можно искать репозитории нужных программ.
Репозиторий не зарегистрированный на этом проекте можно подключить к системе лишь вручную.
Для этого требуется:
Пример, как Яндекс предлагает добавить в систему репозиторий своего облачного Диска:
По сути, эта команда печатает часть строки (заключенную в кавычках) в указанный следом файл. Такого файла нет по умолчанию, поэтому он создаётся. Создаётся в системной директории, куда право писать имеет лишь администратор. Поэтому надо выполнять эту команду под root-ом.
sudo вначале команды тут не поможет. Можно поступить так:
Т.е. перешли в режим root, выполнили команду, вышли.
Пример импорта ключа для репозитория того же Яндекс.Диска:
Т.е. вначале скачали файл ключа, потом импортировали его в систему.
Скаченный файл ключа после импорта можно удалить.
Конечно, после того, как любой новый репозиторий был подключен к системе, требуется выполнить обновление данных. А после уже можно приступать к установке оттуда программ. Команды обновления всех подключенных репозиториев и установки программ смотрите выше.
Ошибки репозиториев
При попытке обновления информации с репозиториев можно получить подобную ошибку:
Так можно объявить, что источник поддерживает только архитектуру amd64 :
Обычно на этом всё заканчивается. После завершения процесса установки программой можно пользоваться. Но, иногда бывает, что в процессе установки возникают ошибки такого типа:
Т.е. программа для своей работы требует дополнительный пакет, которого не оказалось в системе. Обычно зависимости программ от дополнительно необходимых пакетов разруливаются автоматически, — когда чего-то нет, то оно скачивается и устанавливается. Но в отдельных случаях это сделать не удаётся, и тогда возникает подобная ошибка.
Решением может быть команда:
Она автоматически пытается исправлять установленные программы, в частности пытается решить проблемы, возникшие при их установке. Если это сделать не получается, то неработающие программы она предлагает удалить.
Ручное решение проблемы — это самостоятельная установка требуемых для программы пакетов. Скорее всего потребуется подключать дополнительные репозитории, т.к. в подключенных системе автоматически не удалось найти требуемое. Совсем в крайнем случае — это скачивание и установка вручную откуда-то нужных дополнительно пакетов. Стоит воспользоваться поиском по интернету, скорее всего вы не первый, у кого возникла эта проблема. Всегда есть шансы найти готовое решение.
Удаление программ
Для этого есть два варианта. Первый — удаляет программу подчистую, в том числе удаляет созданные для неё конфигурационные файлы:
Второй — удаляет только саму программу:
Если конфигурационные файлы не представляют для вас ценности. Если вы не делали каких-то особых настроек, которые вам могут пригодится в будущем, то используйте первый вариант. Причём делайте это сразу. Если удалить программу вторым способом, а потом попытаться сделать это первым, то ничего не получится, ведь программы уже не будет в системе, соответственно вы получите ошибку.
Чистка
Для поддержания чистоты в системе есть команда:
Она анализирует установленные программы, их зависимости, системные файлы и т.д. Если оказывается, что какие-то из них в системе уже не используются, то она предлагает их удалить.
Такое вполне часто возникает. Например, была одна версия программы, потом вы её обновили. Так уж сложилось, что разные версии этой программы имеют разные зависимости, разные пакеты. Соответственно, всё, что требовалось для старой версии программы теперь лежит в системе без дела. Это можно смело удалять. Иногда бывает, что это высвобождает довольно много места на диске.
Установка и настройка Docker в Ubuntu
Docker — программное обеспечение для облегчения создания, развертывания и запуска приложений. Разработчик может упаковать приложение и все его зависимости в изолированную среду.
Managed Kubernetes помогает разворачивать контейнерные приложения в инфраструктуре Selectel. Сосредоточьтесь на разработке, а мы займемся рутинными операциями по обеспечению работы вашего кластера Kubernetes.
Создавая аналогичную изолированную среду, Docker схож с виртуальным сервером. Однако, в случае с Docker, значительный прирост производительности дает то, что контейнеры, в отличие от виртуальных машин, используют общее ядро Linux, разделяя его ресурсы.
Еще один важный момент — Docker имеет открытый исходный код. Это означает отсутствие необходимости внесения оплаты за лицензии и большое комьюнити, в котором легко получить ответ на любой вопрос относительно работы Docker.
В этой статье мы разберемся с установкой Docker на операционную систему Ubuntu, создадим образ контейнера на Docker Hub и запустим собственный репозиторий. Также расскажем об утилите Docker Compose для работы с мультиконтейнерными приложениями.
Перед началом установки всех необходимых компонентов, подготовим сервер. Это будет облачный сервер с готовой конфигурацией.
В консоли управления Selectel перейдем в представление Облачная платформа и нажмем на кнопку Создать сервер.
На следующем представлении вводим имя сервера, выбираем образ операционной системы (в нашем случае это Ubuntu 18.04 LTS 64-bit) и фиксированную конфигурацию сервера с 1 vCPU и 2 ГБ RAM. Для тестовых целей будет достаточно диска с 10 ГБ. Еще раз проверяем конфигурацию сервера и нажимаем Создать.
Подождем минуту или две пока сервер не перейдет в состояние Active.
Теперь можем приступать к установке Docker. Поехали!
Docker: системные требования для установки
Один из компонентов окружения Docker — Docker Engine. Эти клиент-серверное приложение, которое обеспечивает следующие компоненты:
Установка Docker на Ubuntu
Чтобы установить Docker на Ubuntu, выполним подготовительные действия. Для начала, обновим состав установочных пакетов, чтобы иметь представление об их актуальных версиях:
Предварительно установим набор пакетов, необходимый для доступа к репозиториям по протоколу HTTPS:
Далее добавим в систему GPG-ключ для работы с официальным репозиторием Docker:
Теперь добавим репозиторий Docker в локальный список репозиториев:
Повторно обновим данные о пакетах операционной системы:
Приступаем к установке пакета Docker.
После завершения установки запустим демон Docker и добавим его в автозагрузку:
На этом установка Docker завершена и можно начинать с ним работу.
Установка Docker Compose на Ubuntu
Docker Compose — это инструмент для описания и запуска мультиконтейнерных приложений Docker. Инструмент позволяет пользователям запускать, выполнять, общаться и закрывать контейнеры с помощью одной команды.
Посмотрим последнюю сборку Docker Compose в репозитории на Github и загрузим ее при помощи утилиты curl со следующими параметрами:
После завершения загрузки, добавим загруженному бинарному файлу права на выполнение:
Заметим, что выполнить установку Docker Compose можно было из репозитория Ubuntu командой sudo apt-get install docker-compose. Однако, в репозитории может быть не самая последняя версия. Способ, который мы описали выше, позволит загрузить актуальную версию утилиты Docker Compose.
Чтобы проверить корректность работы утилиты, выполним проверку ее версии:
Если команда вернула номер версии, значит Docker Compose готов к работе.
Когда нужно удалить Docker Compose, достаточно выполнить команду удаления файла:
Если установка выполнялась через пакетный менеджер apt, нужно его вызвать с параметром purge:
И следом удалить все невостребованные зависимости:
Команды Docker и работа с ним
Перед началом работы с Docker, нужно подготовить контейнер. Есть два пути: создать новый контейнер, описав его в Dockerfile или загрузить уже готовый из Docker Hub или другого репозитория. В этом разделе мы рассмотрим вариант создания собственного контейнера с нуля при помощи Dockerfile.
Dockerfile — это скрипт с инструкциями по созданию образа Docker. Эти инструкции представляют собой группу команд, автоматически выполняемых в среде Docker для создания определенного образа Docker.
Создадим новую директорию, перейдем в нее и создадим Dockerfile:
Откроем Dockerfile и добавим в него несколько строк:
Сохраним изменения и выйдем из режима редактирования. Теперь можно приступать к сборке контейнера. Для этого используем утилиту Docker. Базовый синтаксис выглядит так:
Запустим утилиту с параметром -t, который указывает на имя образа. Это упростит управление образами, когда их станет несколько.
После сборки образа, проверим, что он появился в локальном каталоге образов. Получим следующий вывод:
Казалось бы мы создали только один образ. Откуда там появилось два? Все просто — мы создавали свой контейнер my_ubuntu на на базе образа ubuntu, поэтому вначале скачался образ ubuntu и лишь потом был создан my_image.
Запустим новый контейнер Docker на основе образа, созданного на предыдущих шагах. Назовем контейнер «test» и получим вывод «Hello world» в результате выполнения команды docker run. Ubuntu, CentOS или Debian — операционная система значения не имеет, синтаксис везде будет одинаковый.
После выключения контейнера, все данные, которые он генерировал за время работы удаляются. Чтобы этого не происходило, предусмотрена возможность монтирования внешних хранилищ. Docker автоматически создает каталог /var/lib/docker/volume, в который можно сохранять данные на постоянной основе и совместно их использовать между несколькими контейнерами. Создадим новое хранилище с именем «selectel»:
Теперь запустим контейнер с примонтированным внешним хранилищем:
Таким образом, все данные, которые появятся в директории /selectel внутри контейнера будут надежно храниться на файловой системе сервера.
Контейнеры Docker предназначены для обеспечения изолированной среды со всеми библиотеками и конфигурациями, необходимыми для работы программного обеспечения. Во время разработки их количество может хаотично, в результате появятся устаревшие и неиспользуемые контейнеры. Ниже мы покажем как удалить ненужные контейнеры.
Предварительно выведем в терминал запущенные контейнеры:
Можно остановить один контейнер:
Чтобы очистить все данные, созданные контейнером, можно выполнить следующую команду:
Команда выполняет остановку контейнеров, перечисленных в круглых скобках. Атрибут && предписывает Docker удалить все остановленные контейнеры и тома. Параметры –af указывает, что это должно применяться ко всем контейнерам (a) без необходимости подтверждения (f).
А теперь удалим контейнер. Один или все сразу:
При удалении ненужных контейнеров можно также задавать фильтры. Например, в примере ниже мы удалим все контейнеры без метки мейнтейнера «selectel».
Фильтры имеют следующий синтаксис:
Образы Docker — это файлы, которые включают несколько слоев, используемых для запуска кода в контейнере. В процессе разработки некоторые образы могут устаревать и, соответственно, занимать место на диске. Посмотрим какие образы сейчас находятся на файловой системе:
Чтобы удалить неиспользуемые образы, нужно воспользоваться их идентификатором из колонки IMAGE ID.
Аналогичным контейнерам образом, удаляемые образы можно фильтровать по меткам или по дате создания. Первая команда удаляет образы с меткой «selectel», а вторая все образы, созданные за последние 24 часа.
Так как контейнеры после остановки не сохраняют внутри себя никакие данные. Например, если в контейнере работала база данных и там за время работы контейнера были созданы объекты и данные, после остановки они пропадут. Для этого, к контейнеру монтируются каталоги, расположенные, непосредственно на диске операционной системы. Чтобы просмотреть все такие каталоги, выполним команду:
Чтобы удалить ненужные разделы Docker, воспользуемся командой:
Сети Docker позволяют различным контейнерам свободно обмениваться данными друг с другом, а также изолировать этот трафик. Обычно это делается с помощью сетевого моста Docker. Чтобы посмотреть все имеющиеся сети, выполним:
Чтобы удалить ненужные сети Docker, воспользуемся командой:
Команда prune автоматически удаляет все ресурсы, не связанные с контейнером. Это упрощенный способ очистки неиспользуемых образов, контейнеров, томов и сетей.
Можно использовать дополнительные параметры:
Эту команду также можно использовать точечно для контейнеров, образов, дисковых разделов и сетей:
Можно использовать дополнительный параметр -a, в этом случае удаляются неиспользуемые и зависшие объекты.
Работа с репозиторием Docker Hub
Docker Hub — это общедоступный репозиторий образов контейнеров Docker. Каждый раз когда вы создаете собственный контейнер (в примере выше мы делали контейнер на основе операционной системе Ubuntu), с Docker Hub загружается соответствующий образ. Но образы можно не только загружать, но и выгружать. В этом разделе мы расскажем как это сделать.
Прежде чем начать, понадобится учетная запись на Docker Hub. Регистрация бесплатная. Сейчас в нашем тестовом окружении на Docker Hub нет ни одного репозитория. Прежде чем начинать выгрузку создадим один с помощью кнопки Create Repository.
В командной строке введем специальную команду для подключения к Docker Hub. На вход подадим имя учетной записи, которое указывали при регистрации. Затем укажем пароль.
Осталось выгрузить образ в репозиторий. Установим образу метку, а затем зальем его в репозиторий.
В результате, образ появится в репозитории.
Работа с частным репозиторием
Частный репозиторий — это аналог Docker Hub, только находиться он будет в окружении под вашим управлением.
Запустим локальный репозиторий в контейнере:
Теперь добавим специальный тег к образу, добавляем созданный образ my_image в репозиторий и для проверки получаем его обратно:
Частный репозиторий готов к работе.
Заключение
В статье мы рассмотрели работу с контейнерами на основе Docker, их создание, удаление и размещение в Docker Hub и локальном репозитории. Docker сильно упрощает работу разработчиков и системных администраторов. Легковесные контейнеры потребляют меньшее количество ресурсов (в отличие от виртуальных машин) и полноценно готовы к работе за считанные минуты.
Установка последней версии Nginx в Ubuntu 12.10
Что такое Nginx?
Nginx – это свободный веб-сервер с открытым исходным кодом, который гораздо легче Apache. Он может быть использован в качестве основного веб-сервера или же настроен как обратный прокси-сервер для Apache.
Требования
Прежде чем приступить к выполнению данного руководства, нужно установить SSH-подключение с виртуальным сервером (введите в терминал ssh @ ). Также необходимо иметь root-привилегии (для этого войдите как root-пользователь или создайте пользователя с повышенными привилегиями), иначе некоторые команды могут не сработать.
1: Установка зависимостей
На данном этапе нужно установить пакеты python-software-properties и software–properties-common
Примечание: пакет software-properties-common необходим только в Ubuntu 12.10.
Итак, чтобы установить python-software-properties, нужно запустить следующую команду:
sudo apt-get install python-software-properties
Чтобы в Ubuntu 12.10 установить пакет software-properties-common (без которого не запустится команда add-apt-repository в следующем разделе), используйте команду:
sudo apt-get install software-properties-common
2: Добавление стабильного репозитория Nginx
Чтобы обеспечить постоянную и безопасную работу устанавливаемого программного обеспечения, нужно использовать последнюю его стабильную версию.
Примечание: если вы разрабатываете модуль для Nginx или нуждаетесь в «передовой» версии веб-сервера, замените stable версией development. Однако этого делать не рекомендуется, поскольку использование версий, находящихся в процессе разработки, может вызвать ряд опасных ошибок.
Итак, на данном этапе нужно добавить репозиторий, необходимый для установки последней версии Nginx:
sudo add-apt-repository ppa:nginx/stable
Примечание: если эта команда не работает (что случается в 12.10), запустите:
sudo apt-get install software-properties-common
Это добавит в Ubuntu нужный репозиторий и извлечет ключ репозитория.
3: Обновление списка пакетов
Добавив новый репозиторий, нужно обновить список пакетов системы:
sudo apt-get update
4: Установка Nginx
Чтобы установить Nginx (или обновить ранее установленную версию), запустите команду:
sudo apt-get install nginx
5: Проверка работы Nginx
Чтобы убедиться, что Nginx работает, перейдите на IP или домен сервера или же наберите:
service nginx status
Данная команда скажет, работает ли Nginx в настоящее время.
6: Что делать, если Nginx не работает?
Если проверка показала, что Nginx не работает (например, появляется ошибка nginx: [emerg] bind() to [::]:80 failed), запустите:
Это выведет список всех процессов, прослушивающихся на портах:
Замените xxxx PID-номером процесса, который нужно прервать. Прервав процесс, перезапустите Nginx:
service nginx start
Кроме того, проблема может быть вызвана конфигурациями, которые принимают подключения и от IPv4, и от IPv6. Чтобы это исправить, отредактируйте строку listen [::]:80 в конфигурационном файле по умолчанию (/etc/nginx/sites-available/default), а также любой другой файл блока server, который используется.
sudo nano /etc/nginx/sites-available/default
Код будет выглядеть так:
server <
listen 80;
#listen [::]:80 default_server;
Ошибка add-apt-repository command not found
В репозиториях Debian и Ubuntu есть множество различных программ, которых будет достаточно для удовлетворения потребностей большинства пользователей. Но есть специфичные программы, которых пока что нет в репозиториях, также там нет новых версий программ. Поэтому достаточно часто в Ubuntu, Debian, Linux Mint и других системах используются репозитории PPA.
Обычно такие репозитории поддерживают либо разработчики программ, таким образом, там будет всегда новая версия, либо добровольцы, они добавляют программы, которых нет в официальных репозиториях. Но при попытке добавить репозиторий в систему может возникнуть ошибка add-apt-repository command not found. В этой небольшой статье мы разберем как ее исправить и почему она возникает.
Что значит add-apt-repository command not found?
Дословно это словосочетание обозначает что команда add-apt-repository не найдена в системе. А если такой программы нет в вашем дистрибутиве, то вы не сможете добавить репозиторий. Вернее сможете, но это будет намного сложнее. Причин может быть несколько:
Как исправить error add-apt-repository command not found?
sudo apt install software-properties-common
Иногда система может выдавать, что пакет установлен, но несмотря на это продолжать сыпать ошибки при попытке установить PPA:
Такое случается иногда из-за ошибок во время установки. Система думает, что пакет установлен, но на самом деле, в файловой системе нет файлов данного пакета, для решения проблемы мы можем его переустановить:
sudo apt install python-software-properties
Чтобы убедиться что пакет установлен правильно и все файлы есть там, где они и должны быть, вы можете использовать команду:
Затем можете попытаться выполнить файл программы напрямую:
И убедитесь, что у него есть права на выполнение, а то мало ли:
Если все правильно, то ошибки add apt repository команда не найдена больше быть не должно.
Выводы
В этой статье мы разобрали что означает ошибка sudo add-apt-repository command not found и как ее исправить чтобы получить возможность работать с PPA. Если у вас остались вопросы, спрашивайте в комментариях!