OpenComputers/Туториал: Работаем с дисками

Когда вы пишете программу, обычно хотите сохранить её на долгое время.

Работа с папкой /tmp — это временное решение.

Мы будем работать с жёсткими дисками.


Когда вы вставляете жёсткий диск в компьютер, он автоматически монтируется в расположение /mnt и получает название по первым буквам его адреса. Этого достаточно для экспериментов, но вы захотите большего удобства через некоторое время. Этот туториал научит основам работы с жёсткими дисками.


Примечание: всё, сказанное в этом туториале, справедливо и для дискет.


Первым делом вставим жёсткий диск в компьютер:

Tutorial HardDrives 0 (OpenComputers).png


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

Tutorial HardDrives 1 (OpenComputers).png


Нам надо назначить жёсткому диску имя, чтобы не обращаться к нему по адресу. Наберите команду label, чтобы получить информацию по её синтаксису. Мы используем ключ -a, но можно и указать путь к диску полностью из директории /mnt. Запустите программу label с желаемыми параметрами, назовите диск как вам удобно.

Обратите внимание, что цифры «339» на скриншоте — это начало адреса жёсткого диска. Для многих программ, которые работают с адресами, вы можете сократить адрес до последовательности такой длины, при которой она остаётся уникальной среди остальных компонентов подключённых к компьютеру.


После того, как диск получил имя, это имя будет показывается в подсказке. Запустите df снова:

Tutorial HardDrives 2 (OpenComputers).png


Теперь, мы можем смонтировать диск, обращаясь к нему по имени. Наберите mount <label> <path> чтобы смонтировать диск с именем <label> по пути <path>. Жёсткий диск может быть смонтирован в несколько мест, таким образом эта команда не приведёт к аннулированию пути по умолчанию в каталоге /mnt.


Компьютеры не сохраняют своё состояние при перезагрузке. Это значит, что если компьютер был перезагружен, он отключился из-за ошибки или недостатка энергии, вам нужно будет смонтировать диск снова. Это может быстро надоесть. Создадим скрипт для автозапуска, который будет монтировать диск при подключении. Любой жёсткий диск может иметь такой скрипт. Он должен называться autorun или autorun.lua и должен находиться в корневой папке жёсткого диска. Этот скрипт будет запускаться автоматически после установки жёсткого диска, за исключением тех случаев, когда вы отключите автозапуск через Filesystem API.


Переключитесь на ваш только что смонтированный диск и откройте редактирование autorun.lua:

Tutorial HardDrives 3 (OpenComputers).png


Скрипт автозапуска получает прокси информационного носителя, на котором он находится, первым параметром. Таким образом мы можем использовать Lua varargs синтаксис для доступа к нему. Мы передадим его функции fs.mount(), которая описана в Filesystem API.

Tutorial HardDrives 4 (OpenComputers).png


Сохраните этот файл и закройте его. После извлечения жёсткого диска из компьютера и подключения его обратно, запустите ls и увидите, что диск автоматически смонтирован в нужное место.

Tutorial HardDrives 5 (OpenComputers).png

В данной статье используются материалы из статьи «OpenComputers/Туториал: Работаем с дисками» с вики-сайта Minecraft Wiki, расположенного на Фэндоме, и они распространяются согласно лицензии Creative Commons Attribution-NonCommercial-ShareAlike 3.0. Авторы статьи.