Перезагрузка Debian из консоли

Обновлено: 21.11.2024

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

Файл .bash_profile

Поскольку файл .bash_profile определен в домашнем каталоге Linux, системная оболочка bash зависит от него и других системных файлов, таких как /etc/profile, .bash_login, .bash_history и .bash_logout, для самоинициализации.

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

Файл .bash_profile служит двум основным целям:

  1. Модификация рабочей среды операционной системы Linux путем настройки и редактирования параметров терминала и пользовательских переменных среды.
  2. Предоставление операционной системе инструкций по инициализации приложений.

Создание файла .bash_profile

Сначала создайте файл .bash_profile в своем домашнем каталоге, если он не существует, и откройте его в своем любимом редакторе.

После создания файла нам необходимо проверить его существование. Поскольку мы создали его с помощью '.' префикс, он будет скрыт. Выйдите из редактора nano (Ctrl+x) и выполните следующую команду:

Список скрытых файлов в Linux

Как видите, рядом с ним существует несколько других файлов bash.

Редактировать файл .bash_profile

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

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

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

Чтобы активировать внесенные изменения, нам потребуется перезагрузить файл .bash_profile из терминала Linux. Повторная загрузка этого файла требует использования команды «source».

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

файл, если вы находитесь на другом пути среды ОС, а не непосредственно в домашнем каталоге Linux.

Перезагрузить файл .bash_profile

Настройка файла .bash_profile

Давайте откроем и изменим файл .bashrc, который мы просматривали, с помощью команды ls -la.

Внизу этого файла добавьте инструкцию echo со следующими данными:

Редактировать файл .bashrc

Теперь мы хотим связать этот файл .bashrc с файлом .bash_profile, который мы создали и изменили ранее. Снова откройте файл .bash_profile.

Внизу файла добавьте следующий код.

Приведенный выше код в файле .bash_profile проверит наличие файла .bashrc, а затем попытается перезагрузить его. Давайте перезагрузим файл .bash_profile и посмотрим на результат.

Перезагрузить файл .bash_profile

Мы успешно связали файлы .bash_profile и .bashrc и выполнили .bashrc из .bash_profile . Фраза «Это файл bashrc» будет появляться каждый раз, когда вы открываете новое окно терминала.

Снова откройте .bash_profile.

Давайте установим и экспортируем системную переменную пути с помощью следующего кода:

Сохраните файл и выйдите из редактора nano.

Теперь повторите переменную $PATH из командной строки.

Проверить переменные среды

Мы успешно установили системную переменную пути и получили к ней доступ из команды echo.

Освоение использования файла .bash_profile может дать системному пользователю гибкость, такую ​​как создание приветственного сообщения терминала (это файл bashrc) и даже связывание переменных путей ($PATH) с системными пользовательскими каталогами. Если копнуть глубже, это еще не все.

Узнайте, как перезагрузить Linux различными способами, от графического интерфейса до командной строки.

Смокинг от lewing@isc.tamu.edu Ларри Юинга и GIMP; бинарное изображение Геральта через Pixabay; изменено Джен Вике Хьюгер

Linux вполне способен работать не недели, а годы без перезагрузки. В некоторых отраслях это именно то, что делает Linux, благодаря таким достижениям, как kpatch и kgraph.

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

Разберитесь со своими вариантами

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

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

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

Нажмите кнопку

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

Он также находится в меню действий GNOME:

На рабочем столе KDE кнопки питания находятся в меню "Приложения":

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

Нажмите физическую кнопку

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

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

В GNOME откройте меню на панели задач и выберите «Действия», а затем «Настройки». Далее выберите категорию «Мощность» в левом столбце, после чего откроется следующее меню:

В разделе "Приостановка и кнопка питания" выберите, что должна делать физическая кнопка питания.

Процесс одинаков для компьютеров.Например, в KDE панель управления питанием в настройках системы содержит параметр для обработки событий кнопок.

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

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

Запустите команду systemctl

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

В большинстве современных дистрибутивов Linux systemd является системой инициализации, поэтому перезагрузка и выключение могут выполняться через пользовательский интерфейс systemd, systemctl. Команда systemctl принимает, помимо многих других параметров, halt (останавливает работу диска, но не отключает питание), reboot (останавливает работу диска и отправляет сигнал сброса на материнскую плату) и poweroff (останавливает работу диска, а затем отключает питание). Эти команды в основном эквивалентны запуску целевого файла с тем же именем.

Например, чтобы вызвать перезагрузку:

Выполнить команду выключения

В традиционной UNIX, до появления systemd (а для некоторых дистрибутивов Linux, таких как Slackware, это сейчас), существовали специальные команды для остановки системы. Команда выключения, например, может отключить компьютер, но у нее есть несколько опций, точно определяющих, что это означает.

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

Чтобы немедленно отключить питание:

Или вы можете использовать команду poweroff:

Чтобы перезагрузить компьютер через 10 минут:

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

Сегодня во многих системах команда shutdown на самом деле представляет собой просто вызов systemctl с соответствующей опцией перезагрузки или отключения питания.

Запустите команду перезагрузки

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

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

Во многих системах перезагрузка на самом деле является вызовом systemctl с соответствующей опцией перезагрузки или отключения питания.

В дистрибутивах Linux без systemd существует до 7 уровней выполнения, понятных вашему компьютеру. Различные дистрибутивы могут назначать каждый режим уникальным образом, но обычно 0 инициирует состояние остановки, а 6 инициирует перезагрузку (числа между ними обозначают такие состояния, как однопользовательский режим, многопользовательский режим, приглашение графического интерфейса пользователя и текстовое приглашение). .

Эти режимы определены в /etc/inittab в системах без systemd. В дистрибутивах, использующих systemd в качестве системы инициализации, файл /etc/inittab либо отсутствует, либо является просто заполнителем.

Команда telinit является внешним интерфейсом к вашей системе инициализации. Если вы используете systemd, то эта команда является ссылкой на systemctl с соответствующими параметрами.

Чтобы выключить компьютер, отправив его на уровень выполнения 0:

Чтобы перезагрузить тем же способом:

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

Вы можете сами увидеть, что происходит на каждом уровне выполнения, прочитав сценарии инициализации, найденные в /etc/rc.d или /etc/init.d, или прочитав цели systemd в /lib/systemd/system/.< /p>

Применить грубую силу

До сих пор я рассмотрел все правильные способы перезагрузки или выключения компьютера с Linux. Чтобы быть тщательным, я включаю здесь дополнительные методы вывода из строя компьютера с Linux, но ни в коем случае не рекомендую эти методы. Они не предназначены для ежедневной перезагрузки или выключения (для этого существуют перезагрузка и выключение), но они являются допустимыми средствами для выполнения задачи.

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

Ступенью ниже, чем система инициализации, находится файловая система /proc, которая представляет собой виртуальное представление почти всего, что происходит на вашем компьютере. Например, вы можете просмотреть свои ЦП, как если бы они были текстовыми файлами (с помощью cat /proc/cpuinfo), посмотреть, сколько энергии осталось в батарее вашего ноутбука, или, после мода, перезагрузить вашу систему.

В ядре Linux есть возможность для системных запросов (Sysrq на большинстве клавиатур). Вы можете напрямую общаться с этой подсистемой, используя комбинации клавиш, в идеале независимо от того, в каком состоянии находится ваш компьютер; на некоторых клавиатурах это становится сложным, поскольку клавиша Sysrq может быть специальной функциональной клавишей, для доступа к которой требуется другая клавиша (например, Fn на многих ноутбуках).

Вариант с меньшей вероятностью неудачи – использование команды echo для вставки информации в /proc вручную. Во-первых, убедитесь, что система Sysrq включена:

Для перезагрузки вы можете использовать Alt+Sysrq+B или ввести:

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

Сисктл

Параметры ядра можно управлять во время выполнения с помощью sysctl. Есть много параметров ядра, и вы можете увидеть их все с помощью sysctl --all. Скорее всего, это ничего для вас не значит, пока вы не знаете, что искать, и в этом случае вы ищете kernel.panic.

Вы можете запросить параметры ядра, используя параметр --value:

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

Вы можете активировать эту функцию в качестве эксперимента (если вы продолжаете, попробуйте это на виртуальной машине, а не на реальном компьютере):

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

А затем смоделируйте панику ядра:

Ваш компьютер немедленно перезагрузится.

Перезагружайтесь ответственно

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

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

Когда я вношу некоторые изменения в поведение оболочки/bash, например, устанавливаю псевдоним, есть ли быстрая команда для повторной инициализации окна терминала вместо закрытия и открытия нового окна?

7 ответов 7

Если вы имеете в виду перезагрузку конфигурации .bashrc, то:

Чтобы меньше печатать, можно заменить источник точкой: . ~/.bashrc

Это просто перезагружает ваш PATH и некоторые переменные среды. Он ничего не "сбрасывает". Ответ @NES правильный.

Это ничего не сбрасывает, если у вас были обновления PATH, теперь у вас будут старые обновления и новые обновления.

Для тех, кто ищет актуальное решение, потому что это совсем не то же самое, что закрыть и начать новое. Все, что было экспортировано в env, останется там. Возможно, вам нужен ответ @isarandi.

Некоторое дополнение, которое я нашел на странице руководства по команде reset/tset

tset reset инициализация терминала

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

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

Поэтому для повторной инициализации любого терминала просто выполните-

Дополнительным параметром exec bash является то, что если вы изменили свой .profile (или .bash_profile ), вы можете сделать

Также будет снова прочитан ваш профиль. Не мешало бы также добавить параметр -i, чтобы явно указать bash, что это интерактивная оболочка, но обычно он сам это понимает.

@ArmenSanoyan, но это создаст новый процесс chile с вызовом оболочки bash --login в качестве его родителя. Использование exec bash --login заменит текущую оболочку, как описано в man bash

@isarandi Я обнаружил, что при использовании exec -c bash --login команда будет выполняться с пустой средой. Но кажется, что некоторые важные переменные env не инициализируются повторно, что делает мой файл ~/.bashrc не выполняется. Я думаю, проблема заключается в том, как начальные переменные env передаются в скрипт ~/.profile

@information_interchange: старый bash все еще сидит в списке процессов (и тратит несколько мегабайт ОЗУ, что в наши дни на настольных компьютерах тривиально). И когда вы в конечном итоге выйдете из этой оболочки (или Ctrl-d) намного позже, окно/вкладка терминала не закроется, и вы будете задаваться вопросом, не сработало ли это.

Вы должны заменить запущенное приложение/оболочку новым экземпляром. Например. если вы используете bash в качестве предпочитаемой оболочки, введите следующую строку в командной строке ($ — это заполнитель для начала вашей командной строки):

Работающее приложение/оболочка заменяется новым экземпляром bash, как если бы оно начиналось с нуля. Все ваши предыдущие изменения исчезли.

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

Этот ответ также неверен. exec наследует среду от своего предшественника. Следовательно, он не восстанавливает переменные среды. Некоторые из них можно перезагрузить, запустив новый bash, но те, которые не были перезаписаны, не удаляются.

Используйте exec sudo --login --user $USER .

Если вы также хотите, чтобы ранее введенные команды исчезли (полный сброс терминала), совместите это со сбросом как сбросом; exec sudo --login --user $USER .

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

В Интернете есть много ответов, но большинство из них на самом деле не работают. Простой способ проверить это установить export SOMEVAR=42, затем выполнить предположительно команду сброса и выполнить echo $SOMEVAR. Если это 42, среда не была сброшена.

Есть также exec -c bash -l или exec env -i bash -l , но они не работают, почему-то переменная $HOME после этого не устанавливается.

Это клише, но факт: перезапуск сервера Linux решает множество проблем.

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

В этом руководстве показано, как перезапустить сервер Linux, используя только командную строку или приглашение.

  • Система под управлением операционной системы Linux
  • Доступ к интерфейсу командной строки (также известному как терминал)
  • Привилегии root или sudo
  • (необязательно) программный пакет SSH для связи с удаленным сервером

Как перезапустить Linux с помощью командной строки

Перезапуск локальной операционной системы Linux

Шаг 1. Откройте окно терминала

Если в вашей версии Linux используется графический интерфейс, вы можете открыть окно терминала, щелкнув правой кнопкой мыши Рабочий стол > щелкнув левой кнопкой мыши Открыть в терминале.

Вы также можете щелкнуть главное меню (обычно оно находится в левом нижнем или верхнем левом углу) и ввести терминал в строке поиска. Щелкните значок терминала, как показано на изображении ниже.

Шаг 2. Используйте команду выключения

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

В окне терминала введите следующее:

Команда sudo указывает Linux запустить команду от имени администратора, поэтому вам может потребоваться ввести пароль. Переключатель -r в конце указывает, что вы хотите перезагрузить компьютер.

Примечание. Прочтите нашу статью о дополнительных параметрах команды выключения Linux.

Альтернативный вариант: перезапустите Linux с помощью команды reboot

В терминале введите:

Многие версии Linux не требуют прав администратора для перезагрузки. Если вы получили сообщение о том, что у вас недостаточно прав, введите:

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

Перезагрузите удаленный сервер Linux

Шаг 1. Откройте командную строку

Если у вас есть графический интерфейс, откройте терминал, щелкнув правой кнопкой мыши Рабочий стол > щелкнув левой кнопкой мыши Открыть в терминале.

Вы также можете щелкнуть главное меню (обычно оно находится в левом нижнем или верхнем левом углу), а затем выбрать Приложения > Системные инструменты > Терминал.

Если вы предпочитаете использовать сочетание клавиш, нажмите Ctrl+Alt+T.

Шаг 2. Используйте команду перезагрузки SSH-подключения

В окне терминала введите:

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

Команда ssh указывает вашей системе подключиться к другому компьютеру. Опция -t заставляет удаленную систему вводить команду в терминал. Замените [email protected] на имя пользователя @ имя сервера, который вы хотите перезапустить.

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

То есть: -r говорит о перезапуске, чч:мм устанавливает конкретное время, +мм устанавливает обратный отсчет.)

В этом руководстве вы узнали, как перезапустить сервер Linux из командной строки.

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

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

Список всех важных команд Linux в одном месте. Найдите нужную команду в любое время или в любое время.

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

В этом руководстве вы узнаете о пяти наиболее часто используемых командах для проверки использования памяти в Linux. Мы также предоставляем.

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

Читайте также: