The repository does not have a Release file.
При попытке выполнить
sudo apt update
password for andrei:
Ign:1 cdrom://[Debian GNU/Linux 10.4.0 _Buster_ — Official amd64 DVD Binary-1 20200509-10:26] buster InRelease
Err:2 cdrom://[Debian GNU/Linux 10.4.0 _Buster_ — Official amd64 DVD Binary-1 20200509-10:26] buster Release
Please use apt-cdrom to make this CD-ROM recognized by APT. apt-get update cannot be used to add new CD-ROMs
Err:3 http://deb.debian.org/debian buster InRelease
Cannot initiate the connection to prod.debian.map.fastly.net:80 (2a04:4e42:14::204). — connect (101: Network is unreachable)
Could not connect to prod.debian.map.fastly.net:80 (151.101.84.204), connection timed out
Cannot initiate the connection to deb.debian.org:80 (2a04:4e42:14::645). — connect (101: Network is unreachable)
Could not connect to deb.debian.org:80 (151.101.86.133), connection timed out
Err:4 http://deb.debian.org/debian buster-updates InRelease
Cannot initiate the connection to deb.debian.org:80 (2a04:4e42:14::645). — connect (101: Network is unreachable)
Err:5 http://security.debian.org/debian-security buster/updates InRelease
Cannot initiate the connection to prod.debian.map.fastly.net:80 (2a04:4e42:14::204). — connect (101: Network is unreachable)
Could not connect to prod.debian.map.fastly.net:80 (151.101.84.204), connection timed out
Cannot initiate the connection to security.debian.org:80 (2a04:4e42:c00::204). — connect (101: Network is unreachable)
Cannot initiate the connection to security.debian.org:80 (2a04:4e42:200::204). — connect (101: Network is unreachable)
Cannot initiate the connection to security.debian.org:80 (2a04:4e42:400::204). — connect (101: Network is unreachable)
Cannot initiate the connection to security.debian.org:80 (2a04:4e42:a00::204). — connect (101: Network is unreachable)
Cannot initiate the connection to security.debian.org:80 (2a04:4e42::204). — connect (101: Network is unreachable)
Cannot initiate the connection to security.debian.org:80 (2a04:4e42:800::204). — connect (101: Network is unreachable)
Cannot initiate the connection to security.debian.org:80 (2a04:4e42:600::204). — connect (101: Network is unreachable)
Cannot initiate the connection to security.debian.org:80 (2a04:4e42:e00::204). — connect (101: Network is unreachable)
Could not connect to security.debian.org:80 (151.101.0.204), connection timed out
Could not connect to security.debian.org:80 (151.101.128.204), connection timed out
Could not connect to security.debian.org:80 (151.101.192.204), connection timed out
Could not connect to security.debian.org:80 (151.101.64.204), connection timed out
Reading package lists… Done
E: The repository ‘cdrom://[Debian GNU/Linux 10.4.0 _Buster_ — Official amd64 DVD Binary-1 20200509-10:26] buster Release’ does not have a Release file.
N: Updating from such a repository can’t be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Проверяю
souces.list
sudo vi /etc/apt/sources.list
#
deb cdrom:[Debian GNU/Linux 10.4.0 _Buster_ — Official amd64 DVD Binary-1 20200509-10:26]/ buster contrib main
deb cdrom:[Debian GNU/Linux 10.4.0 _Buster_ — Official amd64 DVD Binary-1 20200509-10:26]/ buster contrib main
deb http://deb.debian.org/linux/debian/ buster main
deb-src http://deb.debian.org/linux/debian/ buster main
deb http://security.debian.org/debian-security buster/updates main contrib
deb-src http://security.debian.org/debian-security buster/updates main contrib
# buster-updates, previously known as ‘volatile’
deb http://deb.debian.org/linux/debian/ buster-updates main contrib
deb-src http://deb.debian.org/linux/debian/ buster-updates main contrib
Running a Command Not Available on the System
Now, let’s have a look at what happens when we execute a command that is not available on a Linux system.
I take, for example, the rsync command:
How do I know if I’m seeing the “command not found” error because the rsync command is not in the PATH or because it doesn’t exist on the system at all?
I can use the package manager of my Linux distribution. In this case I’m using CentOS and hence I will use the yum command to see if the rsync package is installed:
This command doesn’t return any results, this means rsync is not available on the system.
Another option is to use the RPM command to query the RPMs installed on my Linux system:
Once again, no results for the rsync package.
So, let’s install it!
The yum search command returns a result for rsync:
And we can install the rsync package using the “yum install” command:
And now if I try to execute the rsync command again to check its version:
The command works well!
Проблемы с командами в терминале
Обычно проблемы с командами в терминале возникают не из-за ошибки linux или потому, что разработчики что-то недоработали, а потому, что вы ввели что-то неправильно или предали не те что нужно опции.
Если были переданы не те опции, то, скорее всего, программа покажет вам справку, ознакомившись с которой вы сможете очень быстро понять в чем проблема. Также справку выдают множество команд если их запустить без параметров.
Также довольно частой ошибкой при выполнении команд есть неиспользование команды sudo перед самой командой для предоставления ей прав суперпользователя. В таких случаях вы обычно получаете ошибку Permission Denied или просто уведомление, что не удалось открыть тот или иной файл или ресурс: can not open …, can not read … и так далее.
Если файла, которого вы передали в параметрах не существует, то вам будет об этом сказано соответствующим сообщением. Сообщения могут быть и более специфичные, в зависимости от ошибки, но в конце концов, вы можете воспользоваться переводчиком Google, чтобы понять смысл того, что хочет система.
Очень распространенной среди новичков ошибкой, есть no such file or directory при попытке выполнить файл, скачанный из интернета. Сразу кажется что это бред, ведь файл существует, но на самом деле оболочка ищет только файлы с флагом исполняемый, а поэтому пока вы не установите этот флаг для файла, он для оболочки существовать не будет.
Проблемы с драйверами и ядром
Проблемы с драйверами, модулями ядра или прошивками могут вызвать много неприятностей во время загрузки системы. Это может быть просто медленная загрузка системы, неработоспособность определенных устройств неправильная работа видео или полная невозможность запустить графическую подсистему. Исправление ошибок Linux начинается с просмотра логов.
Вы можете посмотреть все сообщения ядра с момента начала загрузки, выполнив команду чтобы узнать какую linux выдает ошибку:
Чтобы иметь возможность удобно листать вывод можно выполнить:
Или сразу выбрать все ошибки:
Дальше будет очень просто понять какого драйвера не хватает, что система не может загрузить или что нужно установить. Если возникает ошибка ввода-вывода linux, то, скорее всего, драйвер несовместим с вашим устройством, в таком случае, может помочь обновление ядра, чтобы получить самую новую версию драйвера. В некоторых случаях ядро может само предложить вариант решения проблемы прямо в сообщении об ошибке вплоть до того какую команду выполнить или какой файл скачать. Если же нет, вы все еще можете воспользоваться поиском для решения своей проблемы linux.
Reinstall apt using dpkg
To do that, you need to grab the corresponding .deb package that was compiled for your OS version. If you’re using Ubuntu like me, go to one of its Archive Mirror. In this case, we are going to http://us.archive.ubuntu.com/ubuntu/.
Access /pool/main/a/apt/ path and you’ll see a bunch of .deb package. Select the one that is suitable with your architecture (and64/i386)
Once it finishes downloading, you can install apt DEB file by running the following command :
Remember to replace the with the path of the file you’ve just downloaded.
apt-get command not found on macOS
macOS, by default, doesn’t use APT package manager. In fact, the OS doesn’t have a default package manager at all. However, there is a hugely popular APT alternative for macOS called Homebrew.
Below is how you can install Homebrew on macOS.
First, press the Command + Space key combination to open the Spotlight. Type in «terminal» without the double quotes and hit Enter.
Then, you have to install XCode by running the following command :
Once XCode is successfully installed, you can install Homebrew by running the following one-line command
Please do note that some of the guides you found online may use ruby instead of /bin/bash. Previously, Homebrew installer relies on Ruby as a prerequisites, but now it’s been rewritten from scratch and use the built-in bash shell included in macOS. On modern macOS versions, you may encounter «The default interactive shell is now zsh» message, we have a guide on how to fix it that you may want to check out.
Now wait for the installation to finish. You may be prompted for your password during the process.
Sometimes, the Homebrew installer stuck up somewhere and left a corrupted installation. In that case, you may want to read our guide on possible fixes for «brew: command not found».
The command to install a package with Homebrew is similar to its APT counterpart.
Where Is PATH Defined in Linux?
Wondering where is the PATH environment variable defined?
Let’s find out…
It’s usually defined somewhere in your home directory, and specifically in one of the hidden files used in Linux to configure your user environment: the .bashrc file.
In Linux, the dot before the name of a file means that the file is hidden. It’s not visible if we execute the ls command without flags. It’s only visible if you pass the -a flag to the ls command.
The .bashrc file is actually a shell script that gets executed when Linux initialises an interactive shell. This allows you to configure your environment the way you want every time you open your shell.
If I look at the .bashrc file on my system I see the following lines:
As you can see the PATH variable is defined and it’s then made available to any child processes of this shell using the export command.
If you want to add another directory to the PATH you can simply update the .bashrc file.
This is a common requirement if you download external tools that are not part of the Linux operating system and you want to be able to execute them from your shell without having to specify their full path.
One common scenario is adding Java to the Linux PATH after downloading the JDK (Java Development Kit) on your system.
Решение проблем Linux
Linux очень сильно отличается от WIndows, это заметно также при возникновении проблем Linux. Вот допустим, произошла ошибка в программе Windows, она полностью закрывается или выдает непонятное число с кодом ошибки и все, вы можете только догадываться или использовать поиск Google, чтобы понять что произошло. Но в Linux все совсем по-другому. Здесь каждая программа создает лог файлы, в которых мы можем при достаточном знании английского или даже без него, выяснить, что произошло. Более того, если программу запускать из терминала, то все ошибки linux и предупреждения мы увидим прямо в окне терминала. и сразу можно понять что нужно делать.
Причем вы сможете понять что произошло, даже не зная английского. Главным признаком ошибки есть слово ERROR (ошибка) или WARNING (предупреждение). Рассмотрим самые частые сообщения об ошибках:
- Permission Denied — нет доступа, означает что у программы нет полномочий доступа к определенному файлу или ресурсу.
- File or Directory does not exist — файл или каталог не существует
- No such file or Directory — нет такого файла или каталога
- Not Found — Не найдено, файл или ресурс не обнаружен
- Connection Refused — соединение сброшено, значит, что сервис к которому мы должны подключиться не запущен
- is empty — означает, что папка или нужный файл пуст
- Syntax Error — ошибка синтаксиса, обычно значит, что в конфигурационном файле или введенной команде допущена ошибка.
- Fail to load — ошибка загрузки, означает что система не может загрузить определенный ресурс, модуль или библиотеку (fail to load library) обычно также система сообщает почему она не может загрузить, permission denied или no such file и т д.
Сообщения об ошибках, кроме терминала, мы можем найти в различных лог файлах, все они находятся в папке /var/log, мы рассматривали за какие программы отвечают определенные файлы в статье просмотр логов linux. Теперь же мы подробнее рассмотрим где и что искать если linux выдает ошибку.
PATH Configured At System-Wide Level
When I see the value of the PATH variable on my system, here’s what I get:
There’s something that doesn’t make sense to me…
…in the .bashrc file in the home directory on my user I only see:
So, where do the following directories come from considering that they are not in my user’s .bashrc file?
They must be defined somewhere at system level and not just at user level.
In Linux, system-wide configuration files are located under the /etc directory. For example in /etc/bashrc.
Let’s find out where this initial value for the PATH comes from using a recursive grep as root under the /etc directory.
The only result is in the configuration file for the SSH deamon. According to a comment in this file, the daemon is compiled with the PATH set to the value I’m seeing on my system.
That’s where the value of the PATH comes from!
Регистрация сведений о проблеме, отчета об ошибке, запроса на функцию
Функция обработки проблем в репозитории продуктов WSL позволяет:
Выполнять поиск сведений о существующих проблемах, чтобы найти информацию, связанную с возникшей проблемой
Обратите внимание, что в строке поиска можно удалить is:open, чтобы включить в результаты поиска проблемы, которые уже были решены. Рассмотрите возможность комментирования или одобрения любых открытых проблем, чтобы выразить свою заинтересованность в их продвижении в качестве приоритетных.
Регистрировать сведения о новых проблемах
Если вы обнаружили проблему с WSL, о которой нет упоминаний, вы можете нажать зеленую кнопку New issue (Новая проблема), а затем выбрать элемент WSL — Bug Report (WSL — отчет об ошибках). Вам нужно будет включить название проблемы, номер сборки Windows (выполните , чтобы узнать номер текущей сборки), независимо от того, используете ли вы WSL 1 или WSL 2, текущую версию ядра Linux (выполните или ), номер версии дистрибутива (выполните ), а также любые другие версии используемого программного обеспечения, сведения о действиях для воспроизведения, ожидаемом поведении, фактическом поведении, а также журналы диагностики, если они доступны и применимы. Дополнительные сведения см. в разделе, посвященном вкладу в WSL.
Отправить запрос на функцию, нажав зеленую кнопку New issue (Новая проблема) и выбрав Feature request (Запрос на функцию). Вам нужно будет ответить на несколько вопросов, описывающих ваш запрос.
Кроме того, вы можете сделать следующее:
- Зарегистрировать сведения о проблеме с документацией, используя репозиторий документов WSL. Чтобы внести изменения в документацию по WSL, ознакомьтесь с руководством для участников разработки портала «Документация» Майкрософт.
- Зарегистрировать сведения о проблеме с Терминалом Windows, используя репозиторий продуктов Терминала Windows, если проблема связана с Терминалом Windows, консолью Windows или пользовательским интерфейсом командной строки.
9 ответов
Лучший ответ
Проблема в том, что отсутствует в вашем , если он установлен локально.
Вам следует изменить свой , чтобы включить полный путь к .
Строка, которую нужно изменить, вероятно, равна .
Вы должны изменить его на и добавить к своим аргументам следующее: (в Windows).
Это проинструктирует VSCode:
- Запустите NodeJS (он должен быть установлен глобально).
- Передайте локальную установку Typescript в качестве сценария для запуска.
(это почти то, что делает исполняемый файл )
Вы уверены, что не хотите устанавливать Typescript глобально? Это должно упростить задачу, особенно если вы только начинаете его использовать.
42
zlumer
13 Фев 2016 в 09:59
Я тоже столкнулся с той же проблемой. Используйте командную строку nodeJS вместо командной строки Windows.
Шаг 1. Выполните
Шаг 2:
Новый файл будет иметь то же имя и другое расширение, что и « .js ».
Шаг 3:
Вы можете увидеть результат на экране. Меня устраивает.
Srinivasan.S
31 Июл 2018 в 20:15
Вам нужно запустить:
… вместо того, чтобы просто вызывать , как команда Windows, как, кажется, предлагают все остальные.
Если у вас не установлен , вам следует это сделать. Он должен быть установлен глобально (в отличие от Typescript). Итак, сначала запустите:
..затем запустите .
6
MSOACC
26 Авг 2020 в 11:24
В файле VSCode попытается найти командный сценарий tsc windows в некоторой папке, которую он считает папкой ваших модулей.
Если вы знаете, куда сохраняется команда или , я бы рекомендовал заменить:
С участием
Где — это папка, содержащая мой исполняемый файл tsc windows
Определит, где мой vscode изначально указывает прямо сейчас, чтобы найти tsc и исправить его, я думаю.
8
Danh
16 Ноя 2016 в 02:03
Для окон
После установки машинописи глобально
Просто выполните поиск по запросу «командная строка node.js»
Введите командную строку
Здесь мы видим, что команда tsc работает, теперь перейдите в свою папку и введите
Он соответствует ts файлу js.
10
Ashutosh Jha
7 Июн 2019 в 07:11
В качестве альтернативы вы можете использовать npm, который автоматически просматривает папку .bin. Тогда вы можете использовать tsc
-1
Dirk Bäumer
18 Фев 2016 в 16:19
Для меня, запустив Visual Studio Code от имени администратора, проблема решена.
hoanvd1210
12 Май 2020 в 09:31
Может быть причина, по которой не установлен глобально, поэтому установите его
Если вы хотите преобразовать файлы в , сделайте это в соответствии с вашими потребностями
57
WasiF
19 Май 2019 в 05:25
Вы пропустили установку машинописного текста, просто выполните команду ниже и попробуйте tsc —init
2
Nicholas K
8 Дек 2018 в 06:43
How Do I fix the Bash error “command not found”?
So far we have seen what the PATH is…
…but how does it help us fix the command not found error?
First of all, before looking at how the command not found error could be related to the PATH, let’s look at a simple cause.
Before doing any other checks make sure you are not misspelling the command when you execute it.
This might be happening mostly to those who are new to Linux and are learning the commands.
If the way you have typed the command is correct, then keep going…
The next reason could be that the directory where the command is located is not in the PATH and there could be two reasons for that:
- The command is available on the system but its directory is not in the PATH.
- The command is not available on the system at all.
Scenario 1 can occur if you download a specific tool on your Linux system and you don’t add the directory in which the binary is located to the PATH environment variable.
To update the value of the PATH you have to modify the .bashrc file.
Let’s say the current value of the PATH is:
And I want to add the directory /opt/install to it because that’s where the command I want to execute is located. That line would become:
The order of the directories in the PATH is important, the first directory has higher priority than the second directory, and so on.
So, if you want the /opt/install directory to be the first one to be searched when a command is executed the PATH definition becomes:
Notice the dollar $ in front of PATH. This is REALLY important because it refers to the existing value of the variable PATH.
Omitting the $ sign in this line could have catastrophic effects on your system. That’s because the shell wouldn’t know anymore where to find basic commands like ls, cd, vim, etc…
In the next section we will look at the scenario 2, where the command is not available on your Linux system.
Взаимодействие окружения Windows и окружения подсистемы Linux
Одной из проблем для виртуальных машин является необходимость хорошего взаимодействия между хостом и самой виртуальной машиной. Это нужно для быстрой переброски файлов, ссылок и прочего. И в этом разделе мы обсудим как раз эту тему.
Для начала поговорим о том, где находится файловая система нашей WSL. Ее можно найти по адресу . При этом не рекомендуется писать туда файлы, поскольку в Windows используется довольно капризная NTFS, а в Linux — ext3/ext4. Можно ненароком «поломать» что-нибудь. А вот читать можно спокойно.
Возможно, это проблема со временем уйдет в прошлое, когда в ядре Linux появится-таки NTFS-драйвер от Paragon, который не так давно стал открытым. Ожидается, что это произойдет в версии 5.15.
Если нужно получить доступ к диску Windows, то он будет смонтирован в в соответствии со своими буквами. То есть, системный диск (если у вас Windows на диске C) примонтируется как , условная флешка — как (кто еще помнит, что по умолчанию она получала именно букву F?), а диск с любимыми фильмами и музыкой — (или какая там у вас буква?).
При этом можно делать симлинки, а права автоматом ставятся на максимум. То есть права по дефолту будут обозначены как , а владельцем считается (и снова повторим, что с учетом этих особенностей нужно быть осторожным).
При этом виндовые папки будут видны в терминале, файлы — будут открываться, а программы — запускаться.
Пример:
— смотрим папку
— содержимое файла txt
— читаем данные.
— смотрим содержимое папки с установленными программами (как видим, доступ закрыт, хотя просмотреть можно)
winitpro.ru
Если запускать приложения Windows прямиком из Linux, это можно сделать командами:
- — «Проводник»
- — «Калькулятор»
- — штатный «Блокнот»
- — WordPad
- — Paint,
- — календарь
А вот погоду можно посмотреть иначе — .
Для удобства можно установить mc — Midnight Commander, который будет работать в оболочке Bash в Linux и в командной строке Windows.
Команда проста:
А вот так выглядит двухпанельный файловый менеджер, где с одной стороны Windows, с другой — Linux. Похоже, старая шутка про два диска обретает новый смысл.
winitpro.ru
Если же необходимо запускать Linux приложения напрямую из Windows, то для этого есть три волшебные команды — , и . По умолчанию они идут от рута, потому лучше использовать и снизить привилегии.
Для приложений с X-сервером нужно еще передавать переменную окружения . А папку, в которой работает то или иное приложение, надо выбирать уже внутри WSL через . Например, .
Как мы говорили ранее, в первой версии WSL может просматривать перечень процессов Linux в «Диспетчер задач» Windows. А вот в самой подсистеме видны только Linux-процессы.
Зато команды в Linux и в Windows дают одинаковые данные, а веб-сервер, запущенный в Linux, окажется доступным и в Windows. Наоборот — то же самое.
Особенности и ограничения WSL и WSL 2
Не секрет, что NT-системы и Linux-системы отличаются во многом. И потому первая версия WSL, созданная Microsoft, была, по сути, попыткой реализации всех интерфейсов ядра Linux в рамках NT. Если проще — все интерфейсы, которые существуют в обеих системах, должны были реализовываться один к одному (да-да, ошибки, баги и прочее — тоже).
Если же в Linux интерфейс был, а в NT его не было, то его и не надо было реализовывать напрямую. А если надо — то с помощью «костылей». Само собой, такой подход сделал первую WSL медленной, хотя и реализовывал многие особенности, например, те же Linux-процессы в «Диспетчере задач».
Также WSL приходилось иметь дело с файловой системой NTFS, которая под Linux пока что работает не очень. Из-за этого падала скорость работы в целом. Однако преимущества такого подхода тоже очевидны — полная открытость и контроль. Ядро NT «знает» о ядре Linux и может отслеживать процессы.
Но маркетинг победил, когда выпустили WSL 2. Это уже полноценная виртуальная машина, которая «вшита» в Windows. Настоящий гибрид. При этом Linux в этом случае был «черным ящиком» для NT, поскольку внутренняя логика никак не отслеживалась. Это позволило ускорить работу, но при этом уменьшило контроль со стороны пользователя.
Иначе говоря, если какой-то вирус попадет в WSL 2, то он может обойти защиту и хост-системы. Очевидно, что удаленно взломать такую гибридную систему можно также попытаться через WSL 2, где все по дефолту установлено с максимальными правами.
Что значит apt get команда не найдена?
Фактически это сообщение об ошибке означает как раз то, что оно нам сообщает, команда, которую вы пытаетесь выполнить не найдена в системе. Она либо еще не была установлена, либо была удалена. Но все это звучит очень странно в отношении к менеджеру пакетов. Рассмотрим основные причины возникновения ошибки:
- Одна из самых очевидных причин, получения ошибки «apt get не найдена» в том, что у вас не Ubuntu. Этот пакетный менеджер используется только в дистрибутивах Linux, основанных на Debian. Системы Red Hat, CentOS, Fedora, OpenSUSE, CoreOS, Cloud Linux, ArchLlinux и другие таковыми не являются. Они имеют собственный пакетный менеджер, у каждой свой и именно его нужно использовать для установки пакетов, а не искать apt.
- Если вы используете команду apt, а не apt-get, то, возможно, у вас старый дистрибутив, который не поддерживает такого синтаксиса, используйте apt-get;
- Вторая причина в том что вы случайно или намерено удалили пакет Apt. Его больше нет в системе поэтому система и не может его найти;
- Третья причина, может быть в невозможности обнаружения программы. Утилита apt есть в системе и исправно работает, но вы повредили переменную среды PATH и теперь система не ищет исполняемые файлы в той папке где находится apt.
Теперь рассмотрим как решить проблему. Это очень просто.
Как исправить apt get команда не найдена?
Поскольку вторая причина предполагает меньше действий, нам нужно сначала проверить ее. Обычно исполняемые файлы apt находятся в каталоге /usr/bin. Сначала посмотрим есть ли такой файл в той папке:
Если файл есть, то вы увидите что-то похожее как на снимке выше. Также обратите внимания на права. Для пользователя, группы и остальных должен быть выставлен флаг «x» означающий исполнение. Если же его нет, то apt придется переустановить. Если права отличаются от приведенных выше, а именно «-rwxr-xr-x», то их тоже нужно исправить, добавим для всех категорий флаг исполняемости:
Если предыдущие варианты не сработали проверим содержимое переменной среды PATH:
Вы должны увидеть в ней ссылку на /usr/bin. Если такой строчки нет, то проблема была здесь, а строчку нужно добавить в конец:
Например:
Если вы вносили изменения в файл /etc/profile, и переменная PATH сломалась из-за этого, то нужно внести исправления и в этот файл.
Для Ubuntu Xenial:
Для Ubuntu Yakkety:
Теперь осталось установить загруженный пакет:
Готово, после этого ошибка apt get command not found должна исчезнуть и вы сможете нормально работать со своими пакетами.
The PATH Environment Variable
Linux system are configured with a pre-defined set of environment variables required by the operating system to function properly.
The PATH environment variable is one of the most important environment variables in a Linux system. It contains a list of directories used by Linux to search for commands that can be executed without specifying their full path.
You can use the echo command to see the value of the PATH variable:
In the list of directories inside the PATH you can see the home directory for my current user (ec2-user) but also directories like /usr/bin.
Let’s have a look at some of the commands present in the /usr/bin directory. To restrict the list of commands returned by ls, I just look for commands starting with ch (I use the ch* wildcard to do that):
Let’s take the chmod command as an example.
If I use the which command to check the full path of the chmod command I get the following:
As you can see this is exactly the same directory in the PATH, /usr/bin.
The fact that /usr/bin/ is in the PATH allows us to execute the chmod command withouth having to specify its full path.
Makes sense?
if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-linuxpip_org-box-4-0’)};Check your Linux distribution
At any moment, there are around a thousand Linux distribution (or Linux distro) exist. They can be configured and optimized for various devices (desktops, laptops, servers, tablets, etc). They can be packaged in a way that suit a community. They can even be developed exclusively to use on an online service (Amazon Linux AMI).
A handful of Linux distro is matured enough to be considered a major distribution. Almost all others will base their release on one of the «major», which have their own preference of standard packages (package manager like apt included).
The bewildering choice and the ever increasing number of Linux distributions can be confusing for those who are new to Linux, so here is a list of the most popular distribution and their package manager of choice.
Major distribution | Package management system | Package manager |
---|---|---|
Red Hat Linux | RPM-based | yum/dnf |
Fedora | RPM-based | yum/dnf |
CentOS | RPM-based | yum/dnf |
Amazon Linux | RPM-based | yum/dnf |
openSUSE | RPM-based | zypper (CLI)/YaST (GUI) |
Debian | DEB-based | apt/apt-get |
Ubuntu | DEB-based | apt/apt-get |
Kali Linux | DEB-based | apt/apt-get |
Arch Linux | Pacman-based | pacman |
Gentoo | Portage-based | portage (emerge) |
Slackware | SlackPKG | pkgtool/slackpkg |
As you can see from the table, only Debian and Ubuntu based distribution use apt by default.
You can check whether your distribution include apt under the hood or not by typing the command or use one of a few other method.
If you’re copying terminal commands from a guide, we suggest you find another which suitable with the Linux distribution you are using. Or better yet, you can use AppImage, a new packaging format which allows applications to run as portable executable files.
«apt-get : command not found» is a common issue for AWS users who are using Amazon Linux images in their servers. You should keep in mind that Amazon Linux is based on CentOS at first, then diverged but it keeps yum as the preferred package manager. So instead of following guides for Ubuntu/Debian with its apt, look for tutorials that was made for Fedora or CentOS.
Проблемы в программах
Если ни с того ни с сего закрывается или не так, как требуется работает, какая-нибудь графическая программа, решение проблем linux начинается из запуска ее через терминал. Для этого просто введите исполняемый файл программы и нажмите Enter. Обычно достаточно начать вводить имя программы с маленькой буквы и использовать автодополнение для завершения ввода названия.
В терминале программа, скорее всего, покажет почему она не работает. Также у многих программ поддерживается опция -v или —verbose. Вы можете попробовать использовать эту опцию, если первый запуск в терминале ничего не дал. Далее, когда уже есть сообщение об ошибке, вы можете попытаться исправить его сами, если поняли в чем дело или попытаться найти решение на формуме, скорее всего, другие пользователи уже решили вашу проблему. Но если нет, вы можете создать новую тему и описать там свою ошибку. Но без вывода программы в терминале вам вряд ли помогут.
Многие ошибки системы linux, связанные с графической оболочкой вы можете найти в файле ~/.xsession-errors в вашей домашней директории. Если оболочка работает медленно, зависает или не работают другие программы, но в других логах причин этому нет, возможно, ответ находится именно в этом файле.
Также ошибки linux могут возникать не только в обычных программах но и в работающих в фоне сервисах. Но их тоже можно решить, чтобы посмотреть сообщения, генерируемые сервисом, запущенным с помощью systemd, просто наберите команду просмотра состояния сервиса:
$ sudo systemctl status имя_сервиса
Дальше вы знаете, что делать с этой ошибкой, главное что у вас есть зацепка, а дальше все можно решить, ну или почти все.
Здесь, как и всегда большинство ошибок связано с тем, что что-то не установлено, какого-то файла нет или к чему-то невозможно получить доступ, тогда решение проблем linux не вызовет много забот.