Debian нет такого процесса

Обновлено: 05.07.2024

Проверяю souces.list

sudo vi /etc/apt/sources.list

Restarting networking failed because the control process exited with error code.

При попытке перезапустить сеть

andrei@debian:/etc/network$ sudo /etc/init.d/networking restart

[. ] Restarting networking (via systemctl): networking.serviceJob for networking.service failed because the control process exited with error code. See "systemctl status networking.service" and "journalctl -xe" for details.

Оказалось, что при редактировании /etc/network/interfaces перепутал в названии интерфейса wlp1s0 l и 1 и написал вместо wlp 1 s0 wlp l s0

Failed to start A high performance web server and a reverse proxy server

При попытке установить Nginx в Debian 10

sudo apt install nginx

); however: Package nginx-full is not configured yet. Package nginx-light is not installed. Package nginx-extras is not installed. nginx depends on nginx-full (>= 1.14.2-2+deb10u1) | nginx-light (>= 1.14.2-2+deb10u1) | nginx-extras (>= 1.14.2-2+deb10u1); however: Package nginx-full is not configured yet. Package nginx-light is not installed. Package nginx-extras is not installed. dpkg: error processing package nginx (--configure): dependency problems - leaving unconfigured Processing triggers for man-db (2.8.5-2) . Processing triggers for systemd (241-7

deb10u4) . Errors were encountered while processing: nginx-full nginx E: Sub-process /usr/bin/dpkg returned an error code (1)

systemctl status nginx.service

● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Thu 2020-06-18 21:42:54 EEST; 5min ago Docs: man:nginx(8) Process: 15224 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 15225 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE)

sudo journalctl -xe

Из логов можно сделать вывод, что порт 80, который нужен Nginx уже занят. Я так подозреваю, что Apache. Поэтому нужно удалить или отключить Apache и поставить Nginx

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

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

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

В любом случае сначала пробуем от имени суперпользователя:

sudo kill -KILL идентификатор_процесса


Сначала можно попробовать завершить программу с помощью сигнала KILL, для этого передайте -KILL или -9 в виде опции утилите kill:

kill -KILL идентификатор_процесса

Если это не работает, можно попробовать посмотреть родительский процесс программы с помощью утилиты ps:

ps -xal | grep идентификатор_процесса

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

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Процесс — это экземпляр запущенной программы. Всякий раз, когда в терминале выполняется какая-нибудь команда (например, команда pwd ), система создает/запускает новый процесс.

Типы процессов

В Linux существует три основных типа процессов:

Как Linux идентифицирует процессы?

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

Родительские процессы — это процессы, которые во время своего выполнения создают другие процессы.

Дочерние процессы — эти процессы, создаваемые другими процессами во время своего выполнения.

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

Состояния процесса в Linux


Рассмотрим основные состояния процесса:

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

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

прерываемые ожидающие процессы — могут быть прерваны сигналами;

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

Завершен — процесс был остановлен, как правило, путем получения сигнала штатного завершения работы exit().

Как получить идентификатор (PID) процесса

Для отображения идентификатора нужного вам процесса можно использовать команду pidof, например:

$ pidof init
$ pidof bash
$ pidof systemd


Примечание: На вышеприведенном скриншоте вы можете видеть, что процессу init назначен PID=1 , а процессу systemd — PID=881 , хотя системой инициализации в Debian является именно systemd. Детально о том, почему возникла такая путаница, читайте здесь.

Чтобы вывести PID и PPID текущей оболочки, выполните:

$ echo $$
$ echo $PPID



Запуск интерактивного процесса в Linux

Как только вы выполните какую-нибудь команду или программу (например, firefox ), она создаст в системе соответствующий процесс. Вы можете запустить процесс переднего плана (он будет подключен к терминалу, ожидая пользовательского ввода) следующим образом:



Запуск фонового процесса в Linux

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

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

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




Отслеживание активных процессов

Существует несколько различных инструментов для просмотра/перечисления запущенных в системе процессов. Двумя традиционными и хорошо известными из них являются команды ps и top:

Команда ps

Отображает информацию об активных процессах в системе, как показано на следующем скриншоте:


Для получения дополнительной информации о процессах, запущенных текущим пользователем, применяется опция -f :


Столбцы, присутствующие в выводе команды ps , имеют следующие значения:

UID — идентификатор пользователя, которому принадлежит процесс (тот, от чьего имени происходит выполнение).

PID — идентификатор процесса.

PPID — идентификатор родительского процесса.

C — загрузка CPU процессом.

STIME — время начала выполнения процесса.

TTY — тип терминала, связанного с процессом.

TIME — количество процессорного времени, потраченного на выполнение процесса.

CMD — команда, запустившая этот процесс.

Также можно отобразить информацию по конкретному процессу, используя команду ps -f [PID] , например:


Есть и другие опции, которые можно использовать вместе с командой ps :

-a — показывает информацию о процессах по всем пользователям;

-x — показывает информацию о процессах без терминалов;

-u — показывает дополнительную информацию о процессе по заданному UID или имени пользователя;

-e — отображение расширенной информации.

Если вы хотите вывести вообще всю информацию по всем процессам системы, то используйте команду ps –aux :


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

$ ps -aux --sort=%cpu


Если вы ходите выполнить сортировку по потреблению памяти (в порядке убывания), то добавьте к имени интересующего столбца знак минуса:

$ ps -aux --sort=-%mem


Еще один очень популярный пример использования команды ps — это объединение её и команды grep для поиска заданного процесса по его имени:

$ ps -aux | grep bash



Команда top

Команда top отображает информацию о запущенных процессах в режиме реального времени:


PID — идентификатор процесса.

USER — пользователь, которому принадлежит процесс.

PR — приоритет процесса на уровне ядра.

NI — приоритет выполнения процесса от -20 до 19 .

VIRT — общий объем (в килобайтах) виртуальной памяти (физическая память самого процесса; загруженные с диска файлы библиотек; память, совместно используемая с другими процессами и т.п.), используемой задачей в данный момент.

RES — текущий объем (в килобайтах) физической памяти процесса.

SHR — объем совместно используемой с другими процессами памяти.

%CPU — процент используемых ресурсов процессора.

%MEM — процент используемой памяти.

TIME+ — количество процессорного времени, потраченного на выполнение процесса.

COMMAND — имя процесса (команды).

< — процесс с высоким приоритетом;

N — процесс с низким приоритетом;

l — многопоточный процесс;

s — лидер сессии.

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

Команда glances

Команда glances — это относительно новый инструмент мониторинга системы с расширенными функциями:

Примечание: Если в вашей системе отсутствует данная утилита, то установить её можно с помощью следующих команд:

$ yum install -y glances

$ sudo apt-get update
$ sudo apt-get install glances

Управление процессами в Linux

Также в Linux присутствуют некоторые команды для управления процессами:

kill — посылает процессу сигнал завершения работы;

pkill — завершает процесс по его имени;

pgrep — ищет процесс по его имени (и, опционально, по имени запустившего его пользователя);

killall — завершает все активные процессы.

Ниже приведены несколько основных примеров их использования:

$ pgrep -u diego firefox
$ kill 6516
$ pgrep -u diego firefox
$ pgrep -u diego glances
$ pkill glances
$ pgrep -u diego glances



Отправка сигналов процессам

Основополагающим способом управления процессами в Linux является отправка им соответствующих сигналов. Для перечисления списка всех доступных сигналов, введите команду:


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

SIGHUP (1) — отправляется процессу, когда его управляющий терминал закрыт.

SIGINT (2) — отправляется процессу управляющим терминалом, когда пользователь прерывает процесс нажатием клавиш Ctrl+C.

SIGQUIT (3) — отправляется процессу, если пользователь посылает сигнал выхода Ctrl+D.

SIGKILL (9) — этот сигнал немедленно завершает (убивает) процесс, и процесс не будет выполнять никаких операций очистки за собой.

SIGTERM (15) — сигнал завершения программы (отправляется командой kill по умолчанию).

SIGTSTP (20) — отправляется процессу управляющим терминалом с запросом на остановку; инициируется пользователем нажатием клавиш Ctrl+Z.

Ниже приведены примеры команды kill для уничтожения приложения firefox с помощью PID, после его зависания:

$ kill -SIGKILL 2275

Чтобы убить приложение, используя его имя, применяются команды pkill или killall , например:

Изменение приоритета процесса

В системе Linux все активные процессы имеют определенный приоритет выполнения, задаваемый так называемым nice-значением. Процессы с более высоким приоритетом обычно получают больше процессорного времени, чем процессы с более низким приоритетом. Однако пользователь с root-правами может повлиять на это с помощью команд nice и renice.

Узнать значение приоритета команды можно по выводу команды top (столбец NI):


Используйте команду nice , чтобы задать NI-значение для запускаемого процесса. Имейте в виду, что обычные пользователи могут задавать данный параметр в диапазоне от 0 до 20 тем процессам, которыми они владеют. Только пользователь root может использовать отрицательные значения приоритета.

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

$ nice -n 10 firefox

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

$ renice +8 5547
$ renice +8 1151

На данный момент это всё! Если у вас есть какие-либо вопросы или дополнительные идеи, вы можете поделиться ими с нами с помощью комментариев.



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

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

Всё написанное ниже справедливо к Debian Linux с ядром 4.15.0.

Содержание

  1. Введение
  2. Атрибуты процесса
  3. Жизненный цикл процесса
    1. Рождение процесса
    2. Состояние «готов»
    3. Состояние «выполняется»
    4. Перерождение в другую программу
    5. Состояние «ожидает»
    6. Состояние «остановлен»
    7. Завершение процесса
    8. Состояние «зомби»
    9. Забытье

    Введение

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

    Атрибуты процесса

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

    • Идентификатор процесса (pid)
    • Открытые файловые дескрипторы (fd)
    • Обработчики сигналов (signal handler)
    • Текущий рабочий каталог (cwd)
    • Переменные окружения (environ)
    • Код возврата

    Жизненный цикл процесса


    Рождение процесса

    Только один процесс в системе рождается особенным способом — init — он порождается непосредственно ядром. Все остальные процессы появляются путём дублирования текущего процесса с помощью системного вызова fork(2) . После выполнения fork(2) получаем два практически идентичных процесса за исключением следующих пунктов:

    1. fork(2) возвращает родителю PID ребёнка, ребёнку возвращается 0;
    2. У ребёнка меняется PPID (Parent Process Id) на PID родителя.

    Состояние «готов»

    Сразу после выполнения fork(2) переходит в состояние «готов».
    Фактически, процесс стоит в очереди и ждёт, когда планировщик (scheduler) в ядре даст процессу выполняться на процессоре.

    Состояние «выполняется»

    Как только планировщик поставил процесс на выполнение, началось состояние «выполняется». Процесс может выполняться весь предложенный промежуток (квант) времени, а может уступить место другим процессам, воспользовавшись системным вывозом sched_yield .

    Перерождение в другую программу

    В некоторых программах реализована логика, в которой родительский процесс создает дочерний для решения какой-либо задачи. Ребёнок в данном случае решает какую-то конкретную проблему, а родитель лишь делегирует своим детям задачи. Например, веб-сервер при входящем подключении создаёт ребёнка и передаёт обработку подключения ему.
    Однако, если нужно запустить другую программу, то необходимо прибегнуть к системному вызову execve(2) :


    или библиотечным вызовам execl(3), execlp(3), execle(3), execv(3), execvp(3), execvpe(3) :


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

    Как не путаться во всех этих вызовах и выбирать нужный? Достаточно постичь логику именования:

    • Все вызовы начинаются с exec
    • Пятая буква определяет вид передачи аргументов:
      • l обозначает list, все параметры передаются как arg1, arg2, . NULL
      • v обозначает vector, все параметры передаются в нуль-терминированном массиве;
      Пример запуска скрипта с подмененным PATH c помощью execle

      Есть соглашение, которое подразумевает, что argv[0] совпадает с нулевым аргументов для функций семейства exec*. Однако, это можно нарушить.

      Пример, когда cat становится dog с помощью execlp

      Любопытный читатель может заметить, что в сигнатуре функции int main(int argc, char* argv[]) есть число — количество аргументов, но в семействе функций exec* ничего такого не передаётся. Почему? Потому что при запуске программы управление передаётся не сразу в main. Перед этим выполняются некоторые действия, определённые glibc, в том числе подсчёт argc.

      Состояние «ожидает»

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

      Состояние «остановлен»

      В любой момент можно приостановить выполнение процесса, отправив ему сигнал SIGSTOP. Процесс перейдёт в состояние «остановлен» и будет находиться там до тех пор, пока ему не придёт сигнал продолжать работу (SIGCONT) или умереть (SIGKILL). Остальные сигналы будут поставлены в очередь.

      Завершение процесса

      Ни одна программа не умеет завершаться сама. Они могут лишь попросить систему об этом с помощью системного вызова _exit или быть завершенными системой из-за ошибки. Даже когда возвращаешь число из main() , всё равно неявно вызывается _exit .
      Хотя аргумент системного вызова принимает значение типа int, в качестве кода возврата берется лишь младший байт числа.

      Состояние «зомби»

      Сразу после того, как процесс завершился (неважно, корректно или нет), ядро записывает информацию о том, как завершился процесс и переводит его в состояние «зомби». Иными словами, зомби — это завершившийся процесс, но память о нём всё ещё хранится в ядре.
      Более того, это второе состояние, в котором процесс может смело игнорировать сигнал SIGKILL, ведь что мертво не может умереть ещё раз.

      Забытье

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


      Вся информация о завершении процесса влезает в тип данных int. Для получения кода возврата и причины завершения программы используются макросы, описанные в man-странице waitpid(2) .

      Пример корректного завершения и получения кода возврата

      Передача argv[0] как NULL приводит к падению.

      Бывают случаи, при которых родитель завершается раньше, чем ребёнок. В таких случаях родителем ребёнка станет init и он применит вызов wait(2) , когда придёт время.

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

      Благодарности

      Спасибо Саше «Al» за редактуру и помощь в оформлении;

      Спасибо Саше «Reisse» за понятные ответы на сложные вопросы.

      Они стойко перенесли напавшее на меня вдохновение и напавший на них шквал моих вопросов.

      infoitcomua1

      1) Отключить репозиторий CD ROM

      Чтобы отключить репозиторий компакт-дисков:

      Откройте терминал, переключитесь на пользователя root, а затем закомментируйте или удалите репозиторий cdrom из файла /etc/apt/sources.list.

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

      2) Настроить пользователя Sudo

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

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

      Примечание. Эти команды необходимо запускать от имени пользователя root. Я добавляю своего существующего пользователя pkumar к пользователю sudo, чтобы теперь все задачи мог выполнять локальный пользователь.

      3) Установите все обновления Debian 11

      Откройте терминал и запустите под командами,

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

      4) Установите Synaptic Package Manager

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

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

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

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

      5) Настройте параметры рабочего стола с помощью инструмента Tweak Tool

      Как следует из названия, инструмент настройки используется для настройки параметров рабочего стола в Debian 11. Настройка является частью установки ОС по умолчанию.

      В разделе «Действия» выберите «Настройка» и измените внешний вид рабочего стола, изменив настройки.

      6) Включите брандмауэр

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

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

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

      Точно так же вы можете разрешить другие входящие соединения, которые соответствуют вашим требованиям.

      7) Установите необходимое программное обеспечение (Skype, VLC и т. Д.)

      Debian 11 поставляется не со всеми приложениями, а только с приложениями и инструментами, необходимыми для запуска ОС вместе с некоторыми другими базовыми приложениями. Следовательно, вам необходимо самостоятельно установить все необходимое программное обеспечение.

      Загрузите и установите последний пакет Skype, используя приведенные ниже команды:

      После установки войдите в Skype

      Установите VLC Media Player:

      Чтобы установить медиаплеер VLC, выполните следующую команду apt:

      После установки проигрывателя vlc откройте его.

      8) Установите FileZilla и почтовый клиент

      Чтобы установить filezilla в Debian 11, выполните следующую команду apt:

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

      Примечание. Одним из важных инструментов для среды рабочего стола является инструмент для создания снимков экрана. В Debian 11 доступен предустановленный инструмент для создания снимков экрана.

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

      9) Ускорение загрузки

      Если в вашей системе установлен только Debian 11, вы можете ускорить загрузку, изменив значение тайм-аута grub на 0 в файле grub.

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

      Примечание. В случае двойной загрузки не следует устанавливать для этого параметра значение 0.

      10) Xkill за неотзывчивое приложение

      Когда вы обнаружите какие-либо приложения, которые не отвечают, вам понадобится утилита, чтобы немедленно их убить. В Debian 11 для этого мы используем утилиту Xkill. Чтобы включить XKill в вашей системе:

      Откройте « Настройки» -> « Сочетания клавиш» -> нажмите на символ + и создайте новый ярлык для XKill. Установите Ctrl + Alt + k, чтобы добавить ярлык для доступа к XKill с помощью этого ярлыка.

      Когда мы набираем « Ctrl + Alt + k », курсор превратится в крест, и когда мы щелкнем этот крестик в любом приложении, он убьет это приложение.

      11) Включите расширения GNOME

      Установите расширение для браузера и следуйте инструкциям на экране.

      После установки расширения «Dash to Panel» среда рабочего стола будет выглядеть, как показано ниже:

      12) Установите Timeshift Backup Tool

      Удивительно, но в Debian 11 нет инструментов или программ для резервного копирования. Вы можете увидеть множество программ резервного копирования в программном центре. Найдите Timeshift и установите его в свою систему.

      Нажмите « Установить », чтобы установить его в вашей системе.

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

      Щелкните значок « Timeshift », вам будет предложено ввести свои учетные данные, после чего мы получим следующий экран.

      Это все из статьи. Надеюсь, вы нашли его информативным. Пожалуйста, поделитесь своими отзывами и запросами в разделе комментариев ниже.

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