Меню Рубрики

Установка плагинов ubuntu server

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

Linux — начинающим. Часть 2. Установка Ubuntu Server

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

Так как основной системой для наших решений является Ubuntu Server, то ставить мы будем именно ее. Свежий релиз всегда можно получить со страницы: http://www.ubuntu.com/download/server. Мы настоятельно рекомендуем использовать только LTS-версии, как наиболее стабильные и имеющие продолжительный срок поддержки. Обычные версии, как правило, являются полигоном для обкатки новых технологий и могут работать нестабильно, не говоря уже о том, что срок поддержки в 9 месяцев абсолютно неприемлем для работающих серверных систем.

Первое что вы увидите, загрузившись с установочного носителя — это меню выбора языка:

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

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

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

И выбрать необходимую раскладку из списка, в большинстве случаев достаточно согласиться с выбором системы:

Затем следует указать комбинацию клавиш для ее переключения. Мы категорически не рекомендуем, если только это не ваша личная система, указывать что-либо иное, нежели принятое по умолчанию Alt+Shift. Потому как крайне неприятно, оказавшись в незнакомой системе, угадывать, какую именно комбинацию выбрал устанавливавший ее администратор.

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

Если по каким-либо причинам автоматически получить сетевые настройки не удастся, вы можете указать их вручную или пропустить данный этап. Мы, исключительно с образовательной целью, выберем пункт Пропустить пока настройку сети.

После этого потребуется указать имя системы и имя пользователя. Следует помнить, что в Ubuntu учетная запись root отключена и созданный на этом этапе пользователь получает полномочия повышать свои права до суперпользователя при помощи команды sudo. Подробнее смотрите в нашей статье: Ubuntu Server — административные права пользователей. Также не забывайте, что Linuх — регистрозависимая система, поэтому правилом хорошего тона будет использование, в том числе и в именах пользователей, только нижнего регистра.

От предложения зашифровать домашний каталог также следует отказаться.

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

В российских реалиях может произойти так, что дистрибутив был выпущен раньше, чем были произведены изменения временных зон, и актуального пояса в списке нет, что мы и видим на рисунке выше. В этом случае следует выбрать тот пояс, который был до перевода часов и уже после установки и обновления системы воспользоваться рекомендациями из нашей статьи: Перевод часов в РФ 26 октября 2014 года — проблемы и решения.

После настройки времени мы переходим к наиболее ответственному этапу — настройке диска. Система предлагает несколько вариантов, среди которых автоматическая разметка. В большинстве случаев мы выбираем именно этот пункт. Если говорить о единственном диске, то мы не видим смысла разбивать его на разделы, за исключением настольных систем, где на отдельный раздел стоит вынести /home.

В нагруженных системах имеет смысл выносить разделы с данными, например, /var/www или /opt/zimbra, на отдельные дисковые массивы. Если вы хотите установить систему на программный RAID, то обратитесь к статье: Ubuntu Server. Настраиваем программный RAID. В остальных случаях смело выбирайте автоматическую разметку без LVM, в этом случае на диске будет создан раздел подкачки (swap) размером в единицы ГБ и корневой раздел на остальном пространстве.

Еще один важный вопрос — установка обновлений. С одной стороны, обновления позволяют своевременно закрывать уязвимости и поддерживать систему в актуальном состоянии, с другой, неконтролируемое обновление вполне способно привести к серьезным сбоям. Как поступить — выбирать вам. Мы предпочитаем на ответственных системах устанавливать обновления вручную, после их тестирования на специально выделенной системе, но если вы настраиваете роутер, то обновления можно включить.

Установив основу системы, инсталлятор предложит вам выбрать наборы ПО для установки. Можно выбрать на этом этапе необходимые роли и получить готовую к настройке систему. Разве это плохо, особенно для начинающего администратора? Плохо! И вот почему: при таком подходе система остается для администратора «черным ящиком», нет представления о назначении отдельных пакетов, их роли и влиянии на систему в целом. Поэтому мы рекомендуем отказаться от предлагаемых вариантов и устанавливать требуемые пакеты вручную. Это поможет вам глубже понять систему и взаимодействие между ее компонентами. А когда вы станете чувствовать себя в среде Linux как рыба в воде, вы сами решите нужно ли вам устанавливать софт автоматически.

Поэтому не выбираем ничего и (нажав Tab) переходим к пункту Продолжить.

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

В завершение этого процесса инсталлятор предложит вам установить загрузчик, с этим предложением стоит согласиться, если только вы не планируете систему с какой-либо «хитрой» системой загрузки:

Читайте также:  Установки в биос загрузки с двд

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

Итак, первый вход в систему, мы бы не стали об этом писать, если бы не читательский отклик, который показал, что на этом моменте у многих возникали затруднения. Так вот, в Linux-системах процесс ввода пароля никак визуально не отображается, вам просто нужно набрать нужную комбинацию символов и нажать Enter, хотя внешне система ведет себя так, как будто ничего не происходит. Такое поведение унаследовано от UNIX-систем и преследует цели безопасности, чтобы злоумышленник не мог узнать длину вашего пароля.

После того, как вы вошли в систему, в первую очередь стоит настроить сеть. Как помните, мы не производили никаких настроек на стадии установки, поэтому возможности установить дополнительные пакеты у нас нет и следует выходить из положения тем, что есть в наличии. По умолчании в системе имеется текстовый редактор nano, он не столь удобен, как встроенный редактор mc, но нужно уметь им пользоваться, как раз на случай таких ситуаций.

Прежде всего повысим свои права до суперпользователя:

И откроем редактором конфигурационный файл с настройками сети:

И приведем его содержимое к следующему виду:

Первая секция auto lo задает настройки для петлевого интерфейса и уже присутствует в файле. Вторая секция задает настройки внешнего сетевого интерфейса eth0 для работы со статическим адресом. Опции понятны и отдельных разъяснений не требуют, адреса, естественно, взяты исключительно для примера. Если в вашем сервере несколько сетевых адаптеров, то следует прописать секцию для каждого из них.

Допустим мы хотим получать настройки второго сетевого адаптера eth1 по DHCP, для этого добавим секцию:

Немного остановимся на опциях auto и auto-hotplug. Первая указывает инициировать подключение при загрузке, а вторая запускает механизм отслеживания горячего переподключения и инициировать получение адреса при наступлении данного события.

Закончив редактировать файл следует выйти из редактора по Ctrl + X, утвердительно (Y) ответив на предложение записать файл.

После чего перезагрузите компьютер:

Если все сделано правильно, то система получит доступ к сети и интернет. Проверить это можно командой ping:

Прервать выполнение команды следует комбинацией Ctrl + С, запомните эту комбинацию, она еще не раз вам пригодится.

Просмотреть настройки сетевых интерфейсов можно командой

Этой же командой можно выяснить, какие именно сетевые карты видит система и под какими именами, для этого воспользуйтесь параметром HWaddr, который представляет MAC-адрес сетевой платы.

Перед тем, как приступить к дальнейшей настройке, систему следует обновить, для этого снова повысим права до суперпользователя и обновим список пакетов командой:

Затем обновим систему командой:

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

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

После перезагрузки установим инструменты администрирования: пакет ssh для удаленного доступа к серверу и файловый менеджер mc, который значительно упрощает работу с системой.

Для запуска mc используйте простую команду:

если хотите запустить его с правами суперпользователя.

Работа с ним довольно проста, те кто работал в DOS с менеджерами Norton Commander или Volkov Commander вообще не должны испытывать затруднений.

Навигация осуществляется стрелками, переход между панелями клавишей Tab, а выделение клавишей Insert. Основные действия указаны внизу, цифры рядом с ними обозначают номер функциональной клавиши, отвечающей за это действие, так, например, F4 — Правка, F8 — Удаление, F10 — Выход. Вы всегда можете свернуть, а затем развернуть, mc сочетанием клавиш Ctrl + O и получить доступ к консоли.

Также советуем сразу произвести некоторые настройки, нажимаем F9 для переключения на верхнее меню, выбираем Настройки — Конфигурация.

В открывшемся окне стрелками перейдите на опцию Встроенный редактор и выберите ее при помощи клавиши Пробел. Для подтверждения настроек и выхода нажмите Далее.

Это позволит сразу использовать для редактирования конфигурационных файлов более удобный чем nano встроенный редактор.

В заключение проверим возможность удаленного подключения, для этого будем использовать популярную утилиту PuTTY (скачать). В последней версии просто достаточно указать IP-адрес или доменное имя сервера:

Однако, на всякий случай, проверьте в Window — Translation кодировку соединения, там должно быть указано UTF-8.

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

источник

Настройка Ubuntu Server после установки

Ubuntu Server — это дистрибутив Linux для установки на серверы. Он не содержит графической оболочки, по умолчанию доступны только консольные утилиты. После завершения установки вы получаете голую систему Ubuntu и прежде чем она станет способна выполнять свои функции сервера, вам предстоит потратить еще немного времени на ее настройку.

В этой статье мы разберем как выполняется настройка Ubuntu Server 18.04 после установки, рассмотрим настройку пользователей, SSH, а также настройку брандмауэра.

Настройка Ubuntu Server 18.04 после установки

Начнем с обновления системы. Я предполагаю, что сеть у вас уже настроена автоматически. Если это не так, то воспользуйтесь статьей про настройку сети с помощью Netplan.

1. Обновление системы

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

sudo apt update
sudo apt list —upgradable
sudo apt upgrade

Чем больше времени прошло с момента релиза установочного образа Ubuntu Server, тем больше времени займет обновление системы, но это необходимая операция. После обновления перезагрузите систему:

2. Настройка SSH

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

Сначала необходимо сменить порт SSH на удаленном сервере, иначе рано или поздно кто-то попытается его перебрать. Откройте файл /etc/ssh/sshd.conf, найдите строчку Port 22 и измените значение порта на другое число, например, на 2323:

sudo vi /etc/ssh/sshd_config

Для запуска службы SSH и добавления ее в автозагрузку выполните:

Читайте также:  Установка корректора фар тойота камри

sudo systemctl start sshd
sudo systemctl enable sshd

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

Программа спросит вас путь, куда нужно сохранить ключ, не оставляйте по умолчанию, используйте например,

/.ssh/id_rsa_ubuntu. Затем утилита предложит ввести пароль для ключа. Если вы не хотите вводить этот пароль каждый раз при входе по SSH, то его задавать не нужно. Но в целях безопасности очень не рекомендуется использовать ключи без паролей.

Затем отправьте только что созданный ключ на свой сервер:

Теперь вы сможете авторизоваться на этом сервере без ввода пароля:

Дальнейшую настройку сервера можно проводить через SSH.

3. Настройка брандмауэра ufw

Сервер будет находиться в сети, а поэтому к нему будет иметь доступ множество пользователей. Необходимо спрятать все запущенные на сервере службы с помощью брандмауэра и оставить только разрешенные. В Ubuntu для управления брандмауэром используется надстройка над iptables — ufw.

По умолчанию, после запуска брандмауэр закрывает доступ ко всем не разрешенным службам извне. Мы сейчас работаем на сервере по SSH, поэтому нужно разрешить эту службу:

Если вы изменили стандартный порт SSH на втором шаге, необходимо разрешать именно тот порт, который вы указали:

Затем выполните такую команду для включения ufw:

Далее нужно нажать y для подтверждения. Брандмауэр будет запущен и добавлен в автозагрузку. Вы можете посмотреть его состояние командой:

4. Настройка времени

Установщик не предлагает вам выбрать часовой пояс и по умолчанию остается UTC. Таким образом, вы получаете время по Гринвичу. Вы можете проверить какое время показывает ваш сервер с помощью команды:

Чтобы это изменить нужно добавить свой часовой пояс. Посмотреть доступные часовые пояса можно командой:

А для выбора нужного выполните:

sudo timedatectl set-timezone Europe/Kiev

Также желательно настроить NTP сервер, чтобы время автоматически синхронизировалось с серверами в интернете. Для установки NTP выполните:

А затем добавьте его в автозагрузку:

sudo systemctl enable ntp

5. Разблокировка пользователя root

В Ubuntu по умолчанию пароль для суперпользователя не задан, поэтому войти от его имени вы не сможете. Если вы хотите иметь возможность логиниться в системе от суперпользователя, или он нужен для системы управления конфигурацией то вы можете задать для него пароль:

И введите новый пароль. Затем вы сможете авторизоваться от имени этого пользователя.

Выводы

В этой статье мы разобрали как выполняется настройка Ubuntu Server после установки. Мы сделали только основные шаги, и для того чтобы эта система переварилась в полноценный веб-сервер, сервер баз данных или приложений нужно установить еще много программ. Но обо всем этом уже есть отдельные статьи на Losst.

