Меню Рубрики

Linux mint hibernate sudo sed

Linux Mint Forums

Welcome to the Linux Mint forums!

How to enable hibernation with swap partition on Linux Mint 19

How to enable hibernation with swap partition on Linux Mint 19

Post by goebbe » Fri Jul 13, 2018 9:21 am

Hello,
this howto should help you to set up working hibernation with a swap partition on a fresh install of LM19.
For a guide on howto use a swap file, see viewtopic.php?f=42&t=284100.

Short background:
a. Hibernation basically writes the content of your memory into the swap space of your computer — when you start your computer, after hibernation, it should load/ read the content of the swap partition in order to resume.
b. There are two different methods to set up a swap-space on your disk. First: The use of a separate swap partition (set up when formatting your disk during install). Second, the use of a swap file (this is the new default).
c. Hibernation is known to cause problems on some computers. Be sure that you know howto boot and restore your system, before you enable hibernation. It is probably a good idea to have a working usb-stick with Linux Mint 19 around.

There may be different reasons, why some users use a separate swap partition. One reason could be that you want to use btrfs as a file system (and swap-files on btrfs is a new/experimental feature, that requires a linux kernel 5.0 or newer).
This howto should guide you, when setting up hibernation and using a separate swap partition.

1. Step — Make sure, that the kernel will look at the right place when booting (after hibernation):
In order to achieve this, one has to add the option «resume=UUID= » to the file /etc/default/grub

1a. Copy your UUID of the swap partition from fstab:

Note that you have to copy your UUID from fstab to replace putYourSwapUUIDhere.

Save the grub file and update grub:

If hibernate works from the command line — but is not visible in the shutdown menu,
enable it in the menus via the following steps.

3. Enable hibernation in the shutdown menu
Open terminal and run the following commands to create and edit the configuration file:

Re: Howto enable hibernation with swap partion on Linux Mint 19

Post by gm10 » Fri Jul 13, 2018 9:51 am

, there’s no reason to run the editor itself with elevated privileges. Also sudo with GUI programs is just generally bad practice and can lead to issues in some cases.

Otherwise looking good, although hibernation had to be disabled in Mint 19 because it is really problematic with the Ubuntu 18.04 base, so good luck to those trying it.

Re: Howto enable hibernation with swap partion on Linux Mint 19

Post by catweazel » Fri Jul 13, 2018 10:33 am

Re: Howto enable hibernation with swap partion on Linux Mint 19

Post by goebbe » Fri Jul 13, 2018 10:53 am

Is there a good way to check if hibernation is supported?
The only suggestion is to search in the internet for bug reports.
However this is likely to give false results, since hibernation depends on the version of the kernel, the version of the driver, the configuration, the implementation details.

Re: Howto enable hibernation with swap partion on Linux Mint 19

Post by goebbe » Fri Jul 13, 2018 10:54 am

, there’s no reason to run the editor itself with elevated privileges. Also sudo with GUI programs is just generally bad practice and can lead to issues in some cases.

Re: Howto enable hibernation with swap partion on Linux Mint 19

Post by catweazel » Fri Jul 13, 2018 10:58 am

Re: Howto enable hibernation with swap partion on Linux Mint 19

Post by gm10 » Fri Jul 13, 2018 11:05 am

That really is exactly the same thing.

OP, one more: sudo systemctl hibernate — there’s no reason to sudo that one, either. Don’t be so generous with your sudo. Elevated privileges should be given sparingly. A program that runs elevated basically owns your system. Never forget.

Re: Howto enable hibernation with swap partion on Linux Mint 19

Post by goebbe » Fri Jul 13, 2018 2:49 pm

Re: Howto enable hibernation with swap partion on Linux Mint 19

Post by sour_diesel » Mon Jul 16, 2018 11:41 am

I just wanted to say thank you for this post. Worked perfectly for me! So glad I decided to visit the Mint Forums today!!

I recently migrated from Ubuntu to Mint and need hibernation . can’t live without it. The last part of your post for enabling the hibernation option in the quit menu did not work me.

However this is how I accomplished that:

Use this command in a terminal to create a text file:

Источник

Команда sed Linux

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

В этой статье мы рассмотрим основы использования команды sed linux, её синтаксис, а также синтаксис регулярных выражений, который используется непосредственно для поиска и замены в файлах.

Команда sed в Linux

Сначала рассмотрим синтаксис команды:

$ sed опции -e команды файл

А вот её основные опции:

  • -n, —quiet — не выводить содержимое буфера шаблона в конце каждой итерации;
  • -e — команды, которые надо выполнить для редактирования;
  • -f — прочитать команды редактирования из файла;
  • -i — сделать резервную копию файла перед редактированием;
  • -l — указать свою длину строки;
  • -r — включить поддержку расширенного синтаксиса регулярных выражений;
  • -s — если передано несколько файлов, рассматривать их как отдельные потоки, а не как один длинный.

Я понимаю, что сейчас всё очень сложно, но к концу статьи всё прояснится.

1. Как работает sed

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

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

Когда всё команды будут выполнены и не указана опция -n, содержимое буфера шаблона выводится в стандартный поток вывода перед этим добавляется обратно символ перевода строки. если он был удален. Затем запускается новая итерация цикла для следующей строки.

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

2. Адреса sed

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

  • номер — позволяет указать номер строки, в которой надо выполнять команду;
  • первая

шаг — команда будет выполняется для указанной в первой части сроки, а затем для всех с указанным шагом;

  • $ — последняя строка в файле;
  • /регулярное_выражение/ — любая строка, которая подходит по регулярному выражению. Модификатор l указывает, что регулярное выражение должно быть не чувствительным к регистру;
  • номер, номер — начиная от строки из первой части и заканчивая строкой из второй части;
  • номер, /регулярное_выражение/ — начиная от сроки из первой части и до сроки, которая будет соответствовать регулярному выражению;
  • номер, +количество — начиная от номера строки указанного в первой части и еще плюс количество строк после него;
  • номер,

    число — начиная от строки номер и до строки номер которой будет кратный числу.

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

    3. Синтаксис регулярных выражений

    Вы можете использовать такие же регулярные выражения, как и для Bash и популярных языков программирования. Вот основные операторы, которые поддерживают регулярные выражения sed Linux:

    • * — любой символ, любое количество;
    • \+ — как звездочка, только один символ или больше;
    • \? — нет или один символ;
    • \ — любой символ в количестве i;
    • \ — любой символ в количестве от i до j;
    • \ — любой символ в количестве от i и больше.

    4. Команды sed

    Если вы хотите пользоваться sed, вам нужно знать команды редактирования. Рассмотрим самые часто применяемые из них:

    • # — комментарий, не выполняется;
    • q — завершает работу сценария;
    • d — удаляет буфер шаблона и запускает следующую итерацию цикла;
    • p — вывести содержимое буфера шаблона;
    • n — вывести содержимое буфера шаблона и прочитать в него следующую строку;
    • s/что_заменять/на_что_заменять/опции — замена символов, поддерживаются регулярные выражения;
    • y/символы/символы — позволяет заменить символы из первой части на соответствующие символы из второй части;
    • w — записать содержимое буфера шаблона в файл;
    • N — добавить перевод строки к буферу шаблона;
    • D — если буфер шаблона не содержит новую строку, удалить его содержимое и начать новую итерацию цикла, иначе удалить содержимое буфера до символа перевода строки и начать новую итерацию цикла с тем, что останется;
    • g — заменить содержимое буфера шаблона, содержимым дополнительного буфера;
    • G — добавить новую строку к содержимому буфера шаблона, затем добавить туда же содержимое дополнительного буфера.

    Утилите можно передать несколько команд, для этого их надо разделить точкой с запятой или использовать две опции -e. Теперь вы знаете всё необходимое и можно переходить к примерам.

    Примеры использования sed

    Теперь рассмотрим примеры sed Linux, чтобы у вас сложилась целостная картина об этой утилите. Давайте сначала выведем из файла стройки с пятой по десятую. Для этого воспользуемся командой -p. Мы используем опцию -n чтобы не выводить содержимое буфера шаблона на каждой итерации, а выводим только то, что нам надо. Если команда одна, то опцию -e можно опустить и писать без неё:

    sed -n ‘5,10p’ /etc/group

    Или можно вывести весь файл, кроме строк с первой по двадцатую:

    Здесь наоборот, опцию -n не указываем, чтобы выводилось всё, а с помощью команды d очищаем ненужное. Дальше рассмотрим замену в sed. Это самая частая функция, которая применяется вместе с этой утилитой. Заменим вхождения слова root на losst в том же файле и выведем всё в стандартный вывод:

    sed ‘s/root/losst/g’ /etc/group

    Флаг g заменяет все вхождения, также можно использовать флаг i, чтобы сделать регулярное выражение sed не зависимым от регистра. Для команд можно задавать адреса. Например, давайте выполним замену 0 на 1000, но только в строках с первой по десятую:

    sed ‘1,10 s/0/1000/g’ /etc/group

    Переходим ещё ближе к регулярным выражением, удалим все пустые строки или строи с комментариями из конфига Apache:

    sed ‘/^#\|^$\| *#/d’ /etc/apache2/apache2.conf

    Под это регулярное выражение (адрес) подпадают все строки, которые начинаются с #, пустые, или начинаются с пробела, а за ним идет решетка. Регулярные выражения можно использовать и при замене. Например, заменим все вхождения p в начале строки на losst_p:

    sed ‘s/[$p*]/losst_p/g’ /etc/group

    Если вам надо записать результат замены в обратно в файл можно использовать стандартный оператор перенаправления вывода > или утилиту tee. Например:

    sed ‘/^#\|^$\| *#/d’ /etc/apache2/apache2.conf | sudo tee /etc/apache2/apache2.conf

    Также можно использовать опцию -i, тогда утилита не будет выполнять изменения в переданном ей файле:

    sudo sed -i ‘/^#\|^$\| *#/d’ /etc/apache2/apache2.conf

    Если надо сохранить оригинальный файл, достаточно передать опции -i в параметре расширение для файла резервной копии.

    Выводы

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

    Источник

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

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

  • Mac os установка mysql
  • Mac os установка composer
  • Mac os установить программу на другой диск
  • Mac os установить на ipad
  • Mac os установить git