Очень часто в инструкциях по установке игр в Linux или в других ситуациях необходимо сделать файл исполняемым. У новичков, особенно тех кто перешёл на Ubuntu с операционной системы Windows этот момент вызывает много вопросов. Давайте разберёмся в тонкостях и посмотрим как сделать всё правильно.
Рекомендуется к изучению: Как приобретать игры в Steam из России в условиях ограничений
Как определяется исполняемый файл linux
Для начала немного теории. В Windows, исторически ещё со времён DOS, было реализовано определение исполняемых файлов по их расширению. Например расширения .exe, .com, .bat говорили операционной системе, что эти файлы являются исполняемыми. В Linux и прочих unix системах ситуация иная. Здесь расширение файлов как таковые отсутствуют, т.е. конечно вы можете в имени файла использовать точку и три буквы в качестве расширения, но только из своих эстетических соображений. Для операционной системы это не будет иметь никакого значения.
Ну и главный вопрос как же операционная система определяет какой файл исполняемый, является программой, а какой нет. Здесь нужно чтобы совпало 2 условия:
- Файл, который вы хотите запустить должен быть двоичным файлом программы или скриптом написанным на языке программирования для которого в системе установлен интерпретатор;
- Для пользователя, который хочет запустить программу, должны быть установлены права разрешающие запуск файла как программы.
Узнать является ли файл программой можно выполнив в терминале команду:
file /путь/к/файлу
Если в выводе вы увидите после имени файла три буквы ELF -то это двоичный файл программ. Если в выводе команды вы увидите слово script, то операционная система определяет такой файл как файл программы написанной на скриптовом языке программирования. Например Bash или Python. Ниже пример вывода команды file.
file scrip.sh #scrip.sh: Bourne-Again shell script, ASCII text executable file scrip.py #scrip.py: Python script, ASCII text executable file /usr/bin/bash #/usr/bin/bash: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=2a9f157890930ced4c3ad0e74fc1b1b84aad71e6, for GNU/Linux 3.2.0, stripped
В графике, используя файловый менеджер вашей любимой среды рабочего стола (KDE, GNOM, XFCE и т.д.), кликните правой кнопкой мыши по файлу, затем откройте свойства файла и вы так же увидите эту информацию.
Осталось только установить права на выполнения файлов. Делается это очень просто — это устанавливается одним из битов прав на файл. Как и права на чтение и запись права на запуск файла так же могут быть назначены трём группам пользователей:
- владельцу файла;
- группе файла;
- всем остальным пользователям.
Таким образом, чтобы сделать файл исполняемым в Linux нужно назначить ему права на запуск в качестве программы. Далее операционная система определяет тип файла по заголовку и в зависимости от того какого типа заголовок файла происходит запуск соответствующего процесса. Например если исполняемый файл является двоичным кодом программы то он выполняется операционной системой, а если это скрипт bash или python, то запускается соответствующий интерпретатор и ему передаётся содержимое файла на выполнение.
Установка прав на запуск файла в консоли Linux
Для того чтобы сделать файл исполняемым в Ubuntu Linux необходимо выполнить в окне терминала простую команду:
chmod +x имя_файла
или
sudo chmod +x имя_файла
Эта команда установит права на исполнение для всех пользователей.
Например:
ls -la #итого 8 #drwxrwxr-x 2 dkplayer dkplayer 4096 окт. 30 21:57 . #drwxr-xr-x 24 dkplayer dkplayer 4096 окт. 30 21:57 .. #-rw-rw-r-- 1 dkplayer dkplayer 0 окт. 30 21:57 test1 chmod +x test1 ls -la #итого 8 #drwxrwxr-x 2 dkplayer dkplayer 4096 окт. 30 21:57 . #drwxr-xr-x 24 dkplayer dkplayer 4096 окт. 30 21:57 .. #-rwxrwxr-x 1 dkplayer dkplayer 0 окт. 30 21:57 test1
Сделать файл исполняемым в Gnome
Сделать аналогичное в графическом интерфейсе можно кликнув правой кнопкой по имени файла и выбрав пункт свойства:
Затем на вкладке права необходимо поставить галку «Разрешить выполнение файла как программы»
На этом процедура закончена и вы можете сразу запустить файл на исполнение дважды кликнув по нему левой клавишей мыши или выполнив в окне терминала команду (находясь в папке с исполняемым файлом):
./имя_файла
Сделать файл исполняемым в KDE
В KDE сделать файл исполняемым так же просто как и в Gnome или XFCE, достаточно просто кликнуть правой кнопкой мыши по файлу и выбрать в контекстном меню пункт свойства.
Затем в свойствах на вкладке права необходимо установить галочку в поле «Является выполняемым». И нажав кнопку «ОК» применить права к файлу.
Заключение
Теперь вы знаете что такое в Linux исполняемый файл и как сделать файл исполняемым в Linux с помощью консольной команды или графического интерфейса. В инструкции мы рассмотрели установку бита на выполнение с использованием рабочего стола Ubuntu, однако в Linux бывают разные графические среды и в этих средах методы установки прав доступа и прав на выполнения могут немного отличаться. А вот способ как сделать файл исполняемым с помощью консольной команды универсален для всех дистрибутивов Linux и в большинстве других unix-подобных системах.
Для того чтобы сделать файл исполняемым в Ubuntu Linux, нужно использовать команду «chmod +x», а затем указать путь к файлу. Это позволит запускать файл как программу через терминал или двойным кликом мыши.
красавчик!
использовал в ubuntu 16.04 для запуска *.run