Как переключиться с Bash на Fish Shell на Linux

Minicom — это консольная программа операционной системы linux для установки сеанса связи с устройствами через последовательный com-порт. Для подключения к com-порту программу можно запускать с заданными аргументами и использовать псевдо-графический оконный интерфейс для изменения и сохранения настроек подключения. Рассмотрим настройку программы на примере популярной операционной системы семейства linux — Ubuntu.

sudo (англ. superuser [substitute user] do, дословно «выполнить от имени суперпользователя») — это программа, разработанная в помощь системному администратору и позволяющая делегировать те или иные привилегированные ресурсы пользователям с ведением протокола работы. Основная идея — дать пользователям как можно меньше прав, но при этом достаточно для решения поставленных задач.

Команда sudo предоставляет возможность пользователям выполнять команды от имени root, либо других пользователей. Правила, используемые sudo для принятия решения о предоставлении доступа, находятся в файле /etc/sudoers; язык их написания и примеры использования довольно подробно изложены в sudoers(5). Кроме того, пример правил, предоставляющих пользователям, являющимся членами группы rpm, возможность устанавливать, обновлять и удалять пакеты в системе, приведен в файле /usr/share/doc/sudo-<версия>/

Для редактирования файла /etc/sudoers следует использовать программу visudo, которая проверяет синтаксис и тем самым позволяет избежать ошибок в правилах.

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

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

sudo cat > /etc/apt/

выдаст ошибку прав доступа (так как с правами root выполняется только процесс cat, а перенаправление выполняет shell с правами обычного пользователя), хотя такое можно сделать, использовав конвейер:

cat | sudo tee /etc/apt/

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

sudo sh -c ‘cat > /etc/apt/’

или же попасть в шелл интерактивно аналогично работе su, используя параметр -s

sudo -s

или выполнив

sudo sh

Что такое apt-get?

Ubuntu основана на Debian Linux. Debian использует систему пакетов dpkg. Система пакетов — это способ предоставления программ и приложений для установки. Таким образом, вам не придётся собирать программу из исходного кода.

APT (Advanced Package Tool) — инструмент командной строки для взаимодействия с этой упаковочной системой. Для управления им уже существуют команды dpkg, но apt является более удобным способом работы с пакетами. Вы можете использовать его для поиска и установки новых пакетов, обновления пакетов, очистки пакетов и т.д.

У APT есть два основных инструмента: apt-get и apt-cache. apt-get предназначен для установки, обновления и очистки пакетов, в то время как команда apt-cache используется для поиска новых пакетов. Мы рассмотрим все эти команды с примерами позже в этом руководстве.

В этом руководстве я использую Linux Mint 18, но вы можете использовать любой другой дистрибутив Linux, основанный на Ubuntu, например, ElementaryOS, Linux Lite и т.п.

Установите Fish Shell

Прежде чем переключиться с Bash на Fish Shell в качестве основного терминала Shell, вам необходимо установить его на Linux. К счастью, он очень популярен и есть пакеты его почти в каждом дистрибутиве Linux. Откройте терминал и введите команду ниже, чтобы установить его.Ubuntusudo apt install fishDebiansudo apt-get install fishArch Linuxsudo pacman -S fishFedorasudo dnf install fishOpenSUSE

Установите Fish Shell

sudo zypper install fish Другие Linux Fish Shell существует давно, несмотря на то, что она довольно современна. Из-за своего возраста довольно легко получить её практически для любого дистрибутива Linux. Чтобы установить её, откройте терминал и проверьте свой менеджер пакетов на «Fish » или «Fish Shell». Кроме того, ознакомьтесь с официальной страницей Github. Переключить Bash на Fish Shell Использование Fish в качестве основной оболочки может занять некоторое время, поскольку оно сильно отличается от Bash. В отличие от многих других альтернатив (например, Zsh, Ksh и т. д.), Fish не использует систему Bash в качестве базы. Поскольку у Fish есть этот дизайн, некоторые команды могут отказаться от работы из-за другого синтаксиса, и вам, вероятно, придется изменить некоторые привычки при использовании терминала. К счастью для вас, есть отличная страница, в которой описываются все тонкости Fish Shell. Он описывает Синтаксис Fish, как он обрабатывает систему и много других вещей. Если вы планируете сделать переход, сделайте себе одолжение и прочитайте то что находится на этой того, как вы посмотрите на шпаргалку, безопасно откройте терминал и измените оболочку вашего пользователя по умолчанию от Bash до Fish Shell. В терминале запустите команду chsh. Однако не запускайте её с помощью sudo, иначе вы можете обменять оболочку корневого пользователя на Fish, а не на свою собственную. chsh -s /usr/bin/fishЗапуск команды chsh назначит вашему пользователю новую оболочку. Чтобы получить мгновенный доступ к Fish с вашим пользователем, напишите Fish в терминал. В противном случае перезагрузите ПК с Linux, чтобы завершить работу коммутатора. После перезагрузки войдите в систему и снова откройте терминал. Если все пойдет правильно, Fish станет новым дефолтом, и вас встретит Fish Shell, а не Bash. Настройка FishХотя вы перешли на Fish Shell, он не полностью готов к использованию. Следующий шаг — настроить его. В терминале создайте новую папку конфигурации. mkdir -p ~ /.config/fishЗатем создайте новый файл конфигурации внутри новой папки конфигурации Fish: touch ~ /.config/fish/Использование touch создает пустой конфигурационный файл Fish Shell, в котором ничего нет. На этом этапе безопасно добавлять в оболочку любые пользовательские конфигурации. Для большинства пользователей единственной необходимой модификацией является необходимость постоянного отключения приветственного сообщения. Добавьте изменения в конфигурацию Fish, выполнив следующую команду: echo ‘set fish_greeting «»‘ >> ~/.config/fish/ Конфигурация Fish Config Настройка Fish на нескольких компьютерах может быть довольно раздражающей, так как вам придется создавать новую конфигурацию для каждого ПК. Более быстрый способ — создать резервную копию файла и восстановить его на каждом ПК, на котором планируется использовать Fish. Чтобы создать резервную копию конфигурации, запустите эту команду в терминале cp ~/.config/fish/ ~/Documents/Чтобы восстановить конфигурацию, переместите файл на новый компьютер, поместите его в папку «Документы» и запустите: mkdir -p ~/.config/fishcp ~/Documents/ ~/.config/fish/Настройка По большей части, Fish настроен и готов к использованию. Однако, если вы хотите настроить и настроить его дальше, есть способ сделать это. Войдите в терминал и запустите эту команду: fish_configЗапуск этой команды автоматически откроет новую вкладку в вашем веб-браузере, так как это возможные аспекты Fish.В окне Fish_Config вы сможете применять предустановленные темы оболочки, назначать переменные, настраивать пользовательские функции, просматривать историю команд, назначать аббревиатуры, псевдонимы и многое другое!

Читайте также:  Raspberry Pi 3. Организация сетевого доступа к файлам через Samba

Как в Ubuntu зайти под root-ом?

Во всех нормальных дистрибутивах Linux всегда есть возможность войти и работать в системе под правами суперпользователя (root).

Во всех, кроме Ubuntu!

Это не значит, что Ubuntu — дистрибутив НЕнормальный, он очень даже нормальный.. Даже скорее «правильный» и бережно заботится о своих пользователях, ведь Ubuntu позиционирует себя, как дистрибутив для всех (считай домохозяек), а не только для бородатых линуксоидов, которые ничего кроме Linux не признают в этом мире.

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

Конечно, логика Ubuntu довольно ясна, но тем не менее, если уж очень хочется почувствовать себя Всемогущим, и если вы готовы взять всю ответственность на себя, если вы ДЕЙСТВИТЕЛЬНО понимаете что вы делаете.. я готов вам открыть секрет — как же войти в Ubuntu, как Бог… вернее включить такую возможность!

Итак, включаем возможность войти в систему под привилегиями ROOT элементарно – сменой пароля root в терминале.

Комманда смены пароля root в консоли звучит:

sudo passwd root

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

После этого можете выйти из сеанса текущего пользователя, выбрать в списке пользователей при входе пункт «другой пользователь», там в качестве логина ввести слово root, ну и соответственно в поле пароль – новоиспечённый пароль для root-а.

Читайте также:  Как правильно подключать модем к роутеру

Всё.. за дальнейшее я не ручаюсь =)

P.S. Настоятельно не рекомендую делать это, но знать об этом нужно (вернее можно)!

Настройка подключения к com-порту

Запуск программы лучше выполнять в привилегированном режиме sudo, т.к. программе могут понадобиться повышенные права для доступа к порту или для сохранения настроек.

Для доступа к меню конфигурации программу minicom нужно запустить с параметром -s:

sudo minicom -s

Выбираем пункт «Настройка последовательного порта».

Настройка подключения к com-порту

При использовании нуль-модемного кабеля, адресом последовательного порта в linux будет /dev/ttyS0 для COM1, /dev/ttyS1 для COM2 и т.д. В случаях, когда используется адаптер USB-to-COM, в качестве порта ввода-вывода будет использоваться /dev/ttyUSB0 или /dev/ttyUSB1.

Список доступных портов можно посмотреть командой:

dmesg | grep tty

Настройки для подключения к последовательному порту USB-to-COM с заданными параметрами будут выглядеть примерно так:

Для выбора последовательного порта нужно нажать клавишу [A] и отредактировать значение.

Для изменения скорости нажать клавишу [E] и затем [D], чтобы выбрать скорость 38400.

Нажимаем два раза клавишу [Enter], чтобы принять изменения и вернуться в начало меню «Конфигурация».Сохраняем настройки, выбрав пункт «Сохранить настройки как dfl». Это изменит настройки запуска программы, используемые по умолчанию.

Настройка подключения к com-порту

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

minicom cisco

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

Редактируем sudoers

Файл sudoers находится в каталоге “/etc”, для его редактирования необходимо ввести команду:

nano /etc/sudoers

Редактируем sudoers

В открывшемся файле ищем строчку, где написано что то наподобие “root ALL=(ALL:ALL) ALL”, под ней необходимо вписать имя пользователя, которому вы хотите дать права root. Например, я хочу дать пользователя “cyber-x” права root, для этого под строкой “root ALL=(ALL:ALL) ALL” вписываем имя “cyber-x”, а затем пишем “ALL=(ALL:ALL) ALL”. Другими словами, заменяем имя “root” на имя вашего пользователя:

cyber-x ALL=(ALL:ALL) ALL

После проделанной процедуры, можно поступить двумя способами, первый написать “exit”, тогда вы выйдите из под root пользователя и можно будет работать под вашим обычным пользователем с использованием sudo. А второй, перезагрузить систему, какой из приведенных способов использовать, решать вам.

Редактируем sudoers

 Установка программ из архивов (тарболов)

Дистрибутив с программой, представляет из себя архив с кучей файлов и обычно имеет расширение  .tar , ,  .bz, .tgz ну или что то похожее.

Для архивов сжатых с помощью GZIP (gz, gz2 и т.д.) выполняем:

tar -xvzf имя_файла

Для архивов сжатых с помощью BZIP (bz, bz2 и т.д.) выполняем:

tar -xvjf имя_файла

Команды Tar:

  • x — извлечь файлы из архива;
  • v — подробный вывод информации на экран;
  • f — Обязательная опция. Если не указать, Tar будет пытаться использовать магнитную ленту вместо файла;
  • z — обработать архив сжатый gzip’ом;
  • j — обработать архив сжатый bzip’ом.

После выполнения, будет создана папка с именем, идентичным названию пакета.

Далее необходимо открыть эту созданную папку

cd имя_папки

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

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

Читайте также:  Релиз дистрибутива MX Linux 19 на основе Debian 10.1 «Buster»

./

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

./configure make make install

После установки делаем:

make clean

Все, как ведите ничего сложного в установке программ в Linux нет.

Пробуждение интереса к миру GNU/Linux

В декабре 2018 г., один мой клиент захотел перенести свои два интернет-магазина (работают на WordPress + тема Woodmart) на облачные VPS. Сайты тормозили на обычном shared-хостинге, кеширование частично решало эту проблему.

Выбрали облачный VPS на , а я уже сам выбрал связку Ubuntu Server + ISPManager. Сайты были успешно перенесены и успешно там работают до сих пор.

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

Этот случай с переносом сайтов на облачный VPS под управлением Ubuntu снова обратил мое внимание на мир GNU/Linux.

Установка сервера 1С

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

  • sudo locale-gen en_US
  • sudo locale-gen ru_RU
  • sudo dpkg-reconfigure locales (где выбираем ru_)

Создается папка для дистрибутива 1С при помощи команды:

  • mkdir ~downloads/

В созданную ранее папку нужно закачать имеющийся дистрибуrdсервера 1С для deb64, например: deb64_8_3_13_ (_file?nick=Platform83&ver=&path=Platform%5C8_3_13_1513%5Cdeb64_8_3_13_). Это можно сделать из браузера сервера, используя графический интерфейс. Также можно поместить скачанные файлы на сервер, создав на нём ftp-сервер.

Запустив WinSCP, в появившемся окне необходимо указать ip-адрес UbuntuServer и нажать «войти»:

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

  • cd ~downloads/

Затем необходимо распаковать архив:

  • tar xvzf deb64_8_3_13_

Установить пакеты:

  • sudo dpkg -i *.deb

При установке на Ubuntu может возникнуть проблема с отсутствием пакета . Решить ее можно с помощью последовательного ввода команд в терминал:

  • sudo apt-get install
  • sudo apt-get -f install

ВАЖНО! У установочных пакетов deb1с есть зависимости, ввиду чего, если установка не закончилась успешно, необходимо пакеты входящие в поставку платформы 1С (_files?nick=Platform83&ver=) скачать отдельно в папку ~/downloads/

Запускаем сервер 1С:

  • sudo service srv1cv83 start

Проверяем запуск сервера:

  • sudo service srv1cv83 status

Для запуска сервера в режиме отладки необходимо изменить конфигурационный файл /etc/init.d/srv1cv83 (документация по файлу #bookmark:adm:TI000000418).

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

Для удобства пользования рекомендуется поставить файловый менеджер MidnightCommander. Для этого в консоли сервера прописывается команда:

  • sudo apt-get install mc.

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

  • sudo mc

Или сразу править нужный конфигурационный файл/скрипт командой:

  • sudo mcedit /etc/init.d/srv1cv83

Для примера отредактируем файл /etc/init.d/srv1cv83 командой:

  • sudo mcedit /etc/init.d/srv1cv83

В появившемся редакторе изменим ключ SRV1CV8_DEBUG (значение 1=вкл debug, значение 0=выкл debug). Также данную строку необходимо раскомментировать (убрать символ # перед ключом), после чего жмём F2 (сохранить изменения) и F10 (выйти из редактора).

После данных изменений сервис 1С севера необходимо перезапустить командой:

  • sudo service srv1cv83 restart

Как перенаправить с помощью Sudo

Если вы попытаетесь перенаправить вывод команды в файл, для которого у вашего пользователя нет прав на запись, вы получите ошибку «Permission denied».

Это происходит потому, что перенаправление вывода « > » выполняется под пользователем, в который вы вошли, а не под пользователем, указанным с помощью sudo. Перенаправление происходит до вызова команды sudo .

Одно из решений — вызвать новую оболочку как root с помощью sudo sh -c :

Другой вариант — передать вывод как обычный пользователь команде tee , как показано ниже: