Слишком подробное руководство по установке Arduino IDE на Debian

Уже невозможно скрыть тот факт, что Линукс вторгся в нашу жизнь и начал оказывать серьезное влияние на её ход. Можно, конечно, продолжать "прятать голову в песок" и вопить "Вы всё врёте!", но факт остаётся фактом! И что самое важное -- тенденция медленного вытеснения Виндовса Линуксом сохраняется. Это не Виндовс вытесняет Линукс, а как раз наоборот -- Линукс теснит Виндовс! Просто вспомните, что было 5 и 10 лет назад, и проанализируйте какое состояние сейчас. Надеюсь, вы улавливаете мировой тренд? Вы понимаете, куда катится Мир? Да?

Так вот, чтобы не пытаться (как обычно!) заскочить в последний вагон уходящего поезда, нужно уже сейчас думать на тему, а что будет через 5 или 10 лет. Какой он будет -- мир вычислительной техники? Тенденции (направления развития) вам подскажут, куда катится мир. Но пусть тот, кто ещё не "созрел", пока думает, а мы с вам тем временем начнем прокачивать наши знания и умения и получать ценный опыт.

Мы начнём с того, что установим Arduino IDE на Линукс. Кто сказал "Ой, фу-у-у!!!", может далее не читать! Это публикация не для вас, а для тех, кто понял, что надо делать.

Поскольку в мире насчитывается несколько сотен разных версий Линукса (точнее -- надо говорить не "версий", а "вариантов". А ещё точнее -- "дистрибутивов"), то я физически не смогу ответить за все Линуксы. Я могу говорить только про те дистрибутивы, которые прошли через мои руки и которыми я пользуюсь. Конкретно -- я пользуюсь дистрибутивом Debian. В настоящий момент у меня на компе установлена версия 9.5. Поэтому в статье речь пойдёт применительно к Debian-9.5.

Установка Arduino IDE в других версиях Debian и на других дистрибутивах Линукса (как,например, Ubuntu, Mint и другие) не будут слишком сильно отличаться.

Итак, готовы? -- Тогда поехали!

Прежде всего нам необходимо получить пакет Arduino IDE. Для этого нужно зайти на сайт https://www.arduino.cc/en/Main/Software и там выбрать подходящий для вашего компа пакет.

На скриншоте (screenshoot : screen – экран, shoot – снимок, фотография. Всё вместе – снимок изображения того, что отображается на экране) красным эллипсом показаны версии, одну из которых вам нужно выбрать. (На черно-белой распечатке, к сожалению, это не очень заметно, но, думаю, найдёте!)


Рис. 1. Выберите подходящую для вашего компа версию

После щелчка мышкой на соответствующий пункт, откроется следующая страница сайта (Рис. 2). На ней нужно найти почти неприметный пункт JUST DOUWNLOAD и щёлкнуть по нему.

В переводе на русский JUST DOUWNLOAD означает – «просто загрузить». Другой пункт CONTRIBUTE DOWNLOAD означает, что вам нужно сделать некоторые пожертвования, то есть заплатить. Но заплатить не фиксированную сумму денег, а столько, сколько сочтёте нужным.


Рис. 2. Выбираем тип загрузки JUST DOWNLOAD

После щелчка мышкой по JUST DOWNLOAD появится окно загрузки, в котором будет указано, куда (в какой директорий на компьютере) будет производится скачивание программы Arduino IDE. Уделите этому моменту особое внимание, чтобы потом не искать по всей домашней папке, куда произошла загрузка.

У меня по умолчанию загрузка файлов из интернета происходит в директорий «Загрузки». Поэтому я знаю, где их искать. Кроме того, у меня порядок отображения файлов в этом директории настроен так, что последние закачанные файлы отображаются в начале (вверху окна). Это удобно – не надо долго искать только-что закачанные файлы.

Пока вы читали предыдущий абзац файл наверняка уже скачался.

А вот далее начинается самый сок! Сейчас мы начнем работать с тем, чего так сильно боятся и жутко ненавидят пользователи Виндовс. Мы будем работать в страшной чёрной консоли! А-а!!! Спасайся, кто может!

Вообще, надо сказать, что до этого момента мы работали в графической консоли. Но сейчас нам нужна не графическая, а текстовая консоль. В текстовой консоли нет окон и нет мышинного курсора. В текстовой консоли все команды нужно набирать на клавиатуре. (Да-да, это именно то, что вызывает сильную неприязнь у пользователей Виндовса!) Но, с другой стороны, сколько разных действий вы можете выполнить, вводя команды вручную! Это ничем не ограничено. Вообще никаких ограничений! Вы представляете себе какие это богатые возможности для управления?

А в графической оболочке -- что? А в графической оболочке получается, что если действие никак не отображается на экране, то вам и не по чему щёлкать мышкой. Значит, ваши возможности ограничены тем, что имеется на экране. И в самом деле, вы можете выбрать мышкой и выполнить только те действия, которые представлены на экране в виде кнопочек, значков или пунктов меню. Просто подумайте на эту тему.

Настоящие полноценные консоли в Линуксе доступны по нажатию клавиш Ctrl-Alt-F1 -- первая консоль, Ctrl-Alt-F2 – вторая консоль, Ctrl-Alt-F3 – третья. И так далее. Обычно в Линуксе шесть текстовых консолей. Седьмая консоль – графическая. Это та, в которой мы сейчас находимся. Если вы случайно вышли в текстовую консоль, то нажав Ctrl-Alt-F7 вы непременно вернётесь обратно в графическую консоль. При переходе из графической консоли в текстовые нужно нажимать клавиши Ctrl и Alt. Но находясь в текстовой консоли можно обойтись только клавишей Alt, клавишу Ctrl при этом нажимать необязательно. Нажатие на Alt-F1 перенесёт вас в первую текстовую консоль. Alt-F2 – во вторую, ... Alt-F7 – вернёт вас в графическую консоль. Попробуйте – это безопасно!


Рис 3. Окно псевдо-терминала (окно консоли)

Но это ещё не всё! В графической консоли есть возможность открывать на ней окна псевдо-терминалов, в которых будут отображаться текстовые консоли. Количество таких окон псевдо-терминалов в системе не ограничено. Вот таким окном мы сейчас и займёмся.

В системе Debian по умолчанию запуск псевдо-терминала не связан с «горячей клавишей». И поэтому его придётся вызывать с помощью системного меню: Приложения Системные Терминал. Про Mint я ничего не могу сказать, а в Ubuntu окно псевдо-терминала можно открыть нажатием на комбинацию клавиш Ctrl-Alt-T.

Ну, не важно, как вы откроете окно псевдо-терминала, важно, что оно открылось.

Теперь, находясь в окне псевдо-терминала (то есть, по сути – в консоли), обратите внимание, что текущий директорий – это домашняя папка пользователя.

Системе, которая установлена на моём компьютере, я дал имя c18 (Рис. 4). Моя учётная запись называется alex. Всё вместе очень походит на почтовый адрес – alex@c18. Всё правильно, имя учётно записи и почтовый адрес – это одно и то же! А вы думали миром правит Виндовс!? Нет, миром правит UNIX и его производные! Конструкция alex@c18 – это полноценный адрес моей учётной записи. Сюда точно так же можно посылать письма. Правда, не отовсюду, а только по локальной сети. Почему? Да потому, что я закрыл сеть от внешнего мира. Точнее так — из локальной сети интернет-ресурсы видно, а из интернета ресурсы локальной сети – нет.


Рис .4. Набираем команду «сменить директорий»

После alex@c18 и двоеточия (которое служит разделителем) должен указываться текущий директорий. В нашем случае – это значок тильды («~»). Значок тильды обозначает домашний директорий (домашнюю папку) пользователя. Что это такое?

В Виндовсе корнем яляются диски – C:, D: и так далее. Это от них выстраиваются пути к папкам и файлам. В Линуксе как таковых дисков нет. В Линуксе есть единая файловая система, в которую «встраиваются» все-все диски и даже интернет – вообще всё! Это отдельный и очень большой разговор. Сейчас важно понять, что вершиной всему в Линуксе является ваш компьютер, и весь мир выстраивается относительно этой вершины. Всё правильно! Вы же реальный мир видите из окна своей квартиры, а не из окна корпорации Microsoft!

Так вот, в Линуксе все пути начинаются от «порога вашего дома», который обозначается символом «/». Смотрите, как удобно – в доме есть ваша комната, комната родителей, другие помещения типа ванной комнаты, кухни, туалета, кладовки, балкона. Все они являются подразделами вашей квартиры.

Например, директорий, в котором находятся программы, называется /bin. Директорий в котором находятся учётные записи пользователей – /home. В этом директории находится и ваша учётная запись, которая будет называться как-то так – /home/oleg или /home/victor. В моём случае этот директорий называется /home/alex.

Пользователей на компьютере может быть много, и зачастую они пользуются общими программами. Чтобы каждый раз не настраивать ту или иную программу на работу с конкретным пользователем, было принято мудрое решение, что для каждого пользователя его домашний директорий будет называться просто – одним символом «~». Вот этот символ мы и видим в строке alex@c18:~$.

Знак доллара «$» – это подсказка, что пользователь может вводить свои команды. У обычных пользователей эта подсказка отображается в виде доллара, а у супер-пользователя (администратора, который имеет имя учётной записи root) эта подсказкой является значок «#».

Ну, наконец-то! Азы операционной системы мы более-менее освежили. Двигаемся дальше! Теперь, находясь в домашнем директории, нам нужно попасть в директорию, куда был закачан файл с Arduino IDE. Для этого я набираю сначала команду cd (cd – change directory, сменить директорий). Затем нажимаю пробел, перехожу на русскую раскладку, нажимаю на клавишу с буквой «З» и система дописывает слово Загрузки. Красота!

В моём домашнем директории (и у вас скорее всего тоже самое) находится только один поддиректорий, который начинается на эту букву. Поэтому система сама поймёт, о каком директории идёт речь. Сейчас просто нажмите на клавишу Tab, и система за вас допишет название директория – Загрузки (Рис. 5).


Рис. 5. После нажатия на Tab система допишет недостающее окончание слова Вам остаётся только нажать Enter, чтобы набранная команда выполнилась.


Рис. 6. Перешли в директорий Загрузки

Отлично! Теперь нам нужно осмотреться – какие файлы и поддиректории находятся в этом директории. В Линуксе для этого дела имеется команда ls. Моя операционная система отличается от вашей тем, что я её настроил «под себя». Ваша же – скорее всего имеет установки по умолчанию. О настройках мы поговорим как-нибудь потом, а сейчас вы набираете команду ls -l, а я – команду ll. (Здесь, в этих командах, везде строчные латинские буквы «L», а не цифра «1»).

На рисунке 7 видно, что в директории находится файл arduino-1.8.7-linux64.tar.xz. Поскольку у меня в директории Загрузки до этого момента ничего не было, то это единственный файл в директории. В вашем случае в директории Загрузки могут быть ещё какие-нибудь файлы.

Я надеюсь, что вы нашли файл с программой Arduino IDE.

Обратите внимание на название файла. В Линуксе нет такого понятия как расширение имени файла. В Линуксе всё название файла расценивается как его имя. Поэтому в Линуксе нет никаких ограничений на расширение имени файла. Имя файла может быть совершенно любым! В имени может присутствовать столько окончаний (или суффиксов), отделённых точками, сколько вам нужно. Имя файла может начинаться даже точки. Более того, в Линуксе существуют имена состоящие из одной («.») или двух («..») точек!

Правильно! Это имена текущего и родительского директориев. Ага! Вот, оказывается откуда Microsoft взяла идею называть родительский директории двумя точками – из UNIX-a. А Линукс – это прямой наследник UNIX. Ага! Значит, вот, «откуда ноги растут» у всего этого хозяйства! Но Microsoft решила поиграть в «злого Буратину» и в качестве разделителя между директориями выбрала символ «», вместо символа «/». Пока пользователи были ограничены работой только на компе, это на их работе никак не сказывалось. Но как только пользователи начали выходить в интернет, у них начались проблемы. Так кто кому злой Буратино? Но в школе пользователей учат Виндовсу, а не UNIX/Linux. В результате у всех пользователей искривлённое понимание о том, какой должен быть мир.

Если хотите, вы можете назвать какой-нибудь свой файл так – ... (три точки). Имя файла, состоящее из трёх точек – это нормальное и вполне допустимое имя файла. Другое дело, что в Линуксе принято соглашение, что если имя файла или имя директория начинается с точки, то такой файл или директорий будет скрытым. То есть оно будет невидимо, хотя файл будет существовать. Чтобы увидеть скрытые файлы и скрытые директории нужно выполнить команду ls -al. Или, если вы находитесь в окне файлового менеджера в графической консоли, то нажмите Ctrl-H. Ну, это уже мы сильно ушли в сторону от темы.


Рис. 7. В директории Загрузки находится файл arduino-1.8.7-linux64.tar.xz

Смотрим, из чего состоит имя файла нашей программы:

arduino – это, собственно, имя программы;
1.8.7 – это номер версии;
linux64 – это указание, для какой платформы (для какой операционной системы и процессора) изготовлен файл;
tar – это означает, что внутри файла находится несколько файлов. Иначе говоря, файл является архивом;
xz – и не просто архивом, а сжатым архивом.

Тут мне опять следует сделать небольшое отступление и сообщить, что понятия архивного файла (или архива) в Линуксе и в Виндовсе несколько отличаются. В Виндовсе принято считать, что архивные файлы – это файлы сжатые каким-либо компрессором (Например, WinRAR, 7-Zip и так далее).

В Линуксе понятия «архивный файл» и «сжатый файл» – это два разных файла, разных по типу. Архивный файл подразумевает то, что внутри него находятся другие файлы, то есть он является как бы контейнером для других файлов. А вот сжатый файл – это файл, который получается после обработки исходного файла каким-либо компрессором (например, zip, bzip2 и так далее).

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

Почему в Линуксе это так? Почему не так как в Виндовсе? Да потому, что философии в работе программ в Виндовсе и в Линуксе диаметрально противоположные. Разница в том, что в Виндовсе как правило программы пишутся такими, что они в себя забирают как можно больше всякого функционала. Например, многие Виндовс-программисты не мыслят себе, что среда разработки программ может (и должна!) состоять из двух независимых модулей (из
двух программ) – из текстового редактора, который позволяет набирать и редактировать исходный текст программы, и из компилятора, который преобразует команды, написанные на человеческом языке в коды процессора. Подумайте – ведь каждый из этих модулей (и редактор, и компилятор) не зависит от другого!

И в самом деле – какая разница для компилятора, в каком текстовом редакторе был написан исходный текст программы? Какая разница текстовому редактору, какой текст набирает пользователь? – Текст программы на языке Си, или текст программы на языке Python. А может, пользователь набирает любовное письмо к однокласснице!

Линукс придерживается принципа, что каждая программа (каждый модуль) должен выполнять только свою минимальную задачу. Лишнего не надо! Но при этом он должен выполнять её предельно качественно. А поскольку в Линуксе очень легко можно собирать цепочки из таких качественно работающих программ, то получается, что вся цепочка будет качественной.

Фокус заключается в том, что отладить (найти и устранить все ошибки в программе) проще и быстрее, если эти программы маленькие и выполняют только одну функцию. Попробуйте-ка отладить большую развесистую программу, в состав которой входит не только текстовый редактор и компилятор, но еще и система помощи, и отладчик, и программатор, и кофемашина, и ещё какие-нибудь ненужные бантики-завлекалочки! Соответственно, оно и работать будет аналогично.

Виндовс не может идти по пути Линукса. Дело в том, что сам Линукс и программы для него по большей части бесплатные, со свободным кодом. А в Виндовсе многие программы платные. И если я (как разработчик) написал какую-то программу, то зачем же я буду упускать свою выгоду и использовать чьи-то сторонние программы? Нет! Я к своему компилятору допишу ещё и редактор. И моя программа вырастет в размерах и стоимости. А потом я туда допишу ещё и функции программатора. А потом добавлю функции ещё для чего-нибудь... и так далее, и так далее! Но я никого не пущу в свой бизнес, никому не позволю использовать для его целей какие-то функции моей программы. Я всё съем сам. Поэтому программы в Виндовсе получаются громоздкими и всеобъемлющими.

Я не берусь судить, какой подход в создании программ лучше – тот, который в Виндовсе, или тот, который в Линуксе. Мы видим, что на практике работает и тот, и другой. Считается, что каждый пользователь выбирает операционную систему для себя сам. Но на самом деле это не так. В школе, в институте, на работе – операционную систему вам навязывают. Это не правильно!

Итак. Мы выяснили, что полученный файл является сжатым архивом. Теперь нам нужно произвести декомпрессию и разархивацию. Оба действия, как я уже говорил, можно выполнить за один раз, одной командой. И эта команда называется tar. Сокращение tar – это tape archiv – программа, которая занимается вопросами архивов на магнитной ленте.

Нет-нет, вы не ослышались! Это очень древняя программа. Точнее – не сама программа, а идея этой программы. Идея программы настолько древняя, что, когда создавалась первая версия этой программы, не только Виндовса, но даже и самой корпорации Microsoft не было в проекте. Изначально эта программа сохраняла (и обратно восстанавливала) архивы на  магнитной ленте. В те далёкие времена существовали так называемые накопители на магнитной ленте. Это такие здоровенные шкафы, размером с дорогой высокий холодильник.

С тех пор прошло много времени. Несколько раз сменились носители информации – магнитные ленты, дискеты, винчестеры, лазерные диски, флешки, SSD... и кто его знает, что нас ждёт впереди! А название программы сохранилось. Да и алгоритм программы всё это время тоже не стоял на месте – совершенствовался и улучшался.

Однако, давайте всё же раскроем архив! Для этого дела я набираю имя программы tar и через пробел указываю с помощью двух букв xf, что ей делать. Буква «x» обозначает, что перед разархивацией нужно сначала произвести декомпрессию. Буква «f» говорит о том, что далее через пробел последует имя сжатого архивного файла.

Но имя файла я не набираю руками. Зачем это делать, если сама система понимает, что от неё требуется? Поскольку у меня в директории других файлов нет, то я могу вообще ничего не подсказывать системе, поэтому я сразу нажимаю на Tab. В вашем же случае, если в директории помимо этого файла присутствуют ещё какие файлы, то вам понадобится указать системе несколько начальных букв (возможно не одну, а несколько) имени файла для того, чтобы она однозначно поняла, о каком именно файле идёт речь.


Рис. 8. Набираем команду для декомпрессии и разархивации

Итак. Я нажимаю Tab и получаю полное имя файла (Рис. 9).


Рис. 9. Набираем несколько первых букв в имени файла и нажимаем Tab

Команда для декомпрессии и разархивации набрана. Жмём Enter. Через несколько секунд (или примерно минуту, у какого какой компьютер!) программа отработает, и в командной строке консоли снова увидим приглашение для ввода следующих команд.

Да! Чуть не забыл сказать, что если вас не устраивает вот такое «молчаливое» исполнение команды, вы можете указать параметр «v» (verbatim – «дословно»), что сделает исполнение программы несколько «болтливым». Тогда ваша команда должна выглядеть вот так:

$ tar xvf arduino-1.8.7-linux64.tar.xz

Вообще, надо сказать, что в Линуксе принято, что если программа чётко выполняет то, что от неё требуется, и у неё не возникает проблем, то беспокоить пользователя словами «Мама, я покакала!» наверно не стоит. Почему? Да потому, что информации на экране и без этих сообщений более, чем достаточно! Другое дело, если у программы возникли какие-то трудности. Тут – да, тут нужно кричать и обращать на себя внимание «Мама, Мама! Я покакала! Я покакала!» А если всё идёт штатным образом, что какой смысл поднимать шум? Сделал – и сделал. Молодец!

Правда, не все разработчики программного обеспечения, которые пишут программы для Линукса, следуют правилам Линукса. Поэтому в Линуксе часто можно видеть и программы-комбайны (к стати, этот камушек в огород программы Arduino IDE!), и программы, которые «тарахтят» не по делу во время своей работы. Мир Линукса очень большой. Он даже больше, чем мир Виндовса. Просто многие пользователи не ходили за границу своей деревни, и всё, что «там за оградой» они считают чем-то неправильным и ущербным. Но мир, который за забором, ведь как-то живёт и умирать совсем не собирается. Скорее даже наоборот.

Итак. Пока мы с вами тут «базарили за жизнь», файл разархивировался. Давайте посмотрим что у нас получилось. Я опять набираю свою любимую команду «осмотреться» – ll, а вы набираете команду ls -l.


Рис. 10. После разархивации появился поддиректорий arduino-1.8.7 (он подсвечен голубым цветом).

Ага! Появился новый директорий – arduino-1.8.7. Этот директорий содержит программу Arduino IDE и её установщик.

Директорий Загрузки – это совсем не то место, где должны работать программы.Желательно перенести программу туда, где обычно находятся и работают программы. Программы обычно находятся и работают в директории /usr/bin, и некоторых других. Но если у вас еще не очень много опыта, то я вам настоятельно не рекомендую туда соваться. Впрочем, у вас, как у обычного пользователя, собственно, и прав таких нет, чтобы что-то там изменить или сломать. И это правильно! Поэтому Линукс такой и неубиваемый!
 
Вместо этого, мы с вами скопируем директорий arduino-1.8.7 в поддиректорий bin, который создадим в своём домашнем директории. Для этого в консоли задаём команду mkdir и указываем имя директория, который хотим создать (Рис. 11).

Как видите, команда mkdir выполнилась опять молча. И это хорошо!

Далее вводим команду для копирования – cp (сокращение английского слова «copy» – копировать) и через пробел указываем параметр -r. Параметр -r означает, что нужно копировать также все вложенные файлы и поддиректории. Указываем имя директория, который собираемся копировать – arduino-1.8.7. Его, кстати, его не обязательно набирать руками – вы ведь помните о волшебной клавише Tab?


Рис. 11. Создали директорий bin и приготовились скопировать туда поддиректорий arduino-1.8.7

И... я забыл указать имя директория, куда следует копировать, и сразу нажал Enter. Ну, что ж! И на старуху бывает проруха. Система меня пожурила, а я слегка покраснел. Фух, пронесло! Пару в дневник не поставили.


Рис. 12. Неправильная команда

Хорошо. По идее нужно бы ещё раз набрать команду и дописать директорий назначения. Но это – Линукс. В отличие от Виндовса здесь не нужно набирать команды заново. Всё, что вы когда-то набирали на клавиатуре, записывается в историю набранных команд. Вы можете «шагать» по командам вперёд и назад с помощью клавиш курсора «стрелка вверх» и «стрелка вниз». В данном случае мне нужно один раз нажать на «стрелку вверх».


Рис. 13. Нажал на клавишу управления курсором «стрелка вверх»

После появления предыдущей команды я дописал имя директория.


Рис. 14. Правильная команда

Затем я нажал Enter. И опять команда выполнилась молча. Значит, она выполнилась так, как от неё хотели. (А зачем шуметь?)

Отлично! Теперь переходим туда, куда мы скопировали директорий arduino-1.8.7. Для этого вновь набираем команду cd и указываем место, куда хотим перейти.


Рис. 15. Набираем команду смены директория

Но, опять-таки, нет смысла набирать желаемый директорий полностью, достаточно указать первые несколько букв в его названии. У меня, в моём домашнем директории других поддиректориев, которые бы начинались на букву «b», нет. Поэтому я нажал только одну букву «b», а потом я сразу нажал волшебную клавишу (вы уже знаете какую!) (Рис. 16).

Но нам желательно попасть не только в поддиректорий bin (в котором через какое-то время у вас наверняка появятся ещё какие-нибудь программы и поддиректории), а в под-поддиректорий arduino-1.8.7.

Если у вас до этого не было директория bin, и вы его только что создали и скопировали туда поддиректорий arduino-1.8.7, то у вас в директории bin будет только этот единственный поддиректорий – arduino-1.8.7. (Если это не так, то ситуация будет несколько другая. Не сложнее, но вам придётся указать начальные буквы поддиректория arduino-1.8.7.)

Таким образом, после нажатия на Tab мы должны повторно нажать Tab. Система догадается, что нужно дописать имя вложенного поддиректория (Рис. 17).


Рис. 16. После нажатия на Tab


Рис. 17. После повторного нажатия на Tab

Хорошо! Теперь нажимаем Enter, и система меняет директорий (Рис. 18).


Рис. 18. Мы в директории arduino-1.8.7

Давайте посмотрим, что есть рядом, какие есть файлы? Для этого выполняем команду ls -l.


Рис. 19. Всё, что находится в директории arduino-1.8.7

Вы видите файл install.sh, подсвеченный зелёным цветом? Это программа для инсталляции Arduino IDE в вашу систему. Его нужно выполнить. Делается это очень просто!

В Линуксе, в отличие от Виндовса, запускать программы в текущем директории нельзя. Можно запускать программы только те, которые лежат в «проверенных» директориях. Это директорий /bin, о котором я уже говорил, и некоторые другие. Помните, я сказал, что у обычного пользователя даже прав нет туда залезть и что-то там повредить? Это значит, что теоретически даже если вы принесёте на флешке вирус для Линукса (звучит как анекдот!), то он не будет способен заразить компьютер – у него просто нет прав! Максимум, что он может напакостить, – это покалечить или стереть только ваши файлы. Файлы другого пользователя на этом же компьютере или файлы операционной системы останутся нетронутыми. У вируса (который находится под вашей учётной записью) нет никакого шанса. Поэтому в Линуксе вирусов не бывает в принципе. Поэтому для Линукса нет антивирусов и, как следствие, они не тормозят компьютер.

Вообще-то для Линукса выпускаются антивирусы. Но назначение их состоит не в том, чтобы защищать Линукс, а в том, чтобы вылавливать и уничтожать Виндовые вирусы в сетевом трафике, который проходит через этот комп. Если ваш компьютер не является маршрутизатором, то вам антивирус не нужен.

Хорошо. Запускать программы из текущего директория нельзя. Но как же тогда быть?

На самом дело – можно. Для этого нужно просто указать системе, из какого директория нужно запустить программу. Если программа лежит в текущем директории, то нужно так и сказать – «этот директорий»! «Этот директорий» (или текущий) в Линуксе обозначается точкой – «.».

Тогда запуск команды будет состоять из имени директория («.») и имени исполняемого файла (Рис. 20). Но не спешите набирать целиком имя программы, помните про волшебную клавишу Tab.


Рис. 20. Готовимся запустить программу инсталляции

Указываем первую букву исполняемого файла (он в поддиректории у нас один на букву «i»), нажимаем на Tab (Рис. 21.)


Рис. 21. Остаётся нажать на Enter

После небольшого промежутка времени программа инсталляции закончит свою работу и выведет в консоль сообщение типа «Мама, я покакала!» (Рис. 22).


Рис. 22. Программа Adruino IDE успешно установлена!

Да, я уже упоминал, что Arduino IDE идёт несколько вразрез идеологии Линукса. Ничего страшного! Переживём и это.

Тем не менее, на рабочем столе в графической консоли появился значок для запуска программы Arduino IDE – слева экрана, под значком корзины (Рис. 23).


Рис. 23. На рабочем столе появился значок Arduino IDE

Ну, собственно, это почти всё. Но подождите-подождите! У нас ведь в директории Загрузки осталась копия директория с программой Arduino IDE и архивный файл. Было бы очень не хорошо оставлять за собой мусор. Давайте вернёмся и удалим этот директорий, а файл – пусть он там «пока поживёт». Пока не выйдет следующая версия программы.

Для того, чтобы вернуться в то место, откуда мы недавно пришли, нужно выполнить (Правильно! Молодцы!) команду «сменить директорий» – cd. Только не спешите набирать руками директорий. Это – Линукс!

Линукс «помнит» место, откуда вы пришли. И поэтому, чтобы вернуться обратно, нужно набрать команду cd - (здесь «-» – это чёрточка или минус) (Рис. 24.)


Рис. 24. Команда смены директория – конкретно «вернуться обратно»

После выполнения команды давайте убедимся, что мы действительно вернулись на старое место. Вы набираете ls -l, я набираю ll (Рис. 25).


Рис. 25. На старом месте ничего не изменилось – архивный файл и директорий на месте

Пока не удалили директорий, давайте глянем, сколько места он занимает. Для этого вводим команду du («disk usage» – использование диска), указываем параметр -hs («h» – выводить объем занятого пространство «по-человечески», «s» – нам нужен только суммарный объем директория, без разбивки его по низлежащим поддиректориям) и указываем имя интересующего нас директория – arduino-1.8.7. (Рис. 26).


Рис. 26. Размер директория – пол-гигабайта

Ого! Целых 511 мегабайт. По нынешним меркам это не так уж и много. Но это все равно уже ненужные файлы – мусор. Будем удалять!

Команда для удаления не сложнее предыдущих команд. Набираем имя команды rm (две буквы от английского слова «remove» – удалить), далее указываем параметры -rf («r» – удалять все файлы и все поддиректории, «f» – не спрашивать каждый раз «можно ли это удалить?» при удалении каждого файла и каждого директория) и указываем имя директория, который хотим удалить – arduino-1.8.7 (Рис.27).

И опять! Команда Линукса rm выполнилась без лишнего шума и пыли. Просто сделала свою работу и всё. Вы чувствуете профессионализм в подходе?


Рис. 27. Удаляем директорий arduino-1.8.7 и все его поддиректории и все его файлы

Если хотите потренировать себя в Линуксе, то можете выполнить команду ls -l, чтобы убедиться, что директория больше нет, а всё остальное осталось на месте. Тому, кому прокачивать свои навыки лениво и кто предпочитает притормозиться, можно этого и не делать.


Рис. 28. Директория arduino-1.8.7 больше нет

Ну, что ж! Программа установлена, мусор подчищен. Консоль нам в ближайшее время не пригодится. Закроем её! Можно, конечно, сделать это по-Виндовому – щелкнуть мышкой на крестике в заголовке окна, но можно, не снимая рук с клавиатуры, нажать на Ctrl-D. Окно псевдо-терминала закроется.

Теперь давайте, наконец-то, запустим то, ради чего это всё затевалось!

Щелчок мышкой по значку Arduino IDE, который находится на рабочем столе, приведёт к запуску программы (Рис. 29).

У всех компы разные. У кого-то компьютер мощный, у кого-то слабенький. Поэтому запуск программы будет занимать разное время. Да, программа запускается довольно-таки долго. Это происходит по той причине, что она написана на языке Java.


Рис.29. Окно запуска Arduino IDE.

Язык Java – это особый язык программирования. Он сильно отличается от таких языков как Си и Pascal. Программы, написанные на этих языках, транслируются в коды той платформы (того процессора и той операционной системы), для которой предназначен их компилятор. Java-компилятор транслирует исходный текст программы в код виртуального процессора (виртуальной машины, точнее – виртуальной Java-машины).

Весь фокус в том, что для разных платформ существуют свои конкретные java-машины, но со стороны оттранслированного текста программы эти java-машины абсолютно одинаковы!

Таким образом получается, что написанная и откомпилированная java-программа будет одинаково работать на совершенно любой платформе – будь то Линукс или Виндовс, будь то Intel или ARM. И если в будущем появится еще какой-нибудь процессор, и будет написана ещё какая-нибудь операционная система, и будет создана java-машина для этой платформы, то java-программа заработает точно так же и на ней.

Но, к сожалению, для запуска самой java-машины требуется довольно-таки заметное количество времени. Что мы, собственно, и увидели. Успокаивает лишь то, что после запуска java-машины и загрузки в неё программы (в нашем случае – Arduino IDE) комп тормозить уже не будет.

Однако, смотрите! Программа-то уже загрузилась! (Рис. 30).


Рис. 30. Окно Arduino IDE

В этом окне мы видим «пустую» arduino-программу, которая ничего не делает.

Для выхода из Arduino IDE – как обычно – щёлкните по крестику в заголовке окна.

О том как создать программу, которая хоть что-то делает, мы с вами поговорим в следующий раз. А на этом тему по установке Arduino IDE на Линукс можно считать исчерпанной. Если у вас остались какие-то вопросы, то не стесняйтесь их задавать. Направление разработки программ для микроконтроллеров в Линуксе – очень мощное и перспективное. Через несколько лет вы сами увидите, как оно резко начнёт развиваться.

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

Я, хоть и вчитывался в текст и по мере возможностей исправлял ошибки, тем не менее какие-то из них наверняка всё ещё скрываются от меня. Не сочтите за труд, нещадно сообщайте мне обо всех неточностях и ошибках, которые вы обнаружите.

Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !
© Все права защищены 2018г https://compacttool.ru
Связаться с нами 8-495-722-71-88 zakaz@compacttool.ru