Заметки для всех

Ubuntu 18.04 kernel 4.18.0-15-generic Особенности

Поскольку SecretNet LSP поддерживает только конкретные версии ядра linux, следует зафиксировать пакеты с версией ядра.

Еще одно замечание. SecretNet при установке, пользователя, от имени которого устанавливается SecretNet делает администратором SecretNet. Поэтому, для администрирования лучше использовать специального пользователя (чтоб не заморачиваться с разрешением работы от root), допустим sysuser. А уже после настроек создать с помощью SecretNet пользователя user с несколько ограниченными правами

Замечание: Примеры ниже сделаны в среде Ubuntu MATE 18.04.2. На момент написания статьи образ доступен тут: https://releases.ubuntu-mate.org/archived/18.04/
Я использовал образ с наименованием: ubuntu-mate-18.04.2-desktop-amd64.iso

Если желаете использовать стандартный образ Ubunu - его можно взять тут: http://old-releases.ubuntu.com/releases/bionic/
наименование образа: ubuntu-18.04.2-desktop-amd64.iso

Для kubuntu необходимой версии я уже не нашел. На сайте Kubuntu имеется ссылка для скачивания только версии 18.04.05
https://cdimage.ubuntu.com/kubuntu/releases/18.04/release/kubuntu-18.04.5-desktop-amd64.iso
Там версия ядра уже 5.4
Чтобы "понизить" версию ядра сначала надо будет установить нужную версию. Зафиксировать ее от обновления. Затем в несколько приемов удалить не поддерживаемые версии, чтобы по умолчанию загружалась именно нужная.

Теперь о совместимости версий SecretNet с дистрибутивами.
На стандартный образ 18.04.02 Ubuntu и Ubuntu MATE ставятся версии SecretNet 1.9, 1.10 1) Замечание в Ubuntu MATE наблюдались проблемы при блокировке экрана. После блокировки невозможно было вернуться в сеанс

На Kubuntu 18.04.05 после понижения версии ядра до версии linux-image-4.18.0-15-generic удалось нормально установить только SecretNet 1.9 2) версия 1.10 в конце установки на Kubuntu завершались с ошибкой, после которой система становилась неработоспособной. Отключалась возможность ввести пароль при входе
PS: Проблемы установки версии 1.10 (версия пакетов 1.10.655) были исправлены в версии 1.10.1 (версия пакетов 1.10.660)
В версии 1.10.1 была добавлена поддержка еще одной версии убунту, но я её не пробовал (версия пакетов 1.10.680 для Ubuntu 18.04.3 LTS с версией ядра 4.15.0-55-generic)

Чтобы ядро не обновилось при установке, нужно ставить систему без подключения к internet. После установки, первым делом зайти в настройки обновлений (в стандартном Ubuntu и Ubuntu-Mate для этого служит приложение software-properties-gtk, в Kubuntu - software-properties-kde) и отключить автообновления. То есть, если использовать командную строку, в Ubuntu или Ubuntu-Mate набираем команду:

sudo software-properties-gtk

Для Kubuntu, соответственно:

sudo software-properties-kde

Только потом подключать интернет и донастраивать систему

Зафиксировать от обновления командой sudo apt-mark hold нужные пакеты. Для этого в консоли даем команду sudo -s затем запускаем

bash ./lockapt.sh

Замечание, блокировка сделана для дистрибутива 18.04.02
Для более поздних дистрибутивов, пакеты, содержащие в названии hwe уже могут ссылаться на другие версии ядра. В этом случае, надо исключить пакеты с hwe в имени из блокировки.

apt-mark hold linux-generic-hwe-18.04 apt-mark hold linux-signed-generic-hwe-18.04 apt-mark hold linux-image-generic-hwe-18.04 apt-mark hold linux-headers-generic-hwe-18.04 apt-mark hold linux-headers-4.18.0-15 apt-mark hold linux-headers-4.18.0-15-generic apt-mark hold linux-image-4.18.0-15-generic apt-mark hold linux-modules-4.18.0-15-generic apt-mark hold linux-modules-extra-4.18.0-15-generic

Проверить состояние пакетов можно командой apt-mark showhold

Если предпочитаете использовать утилиту dpkg, для нее с аналогичным эффектом можно применить следующие команды:

echo "linux-generic-hwe-18.04 hold" | sudo dpkg --set-selections echo "linux-headers-4.18.0-15 hold" | sudo dpkg --set-selections echo "linux-headers-4.18.0-15-generic hold" | sudo dpkg --set-selections echo "linux-headers-generic-hwe-18.04 hold" | sudo dpkg --set-selections echo "linux-image-4.18.0-15-generic hold" | sudo dpkg --set-selections echo "linux-image-generic-hwe-18.04 hold" | sudo dpkg --set-selections echo "linux-modules-4.18.0-15-generic hold" | sudo dpkg --set-selections echo "linux-modules-extra-4.18.0-15-generic hold" | sudo dpkg --set-selections echo "linux-signed-generic-hwe-18.04 hold" | sudo dpkg --set-selections

Проверить результат можно командой dpkg –get-selections | grep hold

—

Для Kubuntu не нужно фиксировать версии, содержащие в наименовании hwe, потому-что они уже ссылаются на пятую версию ядра.

Только прежде чем блокировать обновление, следует установить эти пакеты!

sudo apt install linux-headers-4.18.0-15 linux-headers-4.18.0-15-generic linux-image-4.18.0-15-generic linux-modules-4.18.0-15-generic linux-modules-extra-4.18.0-15-generic

Потом используем такой файл блокировки от обновления:

apt-mark hold linux-headers-4.18.0-15 apt-mark hold linux-headers-4.18.0-15-generic apt-mark hold linux-image-4.18.0-15-generic apt-mark hold linux-modules-4.18.0-15-generic apt-mark hold linux-modules-extra-4.18.0-15-generic

После того, как поставили в Kubuntu нужную версию ядра, следует перезагрузится и при загрузке, выбрать эту версию. Чтобы удобнее было это сделать, немного модифицируем начальный загрузчик. Для этого открываем в редакторе файл /etc/default/grub Можно использовать любой удобный для Вас редактор. Если хотим использовать стандартный редактор для KDE - kate, то для редактирования системных файлов, следует использовать такую последовательность (в командной строке)

SUDO_EDITOR=kate sudoedit /etc/default/grub

в этом файле комментируем строку GRUB_TIMEOUT_STYLE=hidden то есть она будет выглядеть так

#GRUB_TIMEOUT_STYLE=hidden

и увеличиваем немного время задержки, чтобы дать пользователю выбрать нужный пункт загрузчика, меняя в следующей строке GRUB_TIMEOUT=0 0 на 5

GRUB_TIMEOUT=5

То есть перед загрузкой будет задержка 5 секунд, для выбора нужного действия. Сохраняем отредактированный файл. Затем, для применения изменений даем команду:

sudo update-grub

После чего перезагружаем систему и при загрузке выбираем пункт

Advanced options for Ubuntu

и в открывшемся подменю, выбираем строку с версией ядра 4.18.0-15-generic

Ubuntu, with Linux 4.18.0-15-generic

Загрузившись в рабочее окружение следует удалить все "неподходящие" версии ядра. Я не нашел разовой команды, которая сразу бы это сделала. Дело в том, что при удалении ядра версии 5.4.0.-42 система во время его удаления, устанавливает неподписанную версию ядра, которую опять надо удалять. Чтобы не "париться" я использовал менеджер пакетов synaptic (привык я к нему).

Поэтому доустанавливаем пакеты:

sudo apt update
sudo apt install mc synaptic apt-xapian-index

Внимательно. Пакет apt-xapian-index служит для работы строки поиска в synaptic Сразу после установки - это окно поиска не включается, нужно разок запустить synaptic и закрыть его, чтобы службы xapian запустились.

Замечание:
Пакеты, отмеченные для удержания с помощью apt-mark hold или dpkg –set-selection в synaptic не видны как фиксированные, их, для synaptic, надо зафиксировать вручную (выделяем пакеты для фиксирования и через пункт меню: Пакет → Заблокировать версию - блокируем).

С помощью synaptic удаляем все версии ядра и модулей, которые не 4.18.0-15-generic

PS: Вероятно, удаление можно сделать и с помощью модуля управления пакетами Muon… Поставить фильтр по статусу, выбрать установленные, а в поиске указать linux-image и выбрать ненужные пакеты для удаления и так до тех пор, пока останется только нужная версия ядра. То-же самое сделать для linux-modules, linux-modules-extra и linux-headers. Но у меня этот модуль почему-то вываливался с непонятными ошибками

Для того, чтобы могли компилироваться всяческие модули (пригодится в последующем), я установил пакет dkms

sudo apt-get install dkms

это метапакет, который устанавливает необходимое ПО для компиляции модулей ядра

Ставим поддержку ssh для возможности подключения к станции

sudo apt-get install ssh