Оцените статью:

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux интересуюсь всем, что связано с информационными технологиями и современной наукой.

25 комментариев

Я не понял, самого главного, зачем это? Админ который не может настроить время не админ, про фаервол я промолчу, а это мы еще ничего не настраивали. Для чего статья?

Видимо для начинающих — их большинство, но с сервером познакомиться полезно. Применительно к домашнему использованию, а в частности поднятию NAS, была-бы интересна статься с настройкой в ubuntu server: raid 5, dlna, samba и мониторинг дисков SMART. Всякие настройки веб-сервера и почтового сервера не интересны, ввиду того , что общедоступными и бесплатными пользоваться намного удобнее.

Меня это тоже улыбает, но дело в том, что не у всех есть стабильное интернет-подключение, поэтому нужна реконфигурация ntp-service, фаерволл — для проброса порта, а openssh — для удаленного доступа из терминала с прописью соответствующих конфига и порта. Насчет команды активации root-account’s я тоже посмеялся — но это дело привычки. а в остальном все верно. так обычно настраивается сервер с залоченным извне доступа в интрасеть.

Для запуска службы SSH и добавления ее в автозагрузку выполните

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

выполните команду для генерации ключа

не следует пренебрегать типом ключа, потому что ваша команда создаст тот ключ, который идёт в дефолте, скорей всего это будет RSA. текущая тенденция показывает, что ключи ed25519 выгодней, удобней и надёжней. но это IMHO.

Пароль для ключа задавать не нужно.

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

Теперь вы сможете авторизоваться на этом сервере без ввода пароля

настройкой демона sshd автор статьи видимо пренебрегает. после настройки подключения по ключу очень рекомендуется поменять порт, отключить возможность входить по паролю. ну и вижу в конце статьи автор советует настроить пароль root — сосем не знает и не умеет пользоваться Linux. жуть какая. на демоне sshd вход root желательно тоже отключать. но про рута ниже поругаюсь.

очень рекомендуется кроме часового пояса настраивать ещё и службу ntp.

В Ubuntu по умолчанию суперпользователь отключен.

чушь. в Ubuntu по умолчанию у root не задан пароль, и как следствие отсутствует возможность залогиниться. но первый настроенный в программе установки пользователь автоматически является sudoer-ом. читайте man sudo по поводу опции -s и не ломайте Ubuntu назначением пароля root-у. мало того, что SSH у вас настроен с дырами, вы ещё одну дыру открываете. зайдите в терминал, и вбейте последовательно две команды:

sudo -s
whoami

и поймёте, что пароль root на сервере не нужен, есть sudoer.

сервер у вас получился дырявый. но это полбеды. беда в том, что все новички, которые будут учиться по вашей статье, будут впоследствии иметь большие проблемы.

ну и последнее, что хотелось бы отметить. Ubuntu-server не подходит новичкам. если хочется научиться поднимать сервер, лучше всего подойдёт mini.iso — он позволяет поднять базовый сервер и настроить SSH, разница в действиях с Debian будет минимальной. но после настройки базового сервера начинается всё самое интересное. поэтому учиться следует на эмуляторах компьютеров, там можно всё сломать без возможных осложнений. а на боевой сервер следует идти, когда все действия понятны, отработаны и спланированы.

Читайте также:  Установка bodyslide and outfit studio

в общем так как-то. ссылки на статьи дал. не просто голословно выругал. если администратор ссылки удалит — на его совести.

Я понимаю, что вы очень-очень хотите прорекламировать здесь свой проект, но нет, ничего не выйдет. Это так не работает. Никаких ссылок на тот сайт здесь не будет. Теперь по замечаниям:

— SSH запущен — полностью правы. Сначала написал, потом проверил и уже не хотел удалять. Пусть будет на всякий случай.
— Пароль для ключа задавать не нужно — если мы делаем это для безопасности, пароль задавать нужно, но если мы хотим авторизоваться без ввода пароля — пароль задавать не нужно, уточню в статье.
— В Ubuntu по умолчанию суперпользователь отключен — отключен/не задан пароль. залогиниться то одинаково нельзя. Мне тоже не нравиться этот пункт потому что это не безопасно и новичкам лучше привыкать использовать sudo. Но это уже дело удобства за счет снижения безопасности.
— очень рекомендуется поменять порт — да, действительно, забыл добавить, на стандартном порту сразу же начинается перебор пароля. А вот вход по паролю для новичков лучше оставить. Ключ потеряется или не будет его под рукой в нужный момент и все. Достаточно поменять порт и смотреть время от времени все ли нормально.
— очень рекомендуется кроме часового пояса настраивать ещё и службу ntp — да, нужно добавить.

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

в Ubuntu root есть, и он активен всегда, но залогиниться рутом нет возможности. рутом можно стать только sudo -s. на снимке экрана, который вы тоже забанил, я вам это показал.

пароль для ключа задаётся для того, чтобы злоумышленник стыривший ваш ключ с клиентской машины не смог зайти на ваш сервер. если ключ будет запаролен, злоумышленник стыривший ваш ключ обломается при попытке подключиться. заблудился сам, и помогаешь заблудиться другим? ню-ню.

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

всё больше не спорю. плавайте.

«вход по паролю на сервер закрывать нужно обязательно. — это реальная дыра. при потере ключа»
«очень рекомендуется поменять порт»
Мы строим домашний сервер 😀 он за NAT-ом роутера или провайдера, ему даже файервол не нужен, впрочем, как и смена портов 🙂

И к Вам вопрос: смысл юзать брандмауэр ufw или иной брандмауэр, если средств iptables вполне достаточно? Чтоб GUI с картинками был? Или это для тех, кому лень man iptables читать?

Мужик, ты мне не нравишься. очень! Если мне что то не понятно — я перерываю кучу инфы, просматриваю кучу роликов, спрашиваю на форумах и нахожу правильное решение. Это нормальная реакция на все новое. А читать твои комментарии изложенные в пренебрежительно-презрительном тоне мне как то не айс.

ссылки на статьи дал. не просто голословно выругал. если администратор ссылки удалит — на его совести.
Пожалуй, и я умываю руки: не есть хорошо использовать чужой труд не ссылаясь на него (это я про ваш труд). а все дальнейшие статьи на losst, полетели от вашей ссылки, если не ошибаюсь, ибо мог найти неверное соответствие. но, благодаря здешнему владельцу/админу — сравнить не могу, так что, пока, Вы правы: если администратор ссылки удалит — на его совести.

Где я использую чужой труд и что и куда полетело?

Зачем автора так раскатывать? У меня домашний nas файлопомойка + посмотреть кино на плексе, углубляться в настройки фаера и даже ключей ssh для себя смысла не вижу. Для новичков статья будет интересной, каждый когда чему то учится делает свои ошибки. У меня одна только проблема скорость на linux раза в 3 ниже скорости под windows, мат. плата имеет 2 гигабинтных сетевых карт, в любой из них низкая скорость(( Может кто то подскажет как быть

Включите ручками:
sudo ethtool -s имя_сетевого_интерфейса speed 1000 duplex full autoneg on
+ перезагрузить или передёрнуть кабель

Добрый день!
А не подскажите, как можно оптимизировать Ubuntu Server? У Вас уже ранее рассматривалась оптимизация, но там в основном шла речь о GUIне. Здесь же всего этого нет, однако, можно, например, отключить pti в grub или дополнительно настроить кэширование. Возможно отключить какие-нибудь фоновые процессы, хотя их и так по минимуму по умолчанию, также попробовать поиграть с параметром vfs_cache_pressure и т.д. В основном меня интересует ускорение доступа к куче и запись в файл на SSD. Хотелось бы знать, как настройкой ОС можно ускорить работу своего приложения.

Тут, собственно, всё зависит от машины, на которой этот самый сервер установлен: физическая, виртуальная, размер RAM, про SSD уже понял.
Если в общих чертах, ибо это потянет на целую статью:
_всё, по-максимуму, в RAM (tmpfs никто не отменял)
_TRIM для SSD (не знаю, может в Ubuntu он и по умолчанию включен, но во FreeBSD и в Debian — точно нет)
_»поиграться» размерами кешей — настройки ядра под те или иные надобности: файловый сервер — это одно, а DNS-сервер — это другое
_возможно SWAP в zRAM заюзать вместо или впридачу к SWAP на SSD (от размера RAM зависит)

источник