Архив метки: Linux

Как добавить каталог в PATH в Linux

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

Зачем нам добавлять каталог в $PATH?

На днях я тестировал программу Macchina , написанную на языке программирования Rust . Итак, я установил Rust с помощью диспетчера пакетов conda в своей системе Ubuntu, а затем установил Macchina с помощью диспетчера пакетов cargo Rust.

Когда я попытался запустить программу Macchina, на выходе было сказано, что программа не установлена. Я снова попытался установить его и получил следующее сообщение об ошибке:

Updating crates.io index

Ignored package `macchina v0.5.9` is already installed, use --force to override

warning: be sure to add `/home/sk/.cargo/bin` to your PATH to be able to run the installed binaries

Как вы, возможно, уже знаете, когда мы устанавливаем программу, написанную на Rust, исполняемые двоичные файлы будут сохранены в каталоге ~/.cargo/bin.

$ ls ~/.cargo/bin/

macchina

Как видите, двоичный файл Macchina хранится в каталоге грузового отсека. После установки Rust мне следовало добавить этот каталог в свой $PATH, но я забыл. Отсюда и вышеупомянутая проблема!

Если бы я установил Rust с помощью скрипта установщика rustup, я бы не столкнулся с этой проблемой. Поскольку сценарий rustup автоматически добавит каталог bin Cargo в переменную среды $PATH, изменив файл профиля, расположенный в  ~/.profile. Но в этом случае я установил Rust внутри среды conda, и каталог bin не добавлен в PATH.

Список переменных среды в $PATH

Давайте перечислим все переменные среды $PATH, которые мы выведем командой echo.

$ echo $PATH

Пример вывода:

/home/sk/anaconda3/envs/rustenv/bin:/home/sk/anaconda3/condabin:/home/sk/.nvm/versions/node/v15.0.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Как видно из вышеприведенного вывода, каталог ~/.cargo/bin/ недоступен в $PATH, поэтому программа Macchina не может быть запущена с использованием ее имени. Однако я могу запустить программу, введя полный путь, как показано ниже:

$ ~/.cargo/bin/macchina

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

Добавить каталог в PATH в Linux

Чтобы добавить каталог, например /home/sk/.cargo/bin/, в $ PATH, запустите:

$ export PATH=/home/sk/.cargo/bin:$PATH

Обратите внимание на двоеточие (:) в конце пути к каталогу.

Теперь снова перечислите переменные среды, используя echoкоманду:

$ echo $PATH

Пример вывода:

/home/sk/.cargo/bin:/home/sk/anaconda3/envs/rustenv/bin:/home/sk/anaconda3/condabin:/home/sk/.nvm/versions/node/v15.0.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Видите? Каталог ~/.cargo/bin был добавлен в $PATH. С этого момента я могу запускать любую программу, установленную в этом каталоге, просто вызывая имя программы. Не нужно указывать полный путь!

Учтите, что это временно. После выхода из текущего сеанса переменная среды исчезнет. Чтобы сделать изменения постоянными, отредактируйте файл ~/.bashrc:

$ nano ~/.bashrc

Добавьте в конец следующую строку:

export PATH=/home/sk/.cargo/bin:$PATH

Нажмите, CTRL+O, а затем, CTRL+X, чтобы сохранить файл и выйти.

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

$ source ~/.bashrc

Если вы хотите сделать это общесистемным, добавьте ту же строку в /etc/profile.

Надеюсь это поможет.



2021-05-04T12:11:43
Вопросы читателей

Проверяйте доступ к консоли сервера перед тем, как сделать reboot

Хочу сделать предостережение, основанное на личном опыте. Не так давно делал рядовое обновление сервера, которое требовало перезагрузку. Сервер далеко, в необслуживаемой серверной. То есть там никого нет вечером, кто смог бы хоть что-то сделать. Как обычно, время выбрал позднее, так как на сервере полезная нагрузка. Его активно используют люди в течении рабочего дня. И кто бы мог подумать, что сервер не выйдет из ребута. Читать

Использование apt-команд в Linux

Использование apt-команд в Linux

Если вы используете Debian, Ubuntu, Linux Mint или любой другой дистрибутив Debian или Ubuntu, вы, должно быть, уже сталкивались с некоторыми apt-командами.

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

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

Лучшие приложения для создания мокапов в Linux

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

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

Как исправить System Program Problem Detected (обнаружена ошибка в системной программе) в Ubuntu

Как исправить System Program Problem Detected (обнаружена ошибка в системной программе) в Ubuntu

Последнюю пару недель практически каждый раз при запуске Ubuntu встречал меня словами “system program problem detected”. Я игнорировал их, но спустя какое-то время мне это надоело. Вам также вряд ли понравится такое оповещение при каждом запуске системы: Читать

Примеры команд Tmux для управления несколькими терминальными сессиями

Сегодня мы увидим одну хорошо известную утилиту командной строки под названием «Tmux» для управления сеансами терминала. Подобно GNU Screen, Tmux также является мультиплексором терминала, который позволяет нам создавать несколько сеансов терминала и запускать более одной программы или процессов одновременно в одном окне терминала. Tmux — это бесплатная кроссплатформенная программа с открытым исходным кодом, которая поддерживает Linux, OpenBSD, FreeBSD, NetBSD и Mac OS X. В этом руководстве мы обсудим наиболее часто используемые команды Tmux в Linux, ответив, тема самым, на очередной вопрос по использованию Linux https://unixhow.com.

Установка Tmux в Linux

Tmux доступен в официальных репозиториях большинства дистрибутивов Linux.

В Arch Linux и его вариантах выполните следующую команду, чтобы установить его.

$ sudo pacman -S tmux

В Debian, Ubuntu, Linux Mint:

$ sudo apt-get install tmux

В Fedora:

$ sudo dnf install tmux

В RHEL и CentOS:

$ sudo yum install tmux

В SUSE/openSUSE:

$ sudo zypper install tmux

Итак, мы только что установили Tmux. Давайте посмотрим на несколько примеров, чтобы узнать, как использовать Tmux.

Примеры команд Tmux для управления несколькими терминальными сессиями

Ярлык префикса по умолчанию для всех команд в Tmux — Ctrl + b . Просто запомните это сочетание клавиш при использовании Tmux.

Примечание. Префиксом по умолчанию для всех экранных команд является Ctrl + a .

Создание сессий Tmux

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

tmux

Или же,

tmux new

Как только вы войдете в сеанс Tmux, вы увидите зеленую полосу внизу, как показано на скриншоте ниже.

Очень удобно проверить, находитесь ли вы в сеансе Tmux или нет.

Отключение от сессий Tmux

Чтобы отключиться от текущего сеанса Tmux, просто нажмите Ctrl + b и d . Вам не нужно нажимать оба сочетания клавиш одновременно. Сначала нажмите «Ctrl + b», а затем нажмите «d».

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

[detached (from session 0)]

Создание именованных сессий

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

tmux new -s webserver

Вот новый сеанс Tmux.

Как вы можете видеть на приведенном выше снимке экрана, имя сеанса Tmux — веб-сервер . Таким образом, вы можете легко определить, какая программа в каком сеансе запущена.

Чтобы отсоединить, просто нажмите Ctrl + b и d .

Список сеансов Tmux

Чтобы просмотреть список открытых сессий Tmux, запустите:

tmux ls

Пример вывода:

Как видите, у меня есть два открытых сеанса Tmux.

Создание отдельных сеансов

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

Чтобы создать новый отдельный сеанс с именем «ostechnix», запустите:

tmux new -s ostechnix -d

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

Вы можете проверить, создан ли сеанс, используя команду «tmux ls«:

Присоединение к сессиям Tmux

Вы можете подключиться к последней созданной сессии, выполнив эту команду:

tmux attach

Или же,

tmux a

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

tmux attach -t ostechnix

Или коротко:

tmux a -t ostechnix

Убить сеансы Tmux

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

tmux kill-session -t ostechnix

Чтобы убить при прикреплении, нажмите Ctrl + b и x . Нажмите «y», чтобы завершить сеанс.

Вы можете проверить, закрыт ли сеанс, с помощью команды «tmux ls».

Чтобы убить сервер Tmux вместе со всеми сеансами Tmux, запустите:

tmux kill-server

Будьте осторожны! Это завершит все сеансы Tmux, даже если внутри сеансов есть какие-либо запущенные задания без какого-либо предупреждения.

Когда не было запущенных сеансов Tmux, вы увидите следующий вывод:

$ tmux ls

no server running on /tmp/tmux-1000/default

Разделение окон сеанса Tmux

Tmux имеет возможность разделить одно окно сеанса Tmux на несколько меньших окон, называемых панелями Tmux. Таким образом, мы можем запускать разные программы на каждой панели и взаимодействовать со всеми одновременно. Размер каждой панели можно изменять, перемещать и закрывать, не затрагивая другие панели. Мы можем разделить окно Tmux либо по горизонтали, либо по вертикали, либо по обоим сразу.

Разделить панели по горизонтали

Чтобы разделить панель по горизонтали, нажмите Ctrl + b и » (одинарная кавычка).

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

Разделить панели по вертикали

Чтобы разделить панель по вертикали, нажмите Ctrl + b и % .

Разделение панелей по горизонтали и вертикали

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

Сначала я сделал горизонтальное разделение, нажав Ctrl + b «, а затем разделил нижнюю панель по вертикали, нажав Ctrl + b% .

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

Переключение между панелями

Для переключения между панелями нажимайте Ctrl + b и клавиши со стрелками (влево, вправо, вверх, вниз) .

Отправлять команды на все панели

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

Для этого нажмите Ctrl + b, введите следующую команду и нажмите ENTER:

:setw synchronize-panes

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

Поменять местами панели

Чтобы поменять местами панели, нажмите Ctrl + b и o .

Показать номера панелей

Нажмите Ctrl + b и q, чтобы отобразить номера панелей.

Убить панели

Чтобы убить панель, просто введите команду exit и нажмите клавишу ВВОД. Или нажмите Ctrl + b и x . Вы увидите подтверждающее сообщение. Просто нажмите «y», чтобы закрыть панель.

Увеличение и уменьшение панелей Tmux

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

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

$ man tmux

Утилиты GNU Screen и Tmux могут быть очень полезны при удаленном управлении серверами через SSH. Тщательно изучите команды Screen и Tmux, чтобы профессионально управлять удаленными серверами.



2021-04-26T14:17:40
Вопросы читателей