Автозапуск через cron
Если вам с какой-то периодичностью нужно запускать скрипт или команду, вы можете воспользоваться cron-ом:
— открыть терминал для написания задания cron
И добавьте туда нужное вам задание, например:
— запускать скрипт каждую минуту.
Можно написать скрипт watch-dog, который по заданию будет проверять, например, статус какого-либо сервиса и, если он не работает, запускать его. На нескольких своих проектах я использую подобную схему.
Чтобы вывести список всех заданий в крон, нужно выполнить команду:
* * * * * /root/test.sh
Допустимые значения для времени запуска заданий cron по порядку:
- Минуты от 0 до 59
- Часы от 0 до 59
- День месяца от 1 до 31
- Месяц от 1 до 12
- День недели от 0 до 7 (0 или 7 это воскресение)
В нашем задании скрипт запускается каждую минуту, поэтому там стоят «*».
Так же вы можете разместить нужный вам скрипт в директориях cron:
- /cron.daily – выполнение скрипта ежедневно
- /cron.hourly – выполнение скрипта ежечасно
- /cron.monthly — выполнение скрипта ежемесячно
- /cron.weekly — выполнение скрипта еженедельно
Скрипты в указанных директория будут запускаться согласно автоматически подготовленного расписания.
Создание приложения консоли, которое читает файл конфигурации
В файле конфигурации, связанном с приложением, можно хранить параметры приложений. Файлы конфигурации сохраняются в формате XML.
Пространство имен и имен в платформа .NET Framework классы для получения сведений из файла конфигурации приложения .NET во время запуска.
Чтобы создать консольное приложение, которое читает содержимое связанного файла конфигурации во время запуска, выполните следующие действия:
-
Начните Visual Studio .NET или Visual Studio.
-
В меню File указать на New, а затем выбрать Project.
-
выберите visual C# в Project типах, а затем выберите консольное приложение в шаблонах. Назови проект ConConfig. По умолчанию Visual C# создает класс с именем Program.
Примечание
В Visual Studio .NET выберите Visual C# проектов в Project типах, а затем выберите консольное приложение в шаблонах. Назови проект ConConfig. По умолчанию Visual C# создает класс с именем Class1.
-
Убедитесь, что отображается окно Обозреватель решений. Если его не видно, нажмите клавишу CTRL+ALT+L.
-
В Обозревателе решений щелкните правой кнопкой мыши имя проекта, выберите Добавить, а затем выберите Новый элемент.
-
В списке Добавление новых элементов выберите XML-файл.
-
В текстовом окне Имя введитеApp.config, а затем выберите Добавить.
-
Вы можете использовать файл конфигурации приложений для сбора настраиваемой настройки приложения, которые вы сохраняете в формате ключ/значение. Элементы можно включить в раздел связанного файла конфигурации. Каждая пара ключей и значений имеет один элемент. Элемент имеет следующий формат:
Добавьте раздел с элементами в файл конфигурации между тегами и тегами.
Например, в следующем файле конфигурации содержится раздел, который указывает три пары ключей и значений:
-
В Обозревателе решений дважды щелкните Program.cs, чтобы отобразить окно кода. Добавьте следующие утверждения в модуль кода.
Примечание
Эти утверждения должны отображаться перед любыми другими утверждениями в файле.
-
Добавьте ссылку на System.Configuration.dll, следуя следующим шагам:
- В меню Project добавьте ссылку.
- В диалоговом окне Добавить ссылку выберите вкладку .NET.
- Найдите и выберите имя компонента .
- выберите ОК.
-
Чтобы удерживать значение из ключа файла конфигурации в разделе файл конфигурации, заявите строковую переменную в разделе следующим образом:
-
Чтобы получить значение для указанного ключа из раздела файла конфигурации, используйте метод свойства класса. Класс находится в пространстве имен. Когда метод получает параметр ввода строки, содержащий ключ, приложение получает значение, связанное с ключом.
Следующий код извлекает значение атрибута из связанного файла конфигурации. Затем код помещает это значение в переменную строки. Если ключа для этого значения не существует, в них ничего не хранится.
-
Чтобы отобразить значение, которое приложение извлекает в окне Консоли, используйте следующим образом:
-
Для получения всех пар ключей и значений в разделе можно использовать одну ссылку на свойство. При использовании свойства приложение возвращает все связанные пары ключей и значений. Эти пары хранятся в типе. Содержит записи ключа и значения для каждого ключа, который извлекает приложение. Класс находится в пространстве имен.
-
Свойство ссылок строковый массив, который имеет запись для каждого ключа, который приложение извлекает. Используйте конструкцию foreach для итерации через массив, чтобы получить доступ к каждому ключу, который извлекает приложение. Каждая запись ключа — это тип данных строки.
Внутри конструкции используйте для отображения ключа и связанного с ним значения в окне Консоли. Текущий ключ, в который находится процессы приложения. Используйте его в качестве индекса для получения связанного значения.
②Начать выполнять настройки bash пользователя ниже
Если файл ~ / .bash_profile существует, файл пользователя ~ / .bashrc обычно будет выполняться таким образом. Как правило, в файле ~ / .bash_profile содержится следующий код:
Точно так же в ~ / .bashrc обычно перед файлом будет следующий код для выполнения / etc / bashrc
Следовательно, ~ / .bashrc вызовет файл / etc / bashrc. Наконец, при выходе из оболочки будет выполнен файл ~ / .bash_logout.
Четыре, другие
- При входе в графический режим последовательно прочтите: / etc / profile и ~ / .profile.
- После входа в систему в графическом режиме при открытии терминала последовательно прочтите: /etc/bash.bashrc и ~ / .bashrc
- При входе в систему в текстовом режиме последовательно прочтите: /etc/bash.bashrc, / etc / profile и ~ / .bash_profile.
- От других пользователей su к этому пользователю возможны две ситуации: (1) Если выбран параметр -l (или-параметр, -login параметр), например: su -l имя пользователя, bash является lonin, и он будет читать следующие файлы конфигурации по порядку: /etc/bash.bashrc, / etc / profile и ~ /.bash_profile. (2) Если параметр -l отсутствует, bash не используется для входа в систему, он будет читать в следующем порядке: /etc/bash.bashrc и ~ / .bashrc
- При выходе или выходе из системы пользователей su, если это режим longin, bash будет читать: ~ / .bash_logout
- При выполнении специального файла оболочки, если вы используете метод «bash -l a.sh», bash будет читать строки: / etc / profile и ~ / .bash_profile. Если вы используете другие методы, такие как bash a.sh, ./a.sh, sh a.sh (это не оболочка bash), он не будет читать ни один из указанных выше файлов.
Справочный блог:Профиль, bashrc, Linux/.bash_profile、/.bashrc, ~ / .bash_profile разница и порядок подключения и выполненияАнализ файлов / etc / profile, / etc / bashrc под linux/.bash_profile、/.bashrc файлРазница между profile, bashrc, bash_profile, / etc / profile, /etc/profile.d/ в Linux
4 Настраиваемый простейший скрипт
Теперь давайте добавим несколько элементов управления в наш скрипт. Как вы знаете, rc.d скрипты управляются из файла rc.conf(5). К счастью,
rc.subr(8) скрывает от
нас все сложные элементы разбора и анализа. Приведенный далее скрипт проверяет, было ли
разрешено его выполнение в фале rc.conf(5), и если оно
было разрешено, выводит сообщение при загрузке. Фактически, две эти задачи совершенно
независимы. С одной стороны, rc.d скрипт поддерживает
разрешение и запрещение его исполнения через rc.conf(5), с другой
стороны rc.d может иметь конфигурационные переменные. Мы
реализуем обе эти возможности в нашем скрипте:
#!/bin/sh . /etc/rc.subr name="dummy" rcvar=`set_rcvar` start_cmd="${name}_start" stop_cmd=":" load_rc_config $name eval "${rcvar}=\${${rcvar}:-'NO'}" dummy_msg=${dummy_msg:-"Nothing started."} dummy_start() { echo "$dummy_msg" } run_rc_command "$1"
Что изменилось в этом примере?
Лучшие способы майнить Ethereum Classic
В этой статье будут использоваться Nanopool и F2pool в качестве пулов для майнинга Ethereum Classic из-за их приложений для быстрого запуска.
Майнинг Ethereum Classic с использованием Nanopool
Прежде всего, вам нужно перейти на Nanopool.org и нажать кнопку «Быстрый старт» под Ethereum Classic.
Как только вы это сделаете, вы увидите набор из пяти инструкций. В первом вам предлагается выбрать для вашего графического процессора либо Nvidia, либо AMD. После того, как вы выберете любой из них, вы будете перенаправлены на GitHub для загрузки программного обеспечения для майнинга. Однако вы загрузите его в виде архива .zip, а затем распакуйте его в папку на своем ПК.
Знайте, что если вы выберете Nvidia, вы перейдете к программному обеспечению FinMiner, а выбор AMD приведет вас к майнеру Claymore Dual Ethereum. Однако вы можете использовать Finminer или Claymore Dual Ethereum, потому что их можно использовать для карт AMD и Nvidia.
Claymore Miner
После того, как вы загрузили файлы Claymore и разархивировали их, вам необходимо получить файл конфигурации для их запуска. Это могут быть разные инструменты, но у Nanopool есть один, который вы можете использовать для настройки файлов Claymore. Вы можете получить файл конфигурации Nanopool, перейдя в его меню быстрого запуска и нажав кнопку на шаге 3, чтобы сгенерировать файл конфигурации. В этом файле конфигурации указаны некоторые важные параметры, такие как правильный сервер для подключения, адрес ETH, на который вам нужно отправить свои доходы, и адрес, на который вы отправляете свой второй заработок (Siacon или PascalCoin).
Вы должны выбрать дополнительный кошелек для отправки своих доходов, поэтому вы можете выбрать кошелек Siacon или PascalCoin.
Как только вы закончите с этим, нажмите «Создать». Как только вы нажмете на это, будет создан другой файл .zip. Загрузите файл и извлеките его содержимое (dpools.txt, epools.txt и start.bat) в ту же папку, в которую вы извлекли майнер на первом этапе. Затем нажмите «Да», чтобы перезаписать файлы, когда их попросят.
Перейдите в папку, в которую вы все извлекли; дважды щелкните файл start.bat. Майнер сначала проверит все параметры, а затем запустит программное обеспечение для майнинга. Если все было подтверждено, программа начнет процесс майнинга.
FinMiner
С программным обеспечением для майнинга FinMiner вам нужно будет выполнить некоторые задачи. Как и Claymore, вам нужно скачать. Zip-файл из исходного кода Github для FinMiner. После того, как вы их загрузили, извлеките их и настройте.
Откройте config.ini файл с помощью Блокнота, затем вставьте следующее под строкой «Адрес для отправки средств», заменив строку «wallet =»:
кошелек = ВАШ_ETH_ADDRESS
алгоритм = Ethash
coin = ETH
rigName = ВАШ_ РАБОТНИК
pool1 = eth-eu1.nanopool.org:9999
pool2 = eth-eu2.nanopool.org:9999
pool3 = eth-us-east1.nanopool.org:9999
pool4 = eth-us-west1.nanopool.org:9999
pool5 = eth-asia1.nanopool.org:9999
Вы также должны отметить, что вам нужно заменить YOUR_ETH_ADDRESS на свой фактический адрес кошелька Ethereum Classic. Как только вы закончите, запустите файл Finminer.exe, и он запустится в командной строке. После этого можно начинать майнинг.
Официальное решение
При ошибке «Этому файлу не сопоставлена программа для выполнения» первым делом необходимо обратиться к рекомендуемому разработчиками решению. Microsoft уже давно знают о существующей проблеме, соответственно предприняли некоторые действия по устранению неисправности.
Первым делом рекомендуется проверить наличие обновлений. Большая часть компьютеров с проблемой не имеют обновлением с кодом KB3081424. Преимущественно оно позволяет устранить ошибку, но может потребоваться и дополнительная манипуляция – диагностика системы.
Для решения ошибки дополнительно был выпущен инструмент Diagnostic Tool, который автоматически проверяет основные причины неисправности и устраняет их. Помимо проблемы с ассоциацией позволяет решать и другие неисправности с Windows подобного характера. Ссылка на утилиту https://www.microsoft.com/en-us/download/details.aspx?id=49924.
Процедура обработки системы имеет максимально простую структуру – запустите файл с расширением .diagcab и выполните настройки инструмента. После завершения процедуры необходимо перезапустить ПК. Проверьте, всё ли вернулось в порядок, если нет, можно выполнить другую манипуляцию.
Как определить, какой процесс в Windows 10 не дает переименовать, переместить либо удалить файл или папку
Н аверное, каждому из пользователей Windows хотя бы раз приходилось иметь дело с так называемыми неудаляемыми файлами и папками. Как правило, причиной невозможности удалить, переместить или хотя бы переименовать такой объект является использование его каким-то процессом, причём необязательно чтобы этот процесс был системным. Это может быть антивирус, архиватор или какой-нибудь редактор.
Обычно в окне с ошибкой прямо указывается, что за процесс препятствует дальнейшим действиям с объектом, но бывает и так, что вместо этого сообщается, что файл или папка открыты в другой программе. Это понятно, но вот в какой именно?
Так вот, определить её очень просто. Во всех популярных версиях Windows (начиная с 7) есть такая встроенная утилита как «Монитор ресурсов», предназначающаяся для контроля использования программных и аппаратных ресурсов. В её поле зрения попадают все процессы, в том числе и зависшие. Она то как раз и подскажет, что именно держит файл или папку.
Вот так всё просто. Кстати, если удерживающий процесс не является критическим, его можно завершить прямо из окна монитора ресурсов.
После этого проблемный файл, папка или другой объект легко смогут быть удалены обычным способом.
Сравнение контрольных сумм является простым и надежным методом проверки подлинности файлов, так как даже при Читать далее
Любители скачивать из интернета всё подряд во время плановой оптимизации системы нередко обнаруживают у себя Читать далее
Windows 10 имеет неплохой встроенный механизм поиска с поддержкой индексации, но всё же пока он Читать далее
Когда вы удаляете папки или файлы, они перемещаются в Корзину, откуда легко могут быть восстановлены. Читать далее
Установка и использование подсистемы Linux (WSL)
Для начала мы поговорим о первой версии WSL, которая появилась в версии Windows 10 Build 14251. Эта версия была первой полноценной системой Linux в «десятке».
Однако она не была лишена проблем. Во-первых, таким образом можно было запустить только консольные приложения, хотя в их числе были ssh, MySQL, Apache — все это устанавливалось через собственный менеджер пакетов. Во-вторых, она позволяла использовать лишь ограниченный набор дистрибутивов. В-третьих, первая WSL могла предложить не слишком высокое быстродействие из-за того, что выполнялась фактически в эмуляторе.
При этом система уже могла запускать почти все консольные программы, обновлять их, работать с bash-скриптами и так далее.
Но давайте перейдем к сути и поговорим о том, как можно установить первую WSL в Windows 10.
Шаг 1
Перед установкой любых дистрибутивов Linux в Windows необходимо сначала включить дополнительную функцию «Подсистема Windows для Linux».
Для этого открываем PowerShell от имени администратора (меню Пуск> PowerShell>, правой кнопкой по пункту и «Запуск от имени администратора»). Затем вводим эту команду:
Можно перегрузить компьютер для гарантии.
Шаг 2
Установите желаемый дистрибутив Linux из магазина Microsoft:
microsoft.com
В списке есть такие варианты дистрибутивов:
- Ubuntu 18.04 LTS
- Ubuntu 20.04 LTS
- openSUSE Leap 15.1
- SUSE Linux Enterprise Server 12 SP5
- SUSE Linux Enterprise Server 15 SP1
- Kali Linux
- Debian GNU/Linux
- Fedora Remix for WSL
- Pengwin
- Pengwin Enterprise
- Alpine WSL
- Raft(Free Trial)
Шаг 3
Скачиваем нужный дистрибутив, нажав кнопку «Получить» или Get.
microsoft.com
Помимо этого, можно загрузить нужный дистрибутив через Poweshell. Для этого вводим в Powershell команду:
Вместо «» подставляем нужную ссылку из списка дистрибутивов выше и ждем скачивания.
После этого, устанавливаем с помощью команды:
Где — это название пакета с дистрибутивом в формате .appx.
Также можно скачать дистрибутив с помощью утилиты cURL. Это делается через обычную командную строку. Команда тогда выглядит так:
После скачивания и установки нужно создать имя пользователя и пароль для нового дистрибутива.
microsoft.com
При этом важно, что в первой версии WSL нельзя использовать «графические» приложения — только консольные. Приложения с полноценным графическим окружением есть в WSL 2, к нему мы и переходим
Выполните чистую загрузку
Когда вы запускаете ОС Виндовс в обычном режиме, несколько приложений и служб запускаются автоматически, и далее работают в фоновом режиме. Эти программы включают в себя базовые системные процессы, антивирусы, системные служебные программы и другой релевантный софт. Все эти приложения и службы могут вызывать конфликты программного обеспечения.
Рекомендуем для запуска Виндовс выполнить чистую загрузку с использованием минимума драйверов. Осуществите следующее:
- Нажмите на клавиши Win+R;
- В открывшемся окне наберите и нажмите на клавишу Энтер;
-
В открывшемся окне перейдите на вкладку «Службы» и поставьте галочку рядом с опцией «Не отображать службы Майкрософт»;
- Далее нажмите на «Отключить всё» — «Ок»;
-
Затем перейдите во вкладку «Автозагрузка» — «Открыть Диспетчер задач»;
-
Отключите все имеющиеся там программы автозагрузки, наведя курсор на нужную программу, кликнув правую клавишу мышки, и выбрав «Отключить»;
- Нажмите на «Ок», и перезагрузите ваш ПК;
В данном режиме Виндовс загрузится без каких-либо сторонних программ. Если удалить нужный файл получается, значит какая-либо из отключенных программ ранее мешала этому. Останется определить виновницу, попеременно включая программу одну за другой и наблюдая, можете ли вы удалить ненужные файлы.
Конфиг для CS:GO – инструкция по установке
Каждый пользователь Counter Strike: Global Offensive должен иметь собственные настройки, которые повышают эффективность игры. Только создавать свои конфиги CS:GO – довольно хлопотно и не все умеют это делать. Поэтому многие геймеры используют уже готовое решения – конфиг профессиональных игроков. Достаточно лишь скачать CFG для CS:GO и правильно установить на ПК.
Сразу отметим, что практически все конфигурационные файлы находятся в открытом доступе и скачать лучший КФГ для CS:GO можно совершенно бесплатно. Что такое конфиг? Это обычный файл конфигурации для хранения настроек игры, в котором находятся все параметры пользователя, влияющие не только на результат поединка, но и на основные характеристики. Например, конфиг для CS:GO позволяет выбрать комфортную чувствительность мыши, установить оптимальное разрешение, яркость, прицел, положение рук и другие ключевые настройки игры.
Настройка конфига для CS:GO
При желании, в интернете можно найти архивы лучших и скачать конфиги для CS:GO, созданные профессиональными игроками. Сегодня есть КФГ, которые включают в себе целый ряд графических и технических изменений. В частности, предназначенные для любого вида оружия – отдельно для AWP и АК-47. Такой конфиг для CS:GO помогает эффективнее уничтожать врагов, контролируя каждый патрон при зажиме, а также сделать одиночные выстрелы более плавными и мягкими.
Учитывайте, что конфигурационные файлы имеют расширение .cfg. Чтобы правильно установить конфиг от рядового игрока не требуются углубленные знания программирования. Необходимо найти и скачать официальный КФГ для CS:GO. Далее можно воспользоваться одним из двух способов:
Автоматический режим. Запускаете приложение Steam и переходите по вкладке «Библиотека». Из списка игр правой кнопкой мыши отмечаете CS:GO и выбираете «Свойства». В новом окне переходите в меню «Локальные файлы» и «Просмотреть локальные файлы». После загрузки открываете папку csgo, выбираете файл с расширением .cfg и меняете его на ранее скачанный конфиг.
Установка конфига для CS:GO через Steam
Вручную. Открываете папку по адресу – C:\Program Files (x86)\Counter-Strike Global Offensive\csgo\cfg и копируете файл с аналогичным расширением из архива в директорию игры с заменой существующего.
Вне зависимости от выбранного способа, чтобы сохранить конфиг нужно запустить Counter Strike: Global Offensive и в консольной строке прописать команду: exec config.cfg (где «config» — название файла архива).
Сравнение интерактивного входа в систему и неинтерактивной пакетной оболочки
Как правило, оболочка имеет два режима работы. Он может работать как интерактивная оболочка входа в систему и как неинтерактивная пакетная оболочка. Режим работы определяет запуск Bash и то, какие файлы конфигурации читаются. Режим работы можно различать следующим образом – интерактивная оболочка входа в систему, интерактивная оболочка без входа в систему, неинтерактивная оболочка входа в систему и неинтерактивная (пакетная) оболочка без входа в систему.
Проще говоря, интерактивная оболочка читает и записывает в пользовательский терминал. Напротив, неинтерактивная оболочка не связана с терминалом, как при выполнении сценария пакетной оболочки. Интерактивная оболочка может быть как оболочкой входа, так и оболочкой без входа.
8 Создание более гибких rc.d скриптов
Во время запуска и остановки системы rc.d скрипт
предположительно оперирует над той или иной подсистемой целиком. К примеру, скрипт /etc/rc.d/netif должен запускать и останавливать все сетевые
интерфейсы, описанные в rc.conf(5). Так же
каждая задача должна быть целиком описана одной командой — или . Но между запуском
системы и ее остановкой rc.d должны помогать системному
администратору управлять запущенными процессами, и зачастую для этого необходимо больше
гибкости. Например, администратор может сконфигурировать новый интерфейс в rc.conf(5) и ему
понадобиться запустить только этот интерфейс, не затрагивая все остальные. В следующий
раз, администратору может понадобиться остановить этот единственный интерфейс. Для этого
можно передавать дополнительные опции для скрипта, такие как название интерфейса, в виде
дополнительных аргументов командной строки.
К счастью, rc.subr(8) позволяет
передать скрипту любое количество аргументов (в пределах системных ограничений). Поэтому,
можно обойтись минимальными изменениями скрипта.
Как rc.subr(8) может
получить доступ к аргументам командной строки? Передать их непосредственно внутри скрипта
функции невозможно, так как функции sh(1) не имеют доступа
к позиционным параметрам вызывающего их объекта. Кроме того, в rc.d скриптах считается хорошим тоном, когда скрипт сам определяет
какие аргументы должны быть переданы его методам.
В rc.subr(8)
используется следующее решение: функции
передаются все аргументы командной строки, при этом подразумевается, что первым из этих
аргументов является имя запускаемого метода — , и т.д. Эти аргументы сдвигаются внутри функции c помощью оператора sh(1) . Таким образом, переменная $2 в
изначальной командной строке передается методу как $1, и так
далее.
So the approach adopted by rc.subr(8) is as
follows:
Хорошо проиллюстрировать это нам поможет следующий пример. Давайте изменим наш первый
простейший скрипт так, чтобы его сообщения зависели от дополнительных аргументов.
Итак:
#!/bin/sh . /etc/rc.subr name="dummy" start_cmd="${name}_start" stop_cmd=":" kiss_cmd="${name}_kiss" extra_commands="kiss" dummy_start() { if ; then echo "Greeting message: $*" else echo "Nothing started." fi } dummy_kiss() { echo -n "A ghost gives you a kiss" if ; then echo -n " and whispers: $*" fi case "$*" in *) echo ;; *) echo . ;; esac } load_rc_config $name run_rc_command "$@"
Какие значимые изменения были сделаны в этом файле?
- Все аргументы, переданные скрипту после аргумента
будут переданы как аргументы соответствующему методу. Мы можем использовать их любым
способом в соответствии с поставленной задачей и в меру наших навыков и фантазии. В
настоящем примере мы просто передаем их все команде echo(1) как одну
строку в переменной $* внутри двойных кавычек. Вот пример как
может быть вызван такой скрипт: -
# /etc/rc.d/dummy start Nothing started. # /etc/rc.d/dummy start Hello world! Greeting message: Hello world!
-
Такой же трюк можно проделать с любыми методом нашего скрипта, а не только со
стандартными. Добавим нестандартный метод , и он будет
иметь те же возможности, что и метод :# /etc/rc.d/dummy kiss A ghost gives you a kiss. # /etc/rc.d/dummy kiss Once I was Etaoin Shrdlu... A ghost gives you a kiss and whispers: Once I was Etaoin Shrdlu...
- Если мы хотим просто передать все дополнительные аргументы любому методу, мы можем
просто заменить "$1" на "$@" в
последней строке нашего скрипта, в которой мы вызываем .
Удаление
Измените оболочку по умолчанию перед удалением пакета .
Важно: Несоблюдение процедуры ниже, может привести пользователя к невозможности получить доступ к рабочей оболочке
.
Запустите следующую команду:
$ chsh -s /bin/bash user
Где user — имя пользователя.
Используйте эту команду для каждого пользователя с установленной оболочкой zsh (в том числе и root при необходимости). После, удалите пакет .
Кроме того, изменить оболочку по умолчанию обратно в Bash, можно редактируя от root.
Важно: Настоятельно рекомендуется использовать когда редактируете это помогает предотвратить неверные записи и/или ошибки синтаксиса.
Например, изменить следующие:
username:x:1000:1000:Full Name,,,:/home/username:/bin/zsh
На:
username:x:1000:1000:Full Name,,,:/home/username:/bin/bash