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

Если ваш /bin/sh на самом деле является /bin/bash и ваша версия достаточно свежая, вы можете использовать ассоциативный массив

#!/bin/bash
strs=( KW0 KW1 )
declare -A text=( 
    [KW0]="text text text" 
    [KW1]="text text  text text" 
)
for str in "${strs[@]}"; do 
    printf "%s\t%s\n" "$str" "${text[$str]}"
done
KW0     text text text
KW1     text text  text text
-1
21.03.2020, 12:54
4 ответа

Я бы рекомендовал устанавливать программное обеспечение только из источников, предоставленных вашим дистрибьютором. Добавляйте вручную репозитории или устанавливайте пакеты или другое программное обеспечение вручную только в том случае, если вы точно знаете, что делаете. Что касается вопроса о том, что sudo apt updateделает :, он извлекает последние доступные пакеты из всех настроенных вами репозиториев. То же самое относится к защелкам или плоским упаковкам. После их установки из центрального репозитория вы будете получать обновления аналогично apt update.

1
28.04.2021, 23:19

apt updateпроверяет все ваши источники программного обеспечения, так что это репозитории дистрибутива и любой добавленный вами PPA. Насколько я знаю, это не включает flatpak (, используйте flatpak updateдля этого ), но может включать snap, если дистрибутив устанавливает его именно так. Вещи, которые вы установили вручную (загрузили.deb или другие средства установки ), конечно, таким образом не проверяются.

Но имейте в виду, что Ubuntu имеет свою собственную политику обновлений, часть дистрибутива обновляется до конца -или -жизни дистрибутива («основного» репозитория ), другие получают мало или вообще не получают обновлений. (Репозиторий «universe» и другие )(и большинство установленных пакетов snap -не находятся в «основном» ).

1
28.04.2021, 23:19

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

apt upgradeфактически обновляет установленные пакеты, для которых доступны более новые версии, при условии, что они были установлены через aptи что репозитории, из которых они были получены, находятся в указанных выше местах.

Пакеты из snapи flatpakне будут обновлены apt, так как репозитории разные и не будут находиться в кеше/базе данных apt.

1
28.04.2021, 23:19

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

Установка с помощью менеджера пакетов, репозитории по умолчанию

Диспетчер пакетов (, независимо от того, apt, apt-get, aptitudeили что-то еще ), имеет список местоположений для загрузки программного обеспечения. Это программное обеспечение, как правило, заслуживает доверия, известно, что оно работает и в основном хорошо поддерживается. Такое место называется «репозиторий». URL-адреса репозиториев хранятся в /etc/apt/sources.list. При запуске apt updateменеджер пакетов запрашивает репозиторий, чтобы узнать, какие пакеты программного обеспечения доступны. Он хранит информацию в локальном кеше.

При установке пакета с помощью apt installменеджер пакетов проверяет свой локальный кеш, чтобы определить, откуда загрузить пакет. Затем он загружает пакет. Пакет предоставляется в виде архива в формате DEB. Архив распаковывается в вашу локальную файловую -систему. Кроме того, пакет может содержать некоторый код, который будет автоматически выполняться один раз для настройки только что установленного программного обеспечения.

При обновлении программного обеспечения с помощью apt upgradeили apt dist-upgradeзагружаются новые версии существующих пакетов. Текущая версия удалена из системы. Менеджер пакетов знает, какие файлы нужно удалить, поскольку он знает, какой файл был предоставлен каким пакетом. Затем новая версия устанавливается, как описано выше.

Установка менеджером пакетов, пользовательские репозитории

Также можно расширить репозитории по умолчанию, добавив URL-адреса в /etc/apt/sources.list, хотя в наши дни следует использовать /etc/apt/sources.list.d/. Менеджер пакетов будет рассматривать их так же, как репозитории по умолчанию. Установка, удаление и обновление работают точно так же. Пользователь должен быть осторожен при добавлении пользовательских репозиториев — они должны быть сделаны для системы.
На стороне -примечание :Исходя из личного опыта, я советую удалить все пакеты, установленные из репозиториев, отличных от -по умолчанию, прежде чем выполнять обновление с одной версии Ubuntu на следующую.

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

Вы также можете загружать файлы DEB вручную. Вы можете установить пакет через dpkg -i. Менеджер пакетов никогда не обновит этот пакет, так как не знает, откуда он взялся.

Установка через оснастку

snapcraft — это альтернатива диспетчеру пакетов, ориентированная на совместимость не только с Ubuntu, производной от Debian -, но и со всеми дистрибутивами Linux. Снэп-пакет не распаковывается в систему. Более того, он монтируется (, его содержимое становится видимым ), а программное обеспечение выполняется в контролируемой среде внутри вашей системы (, подумайте о песочнице и виртуальных машинах ). При удалении снапа пакет размонтируется и удаляется. Обновления происходят аналогично.

Полностью ручная установка

Вы также можете загрузить несколько файлов и поместить их в соответствующие места на -жестком диске. Пользовательское программное обеспечение часто помещается в /opt. Двоичные файлы (или ссылки на них )устанавливаются в каталог в $PATH. Таким образом, программное обеспечение может быть легко доступно. Менеджер пакетов ничего не знает об этом программном обеспечении. Обновления также необходимо устанавливать вручную (иногда в программном обеспечении есть функция самообновления -, жесткая ). Пользовательское программное обеспечение также можно установить в такие места, как /usr/localили даже /usr. Последнее не следует делать, если вы действительно не знаете, что делаете. Пользовательское программное обеспечение может ужасно конфликтовать с программным обеспечением, контролируемым менеджером пакетов.

Похожие вопросы:
Обновления программного обеспечения Ubuntu с помощью apt -получают
Имеет ли значение, обновляю ли я пакеты через Apper или Центр программного обеспечения в Debian?

2
28.04.2021, 23:19

Теги

Похожие вопросы