Перейти к содержимому

Как обновить программу в linux

  • автор:

Обновление программы в репозитории Ubuntu

image

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

Неудачная попытка

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

Hi Sergey! And happy new year 🙂

Now that mountmanager is in the official repository, the way to go is opening a ticket in launchpad, requesting an upgrade,.
Then, somebody (surely myself) will post the upgraded package, so that it will be included in the next release of Ubuntu. It should be easier than the initial packaging 🙂

После этого сообщения я сразу полез на LaunchPad.net. Но после получасового поиска, где же всё таки надо открыть тикет, чтобы на него обратили внимание, я решил снова обратиться к моему малознакомому французу. Теперь уже с вопросом: «А где именно надо открыть этот тикет?».

You can use this link:
bugs.launchpad.net/ubuntu/+source/mountmanager (you have a report a bug link)

Удачная попытка

В моём случае в конце ссылки стоит mountmanager, а вообще может быть любая программа Ubuntu, на которую Вы хотите пожаловаться или сообщить об ошибке. Вообще странно, что приходится пользоваться bug трэкером, чтобы обновить свою программу, ведь каждая программа требует обновления. Cannonical могли бы уж создать отдельную ветку в LaunchPad для таких случаев.
Пользуясь случаем, хотел бы спросить, что значит «CU» в конце сообщения. Обычно он мне писал Cheers, а теперь вдруг CU.
Весь дальнейший ход событий Вы можете прочитать здесь: MountManager Upgrade ticket. Теперь от меня уже ничего не зависит. Остаётся просто ждать, пока на запрос apt-cache show mountmanager я увижу строчку Version: 0.2.6.

Реклама и просьба

Недавно закончил разработку новой версии программы MountManager, свежие скриншоты которой Вы можете просмотреть здесь: PicasaWeb gallery. У меня к Вам небольшая просьба: оцените, пожалуйста интерфейс и все ваши впечатления от него напишите в комментариях. И было бы вообще классно, если установите программу 😉 Спасибо!
Ваши комментарии мне нужны не как для улучшения самой программы, а для того, чтобы понять что кажется пользователю хорошим интерфейсом. Недавно начал читать Джефа Раскина, поэтому эта тема мне стала казаться очень интересной.

Спасибо за внимание.

Обновление пакетов в Debian, Ubuntu или Mint

Обновление пакетов одинаково происходит как в Debian, так и в Ubuntu и Linux Mint. Это объясняется тем, что все эти дистрибутивы Linux используют один и тот же менеджер пакетов — APT. Устанавливать и обновлять пакеты можно как графически с помощью различных менеджеров, так и в консоли.

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

Итак, к делу! Откройте терминал, нажав клавишу «Windows» и введя в поисковую строку слово «terminal» или «терминал». Перейдите в режим суперпользователя:

Вас попросят ввести пароль своей учетной записи.

Обновим кэш пакетов командой:

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

Чем же отличаются эти две команды? Первая команда выполняет «мягкое» обновление. Она не при каких условиях не удаляет и не устанавливает новые пакеты. Если же обновляемый пакет затребует удаление или установку нового пакета, он не будет обновлен — оставлен в своей текущей версии.

Как вы догадались, вторая команда позволяет удалять и устанавливать такие пакеты. Но её использование часто сопряжено с риском получить неработоспособную систему — внимательно читайте список предлагаемых ей пакетов для установки/удаления!

Linux: обновление приложений, ОС и драйверов в UBUNTU/Debian, установка системы

APT – advanced package tool. Пакетный менеджер на ubuntu (и Debian) – позволяет легко искать приложения, скачивает приложения из репозиториев, устанавливает и их зависимости, удаляет все это при необходимости. Apt работает с пакетам .deb (так же как и Debian, на основе которого построен Ubuntu).

В новых версиях Ubuntu/Debian не обязательно использовать apt-get, достаточно apt.

Приложения

sudo apt-get update – получение списка всех доступных обновлений приложений из установленных в системе репозиториев. Обязательно запускаем чтобы гарантировать, что мы ставим последние версии приложений.

fetches the list of available updates Before you install any software, always make sure you're pulling the latest software from your repositories with the apt update command. 

sudo apt-get dist-upgrade – обновление приложений на основе сформированного ранее списка обновлений. dist-upgrade лучше обычного upgrade (sudo apt-get upgrade) т.к. разрешает конфликты (доустанавливает/обновляет/удаляет необходимые зависимости). Логгирование лучше всего собирать с терминала (secure/putty легко это позволяют), а не записывать в файл (&>upgrade.log) – потому что могут появляться экраны с запросами, не только y/n, решаемые опцией -y.

  • После обновления часто необходимо перезагружаться для применения изменений и защиты от риска удаления «псевдо-осиротевших» пакетов (ниже в clean подробнее). Осторожно! при обновлении сервисов они могут не работать (у меня выдавало ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)) при обновлении mysql, что вполне естественно.
  • Обновление может помочь при переводе часов (обновлялся пакет tzdata, отвечающий за часовые пояса).
  • После перезагрузки не забываем стартануть все демоны, а так же можем наткнуться на отсутствие сетевой доступности из-за прописывания маршрутов динамически в RIB, а не в файл.
  • После обновления еще раз его запускаем, как проверку, что нет инкрементальных апдейтов (в общем случае не должно быть).
~$ sudo apt-get dist-upgrade 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 
Clean

sudo apt-get autoremove – удаление осиротевших пакетов/библиотек и прочего треша, запускаем строго ПОСЛЕ обновления и перезагрузки. Запускать надо т.к. может сильно высвободить память от мусора. Причем запускать несколько раз, как с CCleaner. После этого может понадобится еще одна перезагрузка (в шапке будет system restart required).

Первый раз 0 upgraded, 0 newly installed, 7 to remove and 0 not upgraded. After this operation, 285 MB disk space will be freed. Второй раз 0 upgraded, 0 newly installed, 4 to remove and 0 not upgraded. After this operation, 300 MB disk space will be freed. В третий раз 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 
  • если запустить до установки обновлений, после установки может остаться мусор, вот пример:
~$ sudo apt-get autoremove Reading package lists. Done Building dependency tree Reading state information. Done The following packages will be REMOVED: linux-headers-3.16.0-30 linux-headers-3.16.0-30-generic linux-image-3.16.0-30-generic linux-image-3.16.0-31-generic linux-image-extra-3.16.0-30-generic linux-image-extra-3.16.0-31-generic 0 upgraded, 0 newly installed, 6 to remove and 3 not upgraded. After this operation, 480 MB disk space will be freed. Do you want to continue? [Y/n] н Abort.
  • если запустить после обновления приложений, но до перезагрузки – можно сталкнуться с фейлом что осиротевшим пометится новое обновление, требующее перезагрузки т.к. оно еще недоустановилось! У меня так похерились mysql server/client, благо я и базу забекапил и сама база не потерлась:
~$ sudo apt-get autoremove Reading package lists. Done Building dependency tree Reading state information. Done The following packages will be REMOVED: libaio1 libdbd-mysql-perl libdbi-perl libterm-readkey-perl mysql-client-5.5 mysql-client-core-5.5 mysql-server-5.5 mysql-server-core-5.5 0 upgraded, 0 newly installed, 8 to remove and 3 not upgraded. After this operation, 92,7 MB disk space will be freed. Do you want to continue? [Y/n] y

Аналогично теряли базу postgres на gentoo. Причем она продолжала работать в оперативке.

OS

lsb_release -a – смотрим версию дистрибутива.

uname –a – смотрим hostname, версию ядра, разрядность (если система 64-битная, то в консоли это будет обозначено как x86_64; если система 32-битная, то будет i686 или i386)

sudo apt-get install update-manager-core – устанавливаем приложение по обновлению ядра

sudo do-release-upgrade или sudo apt full-upgrade – обновление релиза OS (ядра Linux). Если версия хоть и предыдущая, но поддерживаемая LTS, несколько раз думаем перед обновлением, насколько оно нужно. Официальным LTS Debian, кстати, по факту считает и поддерживает OS 4-ех летней давности по релизу! Вместо обновления на новую LTS система может предложить обновить только Security стек, как самое необходимое.

To upgrade to a supported (or longer-supported) configuration: * Upgrade from Ubuntu 14.04 LTS to Ubuntu 16.04 LTS by running: sudo do-release-upgrade OR * Switch to the current security-supported stack by running: sudo apt-get install linux-image-generic-lts-xenial linux-generic-lts-xenial and reboot your system.
Репозитории

/etc/apt/sources.list – ссылки на repo для ubuntu находятся тут. Так же приложения можно ставить из ppa-репозиториев (установка ppa-приложений) с сайта launchpad.net, принадлежащего Canonical (по сути маркет для приложений). Например популярный репозиторий для php7.0 http://ppa.launchpad.net/ondrej/php/ubuntu. В любом случае (особенно в случае с ppa), устанавливая тот или иной репозиторий, нужно быть уверенным, что он надежный – иначе получим нерабочий или даже вредоносный софт.

Пример добавления репозитория.

sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php

Можно добавлять и непосредственно строкой в файл /etc/apt/sources.list, причем чем «выше» (т.е. ближе к началу файла) стоит строка, тем больший приоритет получит добавленный репозиторий.

sudo vi /etc/apt/sources.list

В случае ошибки с CD/DVD приводом, а нам нужно загружать через сеть, нужно закомментировать строку с поиском дистрибутива на CD-ROM.

Media change: please insert the disc labeled 'Debian GNU/Linux 10.11.0 _Buster_ - Official amd64 DVD Binary-1 20211009-16:12' # deb cdrom:[Debian GNU/Linux 10.11.0 _Buster_ - Official amd64 DVD Binary-1 20211009-16:12]/ buster contrib main
Другие полезные apt-команды

apt list –installed – смотрим информацию про все установленные пакеты

apt show python3 – смотрим информацию про конкретный пакет

# apt show python3 Package: python3 Version: 3.7.3-1 Priority: optional Section: python Source: python3-defaults Maintainer: Matthias Klose Installed-Size: 191 kB Provides: python3-profiler Pre-Depends: python3-minimal (= 3.7.3-1) Depends: python3.7 (>= 3.7.3-1~), libpython3-stdlib (= 3.7.3-1) Suggests: python3-doc (>= 3.7.3-1), python3-tk (>= 3.7.2-1~), python3-venv (>= 3.7.3-1) Replaces: python3-minimal (

apt list phantomjs – смотрим информацию про конкретный пакет

apt search python3-pip – ищем конкретный пакет

apt search python3-pip Sorting. Done Full Text Search. Done python3-pip/trusty-updates 1.5.4-1ubuntu4 all alternative Python package installer - Python 3 version of the package python3-pipeline/trusty 0.1.3-3 all iterator pipelines for Python 3

apt-get -s install mysql-server – запускаем установку в режиме симуляции, для понимания что произойдет при установке

apt-cache policy mysql-server – смотрим текущую версию пакета и ту, на которую будет апдейт

REMOVE

sudo apt-get remove php* – удаление данных пакетов без удаления настроек
sudo apt-get purge php7.0-cli – удаление данных пакетов с удалением настроек пакетов

DPKG

DPKG, как и пакет deb – от прародителя Ubuntu – Debian. DPKG – установщик пакетов в Debian like системах. Не является пакетным менеджером т.к. не умеет скачивать пакеты, не умеет скачивать/устанавливать их зависимости. Но в связке dpkg + apt “–fix-broken” работает – т.е. устанавливаем приложение с использованием dpkg, далее “подтягиваем” недостающее с помощью –fix-broken.

apt --fix-broken -y install

dpkg -i – install. С помощью dpkg в том числе можно установить/обновить драйвера. Можно установить все из папки, используя астериск.

dpkg -i firmware-bnx2x_20161130-5_all.deb Firmware: failed to load bnx2x/bnx2x-e2-7.13.1.0.fw (-2) Direct firmware load for bnx2x/bnx2x-e2-7.13.1.0.fw failed with error -2 Error loading firmware dpkg –i *

dpkg -r – remove

dpkg -l | grep php – просмотр списка установленных приложений ubuntu.
dpkg -s atom – просмотр информации о пакете и его зависимостях.

sudo dpkg -i /home/qwiklab/downloads/atom-amd64.deb – установка .deb пакета через dpkg. Если в результате будет ошибка с указанием зависимостей – можно использовать sudo apt install -f для разрешения проблем.

Dekstop GUI -> Server SSH система

При установке “чистого” Debian 10 (рекомендую netinstall версию т.к. она lightweighed и позволяет доустановить именно то, что тредуется) нужно учитывать:

  1. отключить power management
  2. установить и включить SSH сервер
  3. настроить адресацию
  4. отключить GUI
To disable the GUI: sudo systemctl set-default multi-user.target sudo reboot To re-enable the GUI: sudo systemctl set-default graphical.target sudo reboot

5. удалить firefox, libreoffice

sudo apt-get remove --purge firefox sudo apt-get remove --purge libreoffice* sudo apt-get clean sudo apt-get autoremove
sudo systemctl stop NetworkManager sudo systemctl disable NetworkManager vi /etc/NetworkManager/NetworkManager.conf managed = false

Leave a Reply Cancel reply

You must be logged in to post a comment.

Обновление программ в Debian

Подскажите - как в Debian обновлять программы? Допустим, Firefox.

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

anonymous
22.08.08 19:17:12 MSD

Re: Обновление программ в Debian

firefox в debian нет

aptitude upgrade для обновления всех программ

aptitude install xxxx - обновить уже установленную xxxx

перед запуском aptitude надо запустить aptitude update что бы обновить список доступных версий

если устанавливал дистрибутив с CD/DVD то необходимо в файле sources.list вместо сидирома прописать интернетсы

anonymous
( 22.08.08 19:26:02 MSD )
Ответ на: Re: Обновление программ в Debian от anonymous 22.08.08 19:26:02 MSD

Re: Обновление программ в Debian

Благодарю за помощь! 🙂

anonymous
( 22.08.08 19:29:25 MSD )

Re: Обновление программ в Debian

aptitude safe-upgrade - полное обновление системы. Перед этим желательно сделать apt-get update

ZZaiatSS ★★
( 22.08.08 21:03:53 MSD )
Ответ на: Re: Обновление программ в Debian от anonymous 22.08.08 19:26:02 MSD

Re: Обновление программ в Debian

> firefox в debian нет

Да. Но есть iceweasel -- то же самое, но с другим названием.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *