Как найти где лежит программа linux

Здесь мы рассмотрим ключевые файлы логов, какую информацию они хранят, как настраивается rsyslog для записи и как посмотреть информацию с помощью journalctl .

Журнал /var/log/syslog или /var/log/messages

Это «всеохватывающий» системный лог:

# logger «this is a test» # tail -1 /var/log/syslog May 7 15:33:11 ubuntu-bionic test-user: this is a test

Вы найдёте здесь все сообщения: ошибки, информационные сообщения и все другие серьёзности . Исключением является stop action .

Если в /var/log/syslog или /var/log/messages пусто, скорее всего, journald не перенаправляет данные в syslog. Все те же данные можно просмотреть, вызвав journalctl без параметров.

# journalctl —no-pager | grep «this is a test» May 07 15:33:11 ubuntu-bionic test-user[7526]: this is a test

Журналы /var/log/kern.log или /var/log/dmesg

Сюда по умолчанию отправляются сообщения ядра:

Apr 17 16:47:28 ubuntu-bionic kernel: [ 0.004000] console [tty1] enabled

И снова, если у вас нет syslog (или файл пустой/отсутствует) – используйте journalctl:

Linux для начинающих / Урок #7 – Команды поиска FIND, GREP


kern.* /var/log/kern.log

Журналы /var/log/auth.log или /var/log/secure

Здесь вы найдете сообщения об аутентификации, генерируемые такими службами, как sshd :

May 7 15:03:09 ubuntu-bionic sshd[1202]: pam_unix(sshd:session): session closed for user vagrant

Вот ещё один фильтр по значениям auth и authpriv :

auth,authpriv.* /var/log/auth.log

Вы можете использовать такие фильтры в journalctl, используя числовые уровни объектов :

# journalctl SYSLOG_FACILITY=4 SYSLOG_FACILITY=10 . May 7 15:03:09 ubuntu-bionic sshd[1202]: pam_unix(sshd:session): session closed for user vagrant .

Читайте также:
Что такое адаптивная программа по физкультуре

Журнал /var/log/cron.log

Сюда отправляются ваши cron-сообщения (jobs-ы, выполняемые регулярно):

May 06 08:19:01 localhost.localdomain anacron[1142]: Job `cron.daily’ started
cron.* /var/log/cron

С journalctl можно сделать так:

# journalctl SYSLOG_FACILITY=9

Журнал /var/log/mail.log или /var/log/maillog

Практически все демоны (такие как Postfix, cron и т. д.) обычно пишут свои логи в syslog. Затем rsyslog раскладывает эти логи по файлам:

mail.* /var/log/mail.log

С помощью journald просматривать журналы можно так:

# journalctl SYSLOG_FACILITY=2

Подведём итоги

  • Расположение и формат системных журналов Linux зависят от того, как настроен дистрибутив.
  • Большинство дистрибутивов имеют systemd, и все логи «живут» там. Чтобы что-то просмотреть и найти, используйте journalctl.
  • Некоторые дистрибутивы передают системные журналы в syslog, либо напрямую, либо через journal. В этом случае у вас, скорее всего, есть логи, записанные в отдельные файлы в /var/log .
  • Если вы управляете несколькими серверами, вам потребуется централизовать журналирование с помощью специального ПО или использовать собственный ELK-стек.

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

Linux для Начинающих — Навигация по файлам и директориям

Источники

Источник: proglib.io

как найти в Ubuntu где лежит папка с программой?

Но как найти где папка chrome? Перепыл всю систему не пойму. В windows просто нажал правой кнопкой и свойства и там путь. Что я не так делаю?

Ответы (2 шт):

Чаще всего хватает

whereis файл

Но если не находит, то можно поискать обычным способом

find / -name chrome

На моей убунте он установлен в /opt/google/chrome

Вообще, запускаемый файл браузера Chrome называется google-chrome или google-chrome-stable . Найти полный путь к запускаемому файлу можно командой:

Читайте также:
Как запустить программу через powershell

which which google-chrome-stable

При условии, что файл находится в одной из папок, перечисленных в переменной окружения $PATH . Если это не так, найти его можно командой

find / -name

Но тогда и запустить его из консоли можно будет только как

/full/path/to/

Последняя команда найдет файл по имени, даже если он не запускаемый, если хватит прав.

Источник: husl.ru

Переменная окружения $PATH в linux

Когда в консоли Debian мы вводим какую-то команду или функцию, откуда он знает, где она лежит, как находит и запускает её или не находит и выдаёт ошибку? Объясняется это тем, что есть переменная, в которой хранятся пути до папок, в которых происходит поиск введённой команды (функции или скрипта). И если *nix находит соответствие заданному запросу, то запускает эту команду на исполнение (с дополнительными параметрами, если они введены) или выдаёт ошибку: «Пичалька, всё обыскал, но не понимаю, о чём ты спрашиваешь и чего хочешь.»

Как посмотреть значение переменной $PATH в Линукс

Для того, чтобы увидеть, какие папки при поиске заданной команды Линукс обходит в её поиске, достаточно вывести её значение с помощью команды echo :

echo $PATH

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

[email protected]:/# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

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

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

[email protected]:/# RockNRoll -bash: RockNRoll: command not found

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

Читайте также:
Какой программой записать звук из видео

r[email protected]:/# /var/hlam/RockNRoll А то! Rock-N-Roll forever! =)

Где хранится значение переменной $PATH ?

Значение переменной $PATH (список папок) вычисляется в файле /etc/profile .

В некоторых источниках пишут ещё при использовании файла /etc/environment .

Где ещё применяется значение переменной $PATH в linux?

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

Так, например, bash-скрипты начинаются строчкой:

#!/bin/bash

А скрипты на языке программирования Perl, такой:

#!/usr/bin/perl

Резюме

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

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! 😉

Источник: mb4.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru