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)
На Kubuntu 18.04.05 после понижения версии ядра до версии linux-image-4.18.0-15-generic удалось нормально установить только SecretNet 1.9 2)
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 в имени из блокировки.
- lockpack.sh
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, для нее с аналогичным эффектом можно применить следующие команды:
- lockdpkg.sh
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
Потом используем такой файл блокировки от обновления:
- klockpack.sh
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