25 базовых команд linux для начинающих пользователей

Использование режима восстановления

В дистрибутивах Linux, построенных на основе Debian (Linux Mint, Ubuntu и т. д.), после завершения загрузки режима восстановления загрузится окно, в котором будет предложен список действий на выбор.
Разберем каждый из этих пунктов:

  • resume — выйти из режима восстановления и продолжить нормальную загрузку системы.
  • clean — автоматическая очистка накопителя, может быть полезна при отсутствии свободного места на жестком диске.
  • dpkg — исправление ошибок в пакетах dpkg (может потребоваться включение сети).
  • failsafeX* — включение графической оболочки
  • fsck — проверка на наличие ошибок смонтированных файловых систем.
  • grub — обновление конфигурации загрузчика grub.
  • network — включить работу сети.
  • root — перейти к консоли, запущенной под пользователем root. Для выполнения различных консольных команд в режиме восстановления, следует выбрать именно этот пункт.
  • system-summary — общая информация о системе.

Как использовать crotab

Команда crontab используется для открытия и редактирования/добавления заданий cron. Демон cron, запущенный в Linux, выполняет запланированные задания во время, определенное в crontab ( таблица cron). Основным общесистемным файлом crontab является файл /etc/crontab.

Cron по умолчанию установлен в большинстве дистрибутивов Linux. Каждый пользователь в системе Linux может управлять своими собственными заданиями cron. Каждый пользовательский cron хранится в папке /var/spool/cron/crontabs/ (может быть разным в разных дистрибутивах). Демон cron запускает как пользовательский, так и системный crontab.

Демон Cron имеет определенный путь $PATH по умолчанию, который вы можете найти в файле /etc/crontab. Если его не определить, либо используйте абсолютный путь, либо добавьте в переменную cron $PATH. Это стоит учитывать при написании заданий.

Уведомление по почте Cron по умолчанию отправляется владельцу кронтаба. Чтобы изменить это, отредактируйте переменную среды MAILTO.

Журналы Cron хранятся в системном журнале  /var/log/syslog в системах Ubuntu/Debian и в /var/log/cron в Redhat/Rocky Linux. Вы можете отфильтровать файл журнала с помощью команды grep, чтобы проверить, успешно ли выполнено задание cron или нет.

1. Редактировать/добавить задание для Crontab

Для редактирования (существующих заданий) или добавления нового cron используйте команду crontab -e. Это откроет редактор для текущего пользователя.

Чтобы отредактировать файл crontab другого пользователя, введите:

Или просто запустите команду crontab -e, войдя в систему от имени этого пользователя.

2. Список задач Cron

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

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

3. Удалить задачу cron

Чтобы удалить все задания cron текущего пользователя, выполните следующую команду:

Примечание: Это приведет к удалению всех заданий cron без запроса подтверждения.

Если вы хотите удалить в интерактивном режиме, вам нужно использовать следующую команду:

Ubuntu 16.04

1. Нажмите на кнопку «Send Ctrl+Alt+Del» — это перезагрузит сервер. Сразу выделяем область консоли мышью. В процессе загрузки требуется успеть «поймать» меню загрузчика В нашем образе Ubuntu используется Grub.

2. В Canonical меню Grub обычно не видно. Чтобы его вызвать, надо зажать клавишу Shift (только левый) в процессе загрузки, как только мелькает надпись Booting from hard disk.Если с первого раза не получится, пробуйте еще раз.В результате вы должны получить следующую картинку:

3. Стрелками выбираем «Advanced options for Ubuntu» и нажимаем Enter, видим следующее:

4. Выбираем пункт с (recovery mode) и нажимаем Enter.

5. Выбираем пункт «root Drop to root shell prompt» и нажимаем Enter:

7. В наших шаблонах ОС Ubuntu не нужно вводить дополнительный пароль. Мы попадаем на сервер от root без него.

8. Для начала выполняем проверку возможности внесения изменений в файловую систему, в консоли вводим:

Нас интересует опция rw, которую мы задавали в настройках. Должна быть указана она — не ro.

9. Если видим ro — нужно перемонтировать файловую систему в rw:

10. После монтирования снова проверьте, что опция при проверке указана как rw, при помощи команды из предыдущего пункта.

11. Сбрасываем пароль командой:

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

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

13. Чтобы изменения применились, перезагрузите сервер.Команды reboot и shutdown -r и кнопка «Send Ctrl+Alt+Del» не подойдут. Они рассчитывают на init-демона, который мы подменили процессом /bin/bash.Поэтому нужно сделать hard reboot сервера (Холодная перезагрузка) из контрольной панели, или запустить init-демона вручную. Это можно сделать, выполнив команду:

14. После перезагрузки можем зайти на сервер от имени root с новым паролем.

Опции — расширения GNU

Опции
-A —after-context=ЧИСЛО_СТРОК

-B —before-context=ЧИСЛО_СТРОК

-C —context=ЧИСЛО_СТРОК

С этими тремя опциями мы уже познакомились в четвертой Хитрости, они позволяют посмотреть соседние строки. -A: количество строк после совпадения с ОБРАЗЦОМ,

-B: количество строк перед совпадением, и -C: количество строк вокруг совпадения.

Опция —colour

Выделяет найденные строки цветом. Значения КОГДА могут быть: never (никогда), always (всегда), или auto. Пример:

 grep -o 'английскими' --color grep-ru.txt
 английскими

Опция -D ДЕЙСТВИЕ

—devices=ДЕЙСТВИЕ

Если исследуемый файл является файлом устройства, FIFO (именованным каналом) или сокетом, то следует применять эту опцию. ДЕЙСТВИЙ всего два: read (прочесть), и skip (пропустить). Если вы указываете ДЕЙСТВИЕ read (используется по умолчанию), то программа попытается прочесть специальный файл, как если бы он был обычным файлом; если указываете ДЕЙСТВИЕ skip, то файлы устройств, FIFO и сокеты будут молча проигнорированы.

Опция -d ДЕЙСТВИЕ

—directories=ДЕЙСТВИЕ

Если входной файл является директорией, то используйте эту опцию. ДЕЙСТВИЕ read (прочесть) попытается прочесть директорию как обычный файл (некоторые ОС и файловые системы запрещают это; тогда появятся соответствующие сообщения, либо директории молча пропустят). Если ДЕЙСТВИЕ skip (пропустить), то директории будут молча проигнорированы. Если ДЕЙСТВИЕ recurse (рекурсивно), то grep будет просматривать все файлы и субдиректории внутри заданного каталога рекурсивно. Это эквивалент опции -r, с которой мы уже познакомились.

—with-filename

Выдает имя файла для каждого совпадения с ОБРАЗЦОМ. Мы успешно делали это без всяких опций в Хитрости второй.

—no-filename

Подавляет вывод имен файлов, когда задано несколько файлов для исследования.

Опция -I

Обрабатывает бинарные файлы как не содержащие совпадений с ОБРАЗЦОМ; эквивалент опции —binary-files=without-match.

Опция —include=ОБРАЗЕЦ_имени_файла

При рекурсивном исследовании директорий обследовать только файлы, содержащие в своем имени ОБРАЗЕЦ_имени_файла.

Опция -m ЧИСЛО_СТРОК

—max-count=ЧИСЛО_СТРОК

Прекратить обработку файла после того, как количество совпадений с ОБРАЗЦОМ достигнет ЧИСЛА_СТРОК:

 grep -m 2 'kot' kot.txt
 kot
 kotoroe

Опция -y

Синоним опции -i (не различать верхний и нижний регистр символов).

Опции -U и -u применяются только под MS-DOS и MS-Windows, тут нечего о них говорить.

Опция —mmap

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

Опция -Z

—null

Если в выводе программы имена файлов (например при опции -l), то опция -Z после каждого имени файла выводит нулевой байт вместо символа новой строки (как обычно происходит). Это делает вывод однозначным, даже если имена файлов содержат символы новой строки. Эта опция может быть использована совместно с такими командами как: find -print0, perl -0, sort -z, xargs -0 для обработки файловых имен, составленных необычно, даже содержащих символы новой строки.
(Хотел бы я знать, как можно включить символ новой строки в имя файла. Если кто знает, не поленитесь — сообщите мне.)

Опция -z

—null-data

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

Команда завершения

Чтобы использовать , вы должны знать идентификатор процесса (PID) процесса, который хотите завершить. Команду можно использовать для поиска PID процесса.

Чтобы поиск по всем процессам, используйте опцию (все процессы). Желательно передавать результаты через , их будет довольно много. Введите , пробел, , пробел, (символ канала), другой пробел, а затем введите . Нажмите Enter, чтобы выполнить команду.

ps -e | less

Это даст вам список процессов, который выглядит как на скриншоте ниже. Вы можете искать вперед less используя клавишу / и вы можете искать назад, используя ? ключ.

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

ps -e | grep shutter

Найдя PID процесса, который вы хотите завершить, передайте его команде kill в качестве параметра. Чтобы завершить процесс shutter определенный предыдущей командой, используйте эту команду:

kill 2099

Команда kill является тихим убийцей — она ​​не дает никаких отзывов, если прошла успешно.

Команды Linux для управления пользователями

35. useradd / userdel / usermod

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

36. passwd

Эта команда позволяет изменить пароль учетной записи пользователя. Как суперпользователь вы можете сбросить пароли всех пользователей, даже несмотря на то, что не можете их увидеть. Хорошая практика безопасности — менять пароль почаще.

Как создать сочетания клавиш для выключения

Вы также можете выключить, перезагрузить и остановить вашу систему с помощью сочетаний клавиш. Эти ключи можно создать в Ubuntu.

Откройте «Настройки», перейдите к «Сочетания клавиш» и в нижней части экрана щелкните символ «+», чтобы создать новый ярлык:

Откроется новое окно:

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

Щелкните по кнопке » Добавить «.

Чтобы включить сочетание клавиш, нажмите кнопку «Отключить» и назначьте сочетание клавиш, удерживая клавиши по вашему выбору:

После того, как вы нажмете клавиши, появится следующее окно, отображающее нажатые вами кнопки:

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

Для перезагрузки:

Для остановки:

Созданы новые ярлыки. Теперь давайте протестируем назначенные сочетания клавиш. Чтобы перезагрузить систему, нажмите CTRL + SHIFT + R, появится сообщение с просьбой «Перезагрузить» вашу систему, как показано на изображении ниже:

Сбой

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

Это номер рядом с владельцем процесса, который является ID процесса.

kill

Мы будем использовать это, чтобы определить, какой процесс отменить. Для этого мы используем программу, которая соответственно называется kill .

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

Не беспокойтесь, мы снова можем закрыть, но на этот раз подаем сигнал 9.

Блокировка рабочего стола

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

Большую часть времени мы видим только консоль которая является графическим интерфейсом, но мы можем легко добраться до остальных. Если GUI заблокирован, можно добраться до другой консоли и оттуда отменить процесс, вызывающий нарушение. Для переключения между консолями вы используете последовательность клавиш CTRL + ALT + F <Console>.

Таким образом, CTRL + ALT F2 приведет вас к консоли, где вы можете запускать команды, как указано выше, чтобы идентифицировать процессы и отменить их.

Затем CTRL + ALT F7 вернет вас в графический интерфейс, чтобы увидеть, было ли это исправлено. Общий подход заключается в том, чтобы сохранить процессы отмены, пока не будет устранена блокировка.

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

Centos 7 x86_64 + Centos 7 x86_64 Webuzo

1. Нажмите на кнопку Send Ctrl+Alt+Del в консоли — это перезагрузит сервер. Во время загрузки нужно «поймать» меню загрузчика. нашем образе CentOS 7 используется Grub.

2. Как только вы увидите на экране такую картинку, нажмите пробел или кнопку вниз — это прервет отсчет времени:

3. Grub некоторое время «думает» на этом меню загрузки. Поэтому надо дать ему понять, что не нужно автоматически продолжать загрузку с опциями по умолчанию, и что мы хотим работать с его меню.

4. Стрелками выбираем нужное ядро, которое отображено на скриншоте, и вводим «e» латиницей.

5. Теперь мы можем редактировать опции загрузки ядра:

6. Стрелками переходим к началу строки, которая начинается с «linux16». Это указание пути к файлу ядра, которое нужно загрузить, а также опции загрузки. Нам нужно переписать эти опции, чтобы попасть в ОС без root-пароля.

Делаем следующее:

  • Меняем ro на rw
  • Меняем первое значение console=tty0 на console=tty
  • Удаляем 2 значения: console=ttyS0,115200n8 и console=ttyS0,115200
  • В конце добавляем init=/bin/bash

Было:

Стало:

7. После изменения нажимаем комбинацию клавиш CTRL+X, что перезагружает ядро с новыми опциями.

8. Если мы все сделали корректно, увидим следующее:

9. Мы попали на сервер от root без пароля и можем сбросить сам пароль.

Для начала проверяем, можно ли внести изменения в файловую систему. Для этого в консоли вводим:

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

На экране мы должны видеть опцию rw, которую мы задавали в настройках — не ro.Если видим ro, нужно перемонтировать файловую систему в rw:

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

10. Сбрасываем пароль командой:

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

Для этого надо создать файл /.autorelabel, который даст Selinux понять, что нужно перечитать контекст. Без этого мы не сможем залогиниться с новым паролем:

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

12. Чтобы изменения применились, перезагрузите сервер.Команды reboot и shutdown -r и кнопка «Send Ctrl+Alt+Del» не подойдут. Они рассчитывают на init-демона, который мы подменили процессом /bin/bash.Поэтому нужно сделать hard reboot сервера (Холодная перезагрузка) из контрольной панели, или запустить init-демона вручную. Это можно сделать, выполнив команду:

13. После перезагрузки можем зайти на сервер от имени root с новым паролем.

Детали

Если выключение запланировано на будущее, он создаст консультативный файл / etc / nologin, который заставляет программы, такие как login, не допускать новых пользователей. Этот файл создается за пять минут до запуска последовательности выключения. Shutdown удаляет этот файл, если он остановлен до того, как он может сигнализировать об инициализации (то есть он отменен или что-то пошло не так). Он также удаляет его перед вызовом init для изменения уровня запуска.

Флаг -f означает «перезагрузка быстро». Это создает только консультативный файл / fastboot, который может быть проверен системой, когда он снова появится. Загрузочный rc-файл системы («rc» означает «runcom», который является сокращением от «run-команд») может проверить наличие этого файла и решить не запускать fsck, так как система была закрыта надлежащим образом. После этого процесс загрузки должен удалить / fastboot.

Флаг -F означает «force fsck». Это создает только консультативный файл / forcefsck, который может быть проверен системой, когда он снова появится. Загрузочный rc-файл может проверить, присутствует ли этот файл, и решит запустить fsck со специальным флагом «force», чтобы проверить правильность размонтированных файловых систем. После этого процесс загрузки должен удалить / forcefsck.

Флаг -n заставляет shutdown не вызывать init, а убивать все запущенные процессы. Shutdown отключит квоту, учет и обмены и размонтирование всех файловых систем.

Сортировка объявлений

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

Для сортировки по расширению используйте параметр -X (сортировка по расширению).

ls -X -1

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

Для сортировки по размеру файла используйте параметр -S (сортировка по размеру файла).

ls -l -h -S

Порядок сортировки от наибольшего к наименьшему.

Чтобы отсортировать список по времени изменения, используйте параметр -t (сортировать по времени изменения).

ls -l -t

Список отсортирован по времени модификации.

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

Быстрый способ получить самые новые и самые старые файлы в каталоге — использовать ls с командами head и tail.

Чтобы получить самый новый файл или каталог, используйте эту команду:

ls -t | head -1

Чтобы получить самый старый файл или каталог, используйте эту команду:

ls -t | tail -1

Как установить пакеты (программы) в Cygwin

Рассмотрим ситуацию, как в Cygwin установить дополнительные пакеты

Рассмотрим на примере: нам нужно установить ряд зависимостей, а именно следующие пакеты (они нужны для компиляции):

  • libssl-devel
  • ibbz2-devel
  • libgmp-devel
  • zlib-devel
  • libOpenCL-devel
  • libcrypt-devel

Это можно сделать двумя разными способами.

Первый способ установки программ в Cygwin

Во-первых, вы можете запустить установщик ещё раз, и на этапе выбора пакетов переключитесь в список «Full», введите имя пакета и дважды кликните на слово «Skip»:

 Чтобы вместо него появился номер версии:

Сразу после этого введите имя второго пакета (первый пакет как бы пропадёт — не надо об этом беспокоится), кликните на слово «Skip».

Повторите это для всех пакетов.

Когда закончите, очистите поле поиска и переключитесь на список «Pending» чтобы увидеть список пакетов для установки:

Нажмите далее и завершите установку выбранных пакетов. 

Второй способ установки программ в Cygwin

Возможно, вам больше понравится другой способ: переместите установочный файл setup-x86_64.exe в папку C:\cygwin64\ и затем откройте командную строку Windows (PowerShell) и просто выполните команду вида:

C:\cygwin64\setup-x86_64.exe -q -P ПАКЕТ1 -P ПАКЕТ2 -P ПАКЕТ3

К примеру, для моего примера по установке шести пакетов команда выглядит так:

C:\cygwin64\setup-x86_64.exe -q -P libssl-devel -P libbz2-devel -P libgmp-devel -P zlib-devel -P libOpenCL-devel -P libcrypt-devel

Сразу после запуска команды начнётся скачивание и установка требуемых пакетов CygWin.

Указание времени выполнения

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

  • Время — чтобы указать время, используйте форму или . Чтобы указать 12-часовой формат времени, используйте или после времени. Вы также можете использовать такие строки, как , , или (16:00). По истечении указанного времени задание будет выполнено на следующий день.
  • Дата — команда позволяет запланировать выполнение задания на заданную дату. Дату можно указать, используя название месяца, за которым следует день и (необязательно) год. Вы можете использовать строки, например, , или будний день. Дата также может быть указана в , , или .
  • Increment — также принимает приращения в формате , где — это число, а может быть одной из следующих строк: , , или .

Время, дату и приращение можно комбинировать, вот несколько примеров:

  • Запланируйте работу на ближайшее воскресенье на время на десять минут позже текущего:

  • Запланируйте запуск задания на 13:00 через два дня:

  • Запланируйте запуск задания на 12:30 21 октября 2020 г .:

  • Запланируйте запуск задания через час:

Вы также можете указать время и дату в используя параметр . Вот пример:

Фоновый режим

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

Мы продемонстрируем это с помощью программы sleep . Все, что нужно сделать, — это подождать определенное количество секунд, а затем выйти. Мы также можем использовать программу, называемую jobs, которая перечисляет текущие фоновые задания для нас.

Если вы запустите приведенный выше пример самостоятельно, вы заметите, что терминал ждет 5 секунд, прежде чем снова вывести приглашение. Теперь, если мы запустим ту же команду, но вместо этого добавим амперсанд (&) в конце команды, мы сообщим терминалу запустить этот процесс в фоновом режиме.

На этот раз вы заметите, что он присваивает процессу номер задания. Кроме того, сообщает нам номер и сразу же возвращает нам подсказку. Мы можем продолжать работать, пока процесс работает в фоновом режиме. Если вы подождете 5 секунд, а затем нажмете ENTER, появится сообщение о том, что задание выполнено.

Мы также можем перемещать задания между передним и задним планами. Если вы нажмете CTRL + z, то текущий процесс переднего плана будет приостановлен и перемещен в фон. Затем мы можем использовать программу под названием fg.

Команды Linux окружения пользователя

29. su / sudo

Su и sudo — это два способа выполнить одну и ту же задачу: запустить программу от имени другого пользователя. В зависимости от вашего дистрибутива вы, наверное, используете одну или другую. Но работают обе. Разница в том, что su переключает вас на другого пользователя, а sudo только выполняет команду от его имени. Поэтому использование sudo будет наиболее безопасным вариантом работы.

30. date

В отличие от time, делает именно то, чего вы от неё и ожидаете: выводит дату и время в стандартный вывод. Его можно форматировать в зависимости от ваших потребностей: вывести год, месяц, день, установить 12-ти или 24-ти часовой формат, получить наносекунды или номер недели. Например, date +»%j %V», выведет день в году и номер недели в формате ISO.

31. alias

Команда создаёт синонимы для других команд Linux. То есть вы можете делать новые команды или группы команд, а также переименовывать существующие. Это очень удобно для сокращения длинных команд, которые вы часто используете, или создания более понятных имен для команд, которые вы используете нечасто и не можете запомнить.

32. uname

Выводит некую основную информацию о системе. Без параметров она не покажет ничего полезного, кроме строчки Linux, но, если задать параметр -a (All), можно получить информацию о ядре, имени хоста и узнать архитектуру процессора.

33. uptime

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

34. sleep

Вам, наверное, интересно как же её можно использовать. Даже не учитывая Bash-скриптинг, у неё есть свои преимущества. Например, если вы хотите выключить компьютер через определенный промежуток времени или использовать в качестве импровизированной тревоги.

Как использовать команду «перезагрузка» в Linux

Команда перезагрузки перезагружает вашу систему после ее выключения.

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

Или же

Или

Определение времени перезагрузки системы

Определите единицу времени в часах, минутах и ​​секундах. Команда shutdown -r перезагрузит систему через 10 минут:

Он показывает, что система перезагрузится через 10 минут.

Отображение предупреждающего сообщения

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

Запуск программ с графическим интерфейсом в Cygwin

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

Пакеты Cygwin/X в категории X11.

  • xorg-server (требуется, X сервер Cygwin/X)
  • xinit (требуется, скрипты для запуска X сервера: xinit, startx, startwin (и ссылки на Start Menu для его запуска), startxdmcp.bat )
  • xorg-docs (опциональный, man страницы)
  • xlaunch (опциональный, мастер для запуска X сессий)

Пример запуска программы с графическим интерфейсом в Cygwin.

Установите apt-cyg, если не сделали это ранее:

curl  https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg  > apt-cyg
install apt-cyg /bin

Установите X сервер и необходимый скрипты:

apt-cyg install xorg-server xinit

Запустите X сервер:

startxwin &

Нажмите Enter, чтобы увидеть приглашение командной строки.

Установите значение переменной DISPLAY:

export DISPLAY=:0.0

Запустите желаемую программу с графическим интерфейсом:

~/johnny/johnny

Заключение

В статье был рассмотрен вопрос необходимости перезагрузки системы после обновления пакета systemd. Резюмируя, можно сказать, что такой необходимости нет. При возникновении ситуации, когда нужно обновить и не перезагружать сервер, есть инструменты вида daemon-reexec.

Но всё это применимо, как мне видится, на каких-то системах, где нет ничего критичного. Лучше всегда запланировать даунтайм и выполнить плановую перезагрузку (совместив, например, с какими-то другими работами). Ведь даже Red Hat не зря рекомендует выполнять перезагрузку. А на каких-то крупных хайлоад-проектах есть балансировщики и кластеры с нескольким количеством нод, которые в любом случае можно и нужно обслуживать, а значит выводить из работы с их последующим даунтаймом.

P.S. В моём случае были обновлены следующие пакеты на продуктивных серверах без каких-либо проблем на стороне приложения и запланирован даунтайм для ребута:

  • systemd-libs
  • systemd
  • systemd-sysv
  • libgudev1
Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
IP-файл
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: