Как сделать файл исполняемым в Linux
Операционная система Linux, в отличие от Windows, определяет какие файлы являются программами не по расширению, а по специальному флагу исполняемости. У каждого файла есть три основных флага, чтение, запись и исполнение. Они определяют что система может делать с этим файлом.
Что такое исполняемость?
Уже много написано о том, как установить флаг исполняемости. Но что происходит с файлом во время этого, что такое исполянемость и как это работает?
Как сделать файл исполняемым в Linux?
В операционной системе Linux, для управления флагами файлов используется утилита chmod. Синтаксис вызова утилиты:
$ chmod категория действие флаг адрес_файла
Например, чтобы сделать исполняемый скрипт в linux для владельца файла, достаточно выполнить:
chmod u+x адрес_файла
Этого в большинстве случаев бывает достаточно, но если мы хотим чтобы файл могли выполнять и другие пользователи, нужно указать также другие категории: g и o:
chmod ugo+x адрес_файла
Посмотреть флаги в терминале можно с помощью утилиты ls:
Снять флаг исполняемого файла очень просто. Используется та же команда только со знаком минус:
chmod u-x адрес_файла
Как установить фалг исполняемости в GUI
Вы можете сделать файл исполняемым в linux не только через терминал. Такая функциональность есть во всех файловых менеджерах. Возможно, на первых порах это будет для вас проще. Рассмотрим на примере файлового менеджера GNOME, Nautilus. Кликните правой кнопкой по нашему файлу программы или скрипта, чтобы открыть контекстное меню, затем выберите свойства:

Готово, исполняемый файл linux может быть запущен системой, прямо из файлового менеджера.
Выводы
Вот и все, теперь вы знаете как сделать файл исполняемым в linux. И если нужно будет запустить скрипт или установщик из интернета, у вас не возникнет никаких проблем. Если остались вопросы, спрашивайте в комментариях!
Делаем файл исполняемым в Linux
Чем отличается Linux от Windows в плане исполнений файлов, так это тем, что первая система определяет выполняемые файлы программными не по расширению, а по специальному флагу исполняемости. Так у каждого файла есть три режима исполняемости: чтение, исполнение и запись. Именно эти режима определяют, что система может делать с конкретным файлом. Когда пользователь скачивает различные установщики из интернета или создает скрипт, то по умолчанию ему присваиваются следующие режимы – чтение и запись. Одним словом, пользователь не сможет сделать с такой программой ничего, так как с ним нужно сделать кое-что еще.
Что означает исполняемость?
Но для начала не будет лишним разобраться с таким вопросом, как: что такое исполняемость и что это вообще означает? Начнем с программы, являющейся набором инструкций, выполняемых процессором над совокупностью данных с целью получения нужного результата. Для процессора не существует разницы между инструкциями и данными.
И первые, и вторые состоят из цифр – байт. То есть, определенное сочетание цифр будет означать для процессора необходимость выполнения конкретного действия. Для процессора нет принципиальной разницы, какой процесс выполнять – файл операционной системы или текстовый файл. И первый, и второй файл будут выполнены, вот только в случае с текстовым файлом необходимость в инструкциях фактически отпадает.
Как сделать файл исполняемым
В системе Linux предусмотрена специальная утилита, которая позволяет управлять флагами файлов, которая получила название chmod. Для вызова этой утилиты необходимо задействовать синтаксис:
$ chmod категория действие флаг адрес_файла
И здесь необходимо учитывать следующее:
Таким образом, чтобы сделать исполняемым скрипт в Linux, пользователю необходимо выполнить:
Зачастую уже этого достаточно, чтобы сделать файл исполняемым, но если необходимо наделить других пользователей полномочиями исполнять эти файлы, еще необходимо добавить:
Чтобы посмотреть флаги в терминале достаточно воспользоваться утилитой ls:
Снять флаг исполняемого файла очень просто. Используется та же команда только со знаком минус:
Дальше рассмотрим вопрос установки управляемости в GUI.
Как установить флаг исполняемости в GUI
Установка файлов исполняемости доступна не только через терминал, но и файловые менеджеры, одним из которых является GUI. Для новичков, возможно, даже эта инструкция окажется проще и доступней. Рассмотрим на примере файлового менеджера GNOME, Nautilus. Кликните правой кнопкой по нашему файлу программы или скрипта, чтобы открыть контекстное меню, затем выберите свойства:
Переходим на вкладку права и устанавливаем галочку «Разрешить выполнение файла как программы»:
Теперь файл будет запущен системой непосредственно из файлового менеджера. Вот и вся инструкция. Теперь с запуском программы или скрипта из интернета у вас не возникнет трудностей.
Выбор редакции
Топ-60 лучших фильмов Амазон.
Топ-10 лучших фильмов декабря.
Топ-1000 лучших зарубежных.
Как устанавливать программы в Linux
Пользователи Windows, переходя на Linux, уже имеют некоторый багаж знаний и навыков работы с компьютером, часть из которых становится бесполезным в Linux, ввиду существенных отличий между системами. Linux более гибкая система, в которой добиться желаемого можно несколькими способами. Это касается и установки программ. Если пользователи Windows привыкли, что для установки программы нужно выполнить программу-установщик, которая обычно называется Setup.exe или Install.exe, то в Linux это можно сделать разными способами. Тем не менее, рекомендуем устанавливать программы из официальных репозиториев, а другие варианты использовать лишь в тех случаях, когда есть четкое понимание, как и зачем это делается.
Репозиторий — это архив программ, размещенный в интернете или в локальной сети. Установка программ из этого архива производится с помощью специальных утилит, которые мы рассмотрим ниже. Репозитории популярных дистрибутивов содержат огромное количество программ на любой вкус. Например, репозиторий стабильной версии Debian содержит более 37500 пакетов.
Пакет — это набор файлов (исполняемые файлы, исходный код, данные) предназначенный для установки программ. Также пакеты содержат некоторую служебную информацию, например, номер версии и, так называемые, зависимости.
Зависимости указывают, какие сторонние пакеты (то есть программы, библиотеки, данные) нужны для нормальной работы данного приложения. Если необходимые пакеты отсутствуют на компьютере, то они будут установлены автоматически. Таким образом, пользователю не нужно следить за установкой всех необходимых библиотек, данных, нужных для работы конкретного программного обеспечения. Для этого используются специальные программы — менеджеры пакетов.
Еще одно преимущество использования официальных репозиториев — это то, что все пакеты перед включением в репозиторий тщательно проверяются и, в большинстве случаев, распространяются вместе с открытым исходным кодом, что гарантирует работоспособность программы и практически исключает наличие вредоносного кода. Но при установке программ из неофициальных источников нужно быть осторожным.
Для установки программ из репозиториев используются различные менеджеры пакетов, которые могут иметь как графический, так и текстовой интерфейс.
Установка программ в Ubuntu с использованием графического интерфейса
Начнем со стандартного менеджера самого популярного на сегодняшний день дистрибутива Linux — Ubuntu. Он носит название «Центр приложений Ubuntu». Для вызова этой программы нужно кликнуть по соответствующей иконке на панели запуска.
Рис. 1. Иконка центра приложений Ubuntu
Если иконка там отсутствует, нужно открыть Главное меню (Dash) и набрать первые буквы названия программы.
Рис. 2. Центр приложения Ubuntu
В верхней части окна программы можно выбрать:
В правом верхнем углу окна находится строка поиска, куда можно ввести ключевые слова, описывающие нужную программу. Слева расположен список категорий программ. По центру окна расположен непосредственно список программ. Нажав на иконку или название программы, мы увидим ее подробное описание, скриншоты и отзывы пользователей. Для установки программы нужно нажать кнопку «Установить» (или «Купить», если приложение платное). Перед установкой система запросит пароль суперпользователя, после чего останется подождать некоторое время, пока программа загрузится и установится. Удаление программ выполняется аналогичным образом. Сверху окна нажимаем на кнопку «Установлено», выбираем программу, которую хотим удалить, затем нажимаем кнопку «Удалить».
Установка программ в режиме командной строки
Установка программы из репозитория
Перед установкой программ необходим обновить версии установленных программ и библиотек, выполнив последовательно команды:
sudo apt-get update
sudo apt-get upgrade
После чего устанавливаем нужный пакет командой:
sudo apt-get install paket
Где paket — это название пакета, например, команда
sudo apt-get install mc
установит пакет mc, то есть Midnight Commander.
Для удаления пакета paket нужно выполнить команду:
sudo apt-get remove paket
Можно одновременно установить или удалить несколько программ, например, команда:
sudo apt-get install php5 mysql-server apache2 phpmyadmin
установит основной набор программ, необходимый для работы web-сервера.
sudo apt-cache search keyword
Поиск по ключевому слову «keyword» производится как в названии, так и в описании программ.
Также для работы с пакетами можно использовать программу aptitude. Синтаксис установки и удаления пакетов, такой же, как и у apt-get:
sudo aptitude install paket
sudo aptitude remove paket
Команда aptitude без параметров вызовет текстовую оболочку управления пакетами.
Установка программы непосредственно из дистрибутива (file.deb)
Просмотр списка пакетов:
Установка программ в системах с RPM
Для обновления пакетов необходимо выполнить команду:
yum update
Для установки программы paket из репозитория используется команда:
yum install paket
Для удаления, соответственно:
yum remove paket
Поиск программы по ключевому слову «keyword»:
yum search keyword
Запуск исполняемых файлов и скриптов
sudo chmod +x file.sh
./file.sh
Сценариям на скриптовых языках можно не давать права на исполнение (chmod +x), можно определить тип файла, как указано выше и запустить соответствующий интерпретатор с указанием исполняемого файла. Например:
sh file.sh
python file.py
Не забудьте, что для запуска программы должен быть установлен соответствующий язык программирования, в последнем случае Python.
Компиляция программ
Большинство программ для Linux являются открытыми, то есть распространяются вместе с исходным кодом. Это позволяет участвовать в разработке широкому кругу программистов, исправлять ошибки, дорабатывать программы, проверять их на наличие вредоносного кода и закладок, переносить программы на другие платформы и т. д. Кроме того, при компиляции можно оптимизировать работу программ, например скорость их выполнения. С другой стороны, компиляция программ является самым сложным видом их установки. Пользователь должен сам отслеживать зависимости и обрабатывать ошибки, которые могут возникнуть при компиляции. Исходный код обычно поставляется в виде архивов tar, сжатых архиваторами gzip: tar.gz, tgz, bzip2: tar.bz2
Сначала необходимо распаковать файл с исходным кодом, выполнив команду:
Если файл сжатый, то тип архиватора будет распознан автоматически, поэтому можно не указывать его в виде ключа. Исходный код будет распакован в директорию, соответствующую названию файла, в данном случае program. Переходим в директорию с исходным кодом:
cd program
Если в папке есть файлы README или INSTALL необходимо их прочесть, там обычно содержится важная информация по установке и список необходимых библиотек, которые следует установить перед компиляцией. Посмотреть список файлов можно с помощью команды ls, а просмотреть файл README с помощью команды less README.
Чаще всего компиляция выполняется с помощью следующих команд: ./configure
configure — это скрипт, который проверяет, есть ли все программы и библиотеки, необходимые для компиляции и выполняет подготовку к основному процессу. В случае, если скрипт выдаст ошибку, необходимо будет установить соответствующие программы и библиотеки. Если ошибок нет, выполняем непосредственно компиляцию командой:
make
Если все прошло удачно, то для установки скомпилированной программы нужно будет выполнить команду:
make install
В случае, если установка проводится в системные директории, необходимы права root или команда sudo:
sudo make install
После установки можно удалить ненужные временный файлы командой:
sudo make clean
Удаление программы, которая установлена таким образом, обычно производится с помощью команды:
sudo make uninstall
Упомянем еще один способ установки программ, а конкретно игр.
В последнее время производители компьютерных игр стали уделять больше внимания Linux, благодаря чему появилась, например, такая платформа, как Steam. Но это уже тема для отдельной статьи.
Как устанавливать bin файлы в Linux
Не смотря, на то, что большинство программ в операционной системе Linux (в моем случае Ubuntu) можно установить из Центра приложений, тем самым обеспечивая совместимость с системой, иногда вам может понадобится установить новую версию программы или наоборот, старую, которой может не оказаться в списке.
Установка bin файлов в Linux
Консольный вариант
1. Для начала в файловом менеджере, нужно найти наш бинарник.
2. Откроем терминал, сочетанием клавиш Ctrl+Alt+T.
3. Зайдем в режим суперпользователя (под рутом). Для этого введем следующую команду в терминале:
Затем нужно ввести пароль.
4. Теперь, в терминале нам нужно зайти в ту директорию, где расположен наш бинарник. В моем случае это будет так:
chmod +x thefile.bin
В моем случае это выглядит так:
chmod +x clip2net.bin
6. Теперь выполните его. Для этого находясь уже в той директории, где находится бинарный файл введем точку и слэш, затем имя файла. В случае со мной это выглядит так:
7. После этой команды, установщик программы запустился и спрашивает меня на каком языке я хотел бы установить bin файл в linux.
8. Далее устанавливаем программу как обычно это делается в ОС Windows.
Графический вариант
Он ненамного проще, но для новичков, которые недавно перешли с Windows будет понятнее. Первые 3 пункта из консольного варианта все же придется выполнить. Затем нужно выбрать файл, нажать правой кнопкой мыши, выбрать пункт «свойства». На вкладке права, нужно поставить галочку напротив пункта «Разрешить выполнение файла как программы».
Закрываем окно. И перетаскиваем этот файл в терминал, запущенный от суперпользователя, имя файла и путь уже впишутся автоматически, остается лишь нажать на кнопку «Enter». Далее, вы можете установить bin файл, как и в первом варианте. На этом все.
Шаг 9. Установка программ
Время от времени появляются новые задачи либо необходимость в решении старых задач новыми способами — тогда возникает потребность в дополнительном программном обеспечении. Что делать, если вам нужна новая программа для Linux? Попробую описать некий алгоритм.
1. Надо понять какое именно решение вам нужно. Для этого можно использовать поисковые системы. Формировать запрос о своей проблеме и выбирать подходящие решения.
2. Теперь необходимо понять какая программа нам позволит решить эту проблему. В Linux существует большое число аналогов одних и тех же программ, и среди них надо выбрать лучшую по важному для вас критерию, например: функционал, скорость, удобство, безопасность, бесплатность. Программу ищем также в поисковой системе, но запрос формируем уже для конкретного решения проблемы.
3. После того, как мы выбрали уже конкретную программу — можно приступать к ее поиску. Открываем Synaptic и с помощью поисковой формы пытаемся найти нужное приложение. Вместе с ним мы можем обнаружить множество расширений и дополнительных модулей. Ставим все что надо — это лучший вариант. Приложения в репозиториях обычно протестированы и работоспособны.
Если приложение не найдено в репозитории, то можно поступить двумя способами — либо поискать его аналог, который присутствует в репозитории, либо найти данное приложение вне репозиториев:
3. Если нам не повезло и программа настолько редкая, что deb-пакета для нее нет, то смотрим в каком виде она вообще распространяется.
Установка приложения из tar.gz
Часто приложения распространяются в архивах tar.gz. Этот формат не так удобен в Ubuntu, так как это не пакет, а просто архив, в котором могут быть как исходные коды, так и скомпилированные приложения и библиотеки.
Установка из tar.gz:
1. Распаковываем архив в отдельную директорию.
2. Если есть исполняемый файл — запускаем и пользуемся, если нет — читаем раздел «Компиляция».
Установка приложения из SVN
SVN — Subversion. Это система контроля версий кода, в которых хранится исходный код приложений, особенно Open Source.
1. Создаем директорию для нашего приложения.
2. Открываем терминал в директории (cd ‘путь/к/директории’);
3. Скачиваем исходные коды:
4. Читаем раздел «Компиляция».
Установка приложения из CVS
CVS — Concurrent Versions System. Это также система контроля версий кода.
1. Создаем директорию для нашего приложения.
2. Открываем терминал в директории (cd ‘путь/к/директории’);
3. Скачиваем исходные коды:
4. Читаем раздел «Компиляция».
Установка приложения из RPM
rpm-пакеты не родные для Ubuntu. Существует утилита alien, с помощью которой можно установить как обычные (sudo apt-get install alien). С ее помощью можно переконвертировать rpm-пакет в deb-пакет. Очень проста в использовании:
И в директории с rpm-пакетом появится deb-пакет. А его мы уже без труда установим.
Компиляция
1. Открываем терминал в директории с нашим приложением (cd ‘путь/к/директории’);
2. Смотрим информацию о конфигурировании приложения:
Смотрим вывод и решаем с какими параметрами надо конфигурировать. Если эта команда выдает ошибку — значит конфигуратора нет. Если конфигуратор присутствует — конфигурируем:
Можно эту команду выполнить без аргументов — будет стандартная конфигурация.
В ходе конфигурации могут быть ошибки — обычно недостаток модулей. В случае возникновения ошибок, сразу идем в поисковую систему и ищем решение.
3. Компилируем приложение:
В ходе компиляции могут быть ошибки. В случае ошибок, вам снова поможет поисковая система.
После компиляции мы получаем готовый исполняемый файл, который в большинстве случаев можно запускать и использовать.
Если приложения требует инсталляции, то выполняем (понадобятся права администратора — вспоминаем команду sudo):
Эта команда скопирует файлы приложения в необходимые системные директории.
5. Пользуемся приложением.
Приложения, установленные таким образом, могут быть удалены с трудом. Поэтому, советую почитать про программу checkinstall.
Чтобы быть в курсе моих статей, можно подписаться на RSS-канал.



















