Оптимизация и тонкая настройка

Как уменьшить потребление оперативной памяти средой рабочего стола GNOME 3?

Отключим службу автоматической регистрации ошибок и удалим GUI апплет, уведомляющий об их возникновении:

sudo dnf remove abrt

Удалим Магазин приложений (графический менеджер пакетов):

sudo dnf remove PackageKit gnome-software

Отключим службу управления виртуализацией (если на установленной системе не предполагается использовать виртуальные машины):

sudo systemctl disable libvirtd

Отключим службы Evolution, необходимые для синхронизации онлайн аккаунтов:

systemctl --user mask evolution-addressbook-factory evolution-calendar-factory evolution-source-registry

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

systemctl --user mask tracker-miner-apps tracker-miner-fs tracker-store

Как уменьшить потребление оперативной памяти средой рабочего стола KDE?

Отключим службу индексации файлов. Для этого зайдём в Параметры системы - Поиск, снимем флажок из чекбокса Включить службы поиска файлов и нажмём Применить. Теперь удалим Akonadi:

sudo dnf remove akonadi

Удалим устаревшие библиотеки Qt4 и службу автоматической регистрации ошибок ABRT:

sudo dnf remove qt abrt

Удалим Магазин приложений (графический менеджер пакетов):

sudo dnf remove PackageKit plasma-discover dnfdragora

Удалим runtime библиотеки для экономии ОЗУ (при этом по зависимостям будут удалены некоторые приложения, например KMail и KOrganizer):

sudo dnf remove kdepim-runtime-libs

Удалим KDE Connect (если не планируется управлять смартфоном с компьютера и наоборот):

sudo dnf remove kde-connect kdeconnectd

Опционально удалим библиотеки GTK2 (в то же время от них до сих пор зависят многие популярные приложения, например Firefox, Gimp, GParted):

sudo dnf remove gtk2

Как максимально очистить KDE от неиспользуемых программ?

  1. Произведём стандартную очистку по описанному выше сценарию.
  2. Удалим оставшиеся редко используемые пакеты:
sudo dnf remove krdc dragon kontact ktorrent kget konversation konqueror falkon kmail krusader krfb akregator juk kamoso k3b calligra\* kfind kgpg kmouth kmag

Как решить проблему с отсутствием библиотеки libcurl-gnutls.so.4?

См. здесь.

Как задействовать планировщик ввода/вывода BFQ для HDD?

BFQ - это планировщик ввода-вывода (I/O), предназначенный для повышения отзывчивости пользовательского окружения при значительных нагрузках на дисковую подсистему.

Для его активации произведём редактирование файла шаблонов GRUB:

sudoedit /etc/default/grub

В конец строки GRUB_CMDLINE_LINUX= добавим scsi_mod.use_blk_mq=1, после чего сгенерируем новую конфигурацию GRUB.

Создадим новое правило udev для принудительной активации BFQ для любых жёстких дисков:

sudo bash -c "echo 'ACTION==\"add|change\", KERNEL==\"sd[a-z]\", ATTR{queue/rotational}==\"1\", ATTR{queue/scheduler}=\"bfq\"' >> /etc/udev/rules.d/60-ioschedulers.rules"

Применим изменения в политиках udev:

sudo udevadm control --reload

Выполним перезагрузку системы:

sudo systemctl reboot

Чем можно запустить SWF файл без установки Flash плагина в браузер?

SWF файл - это исполняемый файл формата Adobe Flash. Для того, чтобы проиграть его без установки соответствующего плагина в браузер, можно загрузить специальную версию Flash Projector (ранее назывался Standalone).

Скачаем Projector:

wget https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux.x86_64.tar.gz -O fpsa.tar.gz

Создадим новый каталог и распакуем архив в него:

mkdir -p ~/foo-bar
tar -xzf fpsa.tar.gz -C ~/foo-bar

Запустим проигрыватель:

~/foo-bar/flashplayer

В открывшемся окне нажмём Файл - Открыть (или комбинацию Ctrl + O) и найдём SWF файл на диске.

По окончании использования удалим каталог с программой:

rm -rf ~/foo-bar

Внимание! Запускать SWF файлы следует с особой осторожностью, т.к. плеер выполняется без какой-либо изоляции и имеет полный доступ к домашнему каталогу пользователя.

Можно ли удалить Python 2 из системы?

Да. Поскольку поддержка Python версии 2 прекратится 01.01.2020, его уже не рекомендуется использовать. Вместо него следует применять Python 3. Большая часть активных проектов и библиотек уже давно была портирована на эту версию.

Возможность полностью избавиться от Python 2 появилась у пользователей Fedora 30 и выше. От данной версии интерпретатора более не зависят важные компоненты и его можно смело удалить:

sudo dnf remove python2

Это действие автоматически удалит и все его зависимости.

Как запретить возможность исполнения любых файлов из домашнего каталога?

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

Откроем файл /etc/fstab в текстовом редакторе:

sudoedit /etc/fstab

Добавим в опции монтирования домашнего каталога флаги noexec,nodev,nosuid после defaults.

Пример итоговой строки после внесения изменений:

UUID=XXXXXXXXXX /home ext4 defaults,noexec,nodev,nosuid 1 2

Здесь XXXXXXXXXX - UUID раздела, а ext4 - используемая файловая система.

Следует помнить, что это действие не повлияет на запуск различных скриптов интерпретаторами, т.е. запуск ./foo-bar с установленным битом исполнения будет запрещён, но в то же время bash foo-bar выполнится в штатном режиме.

Как установить шрифты Microsoft в Fedora?

См. здесь.

После обновления дистрибутива с 29 версии до 30 не могу загрузить систему. Как исправить?

Некоторые пользователи, до сих пор использующие Legacy загрузку (BIOS), после обновления с Fedora 29 до 30 не могут запустить систему из-за ошибок, связанных с загрузчиком Grub 2.

Это известная проблема. Для её решения осуществим следующую последовательность:

  1. после появления ошибки Grub 2 и перехода в emergency режим, выполним команду:
configfile /grub2/grub.cfg.rpmsave
  1. после успешной загрузки, произведём переустановку Grub 2 в MBR диска:
sudo grub2-install /dev/sda

Здесь /dev/sda - дисковое устройство, на котором установлена Fedora.

При попытке обновления появляется ошибка zchunk checksum error. Как исправить?

Это известная проблема. В качестве временного решения запретим использование zchunk в dnf.

Откроем главный конфигурационный файл dnf:

sudoedit /etc/dnf/dnf.conf

Добавим в самый конец следующую строку:

zchunk=False

Сохраним изменения в файле и повторим попытку обновления. На этот раз она должна пройти без ошибок.

При загрузке режима восстановления появляется ошибка root account is locked. Как исправить?

Ошибка Cannot open access to console, the root account is locked появляется при запуске системы в режиме восстановления в том случае если при установке Fedora был создан пользователь-администратор и не был задан пароль для учётной записи суперпользователя.

Таким образом, при недоступности раздела /home, войти в систему в emergency режиме не представляется возможным, т.к. отсутствуют пользователи с доступными профилями (суперпользователь заблокирован, а обычные пользовательские учётные записи отключены из-за отсутствия доступа к их домашним каталогам).

Решим данную проблему посредством загрузки с Fedora LiveUSB, выполнением chroot в установленную систему и установкой пароля для root:

passwd root

Завершим работу chroot окружения:

logout

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

При попытке обновления появляется ошибка, связанная с Red Hat Subscription Managment. Как исправить?

Пользователи, установшие систему со свежих образов Fedora 30, при попытке установки обновлений стали замечать ошибку с текстом This system is not registered to Red Hat Subscription Managment. You can use subscription-manager to register.

Это известная проблема, из-за которой пакет subscription-manager, предназначенный для Red Hat Enterprise Linux, ошибочно включался в состав ISO образов Fedora.

Режим данную проблему посредством удаления данного пакета:

sudo dnf remove subscription-manager

Теперь ошибки при работе пакетного менеджера будут полностью устранены.

Как изменить размер пула сжатия памяти?

По умолчанию модуль сжатия памяти zram создаёт пул, равный половине объёма имеющейся оперативной памяти.

Увеличивать размер пула выше стандартного значения категорически не рекомендуется, т.к. это может приводить к зависаниям системы.

Если всё-таки хочется внести поправки, откроем файл /etc/zram.conf в текстовом редакторе:

sudoedit /etc/zram.conf

Внесём изменения в переменную FACTOR, явно указав нужное значение:

FACTOR=2

Формула расчёта: 1 / FACTOR. Значение 2 - выделение под пул 50% (выбор по умолчанию) от оперативной памяти, 4 - 25%, 1 - 100% соответственно (не рекомендуется).

Изменения вступят в силу при следующей загрузке системы.