Synology установка mc (midnight commander)

Windows Deployment Services, PXE и другие

БУТ. ДАС БУТ!

Сегодня хочется поболтать о такой замечательной штуке, как Preboot Execution Environment (PXE). Использовать ее, на мой взгляд, одно удовольствие. И не важно, домашняя у нас сеть или продакшен.

Особенно приятно, если мы балуемся виртуалками: одно дело — выбрать нужную ОС из списка при загрузке и совсем другое — искать на шаре соответствующий ISO-файл, а потом аттачить его к CD/DVD/BD-приводу.

Предлагаю для начала погрузиться немного в теорию, там есть несколько крайне интересных моментов…

ФУНДАМЕНТ

Жил да был BOOTP протокол. Предназначался он для получения клиентом IP-адреса при загрузке машины. BOOTP поддерживал BOOTP расширения (BOOTP Extensions или их еще называли — BOOTP Vendor Extensions). BOOTP расширения могут передаваться клиентом в запросе и отсылаться BOOTP сервером при ответе.

Всем известный DHCP протокол является ничем иным, как развитием BOOTP протокола и обратно совместим с ним. Ясное дело, что BOOTP расширения тоже были унаследованы, только они теперь называются DHCP опции (DHCP Options). Каждая DHCP опция идентифицируется числовым идентификатором, называемым тэгом (DHCP Option Tag).

PXE протокол основан на DHCP протоколе с определенным набором DHCP опций, называемыми PXE опциями (PXE Options) и на TFTP протоколе. PXE опций довольно много. Вот самые интересные:

  • 6 — настройки обнаружения загрузочного сервера
  • 8 — тип загрузочного сервера
  • 9 — меню для выбора загрузочного сервера
  • 10 — строка приглашения
  • 43 — информация производителя (#6, #8, #9, #10, #71, …)
  • 55 — список необходимых клиенту параметров (#1, #3, #43, #60, #128-#135)
  • 60 — идентификатор класса вида «PXEClient:Arch:xxxxx:UNDI:yyyzzz»
  • 61 — идентификатор клиента Universally Unique Identifier (UUID), в терминологии Microsoft — Global Unique Identifier (GUID)
  • 66 — имя загрузочного сервера
  • 67 — имя загрузочного файла Network Bootstrap Program (NBP)
  • 71 — тип загрузочного сервера и уровень
  • 93 — тип архитектуры клиента (x86, x64, …)
  • 94 — версия Universal Network Device Interface (UNDI)
  • 128-255 — специализированные опции производителя

Опции #1 и #3 — это стандартные опции DHCP:

  • 1 — маска подсети
  • 3 — таблица маршрутизации

Кстати говоря, опцию 61 можно увидеть при загрузке машины:

Вопросы, что такое GUID, теперь снимаются

Таким образом, чтобы PXE протокол заработал, нужно, чтобы наш DHCP поддерживал PXE опции. И тут нас поджидает коварность. Дело в том, что поддержка PXE обычно реализована в суровых взрослых железяках, а производители домашнего оборудования крайне редко грешат этим.

МИФ НОМЕР 0

Нам потребуется специализированная железка или программный DHCP-сервер с поддержкой PXE. Если у нас домашняя сеть, то скорее всего в ней трудится дешевый роутер без поддержки PXE, поэтому придется либо отказываться от роутера, либо выключать на нем DHCP.

Как видим, комбинаций довольно много. Рассмотрим как будет работать PXE протокол для самого интересного случая: при наличии DHCP без поддержки PXE и DCHP прокси с PXE:

  1. BIOS после прохождения POST передает управление Initial Program Load (IPL)
  2. IPL формирует PXE опции #60, #61, #93, #94
  3. IPL отправляет широковещательный DHCPDISCOVER запрос с PXE опциями на порт 67
  4. DHCP выдает обычный DHCPOFFER без PXE опций
  5. IPL понимает, что PXE протокол не поддерживается на DHCP
  6. DHCP прокси выдает DHCPOFFER без PXE опций и IP-адресом вида «0.0.0.0»
  7. IPL понимает, что имеет дело с DHCP прокси
  8. IPL отправляет широковещательный DHCPREQUEST запрос с PXE опциями на порт 4011
  9. DHCP прокси выдает DHCPACK с PXE опциями, включая #66, #67
  10. IPL загружает указанный NBP по протоколу TFTP
  11. IPL передает управление NBP

Вот, собственно и все. Подробнее можно прочитать о PXE протоколе в этом документе: /ссылка/. Теперь можно поговорить о софте.

Существует достаточное количество продуктов, поддерживающих PXE. Обычно они содержат DHCP/DHCP прокси и TFTP. Но, как всегда, возникает куча вопросов в производителям.

SYNOLOGY

Продукты Synology, думаю, известны многим (кто не общался — прошу сюда: /ссылка/). Начиная с прошивки DSM 4.2, Synology стала поддерживать PXE. Все бы хорошо, но чтобы оно завелось, нужно установить на Synology DHCP пакет, фактически превратив NAS в DHCP сервер! Самое неприятное то, что DHCP прокси не поддерживается (во всяком случае — пока).

SERVA

Легко выкачивается отсюда: /ссылка/. Компактная, имеет кучу настроек. Кроме DHCP прокси и TFTP поддерживает кучу других протоколов: HTTP/FTP/DNS/DHCP/SNMP/SYSLOG. Позволяет устанавливать не только Windows-системы, но и Linux.

Основные проблемы у Serva следующие:

  • Это десктоп-приложение, каких-либо настроек для запуска в виде сервиса я не нашел
  • Настройки довольно запутанные, требуется много ручной работы (создать и расшарить папки, прописать операционные системы и пр.)
  • Стабильность далека от идеала, я бы сказал — далека от стабильности вообще

Если требуется иногда устанавливать ОС по сети — вполне можно воспользоваться. Для более серьезной работы, имхо, не очень подходит.

WINDOWS DEPLOYMENT SERVICES

Устанавливается включением соответствующей роли в Windows Server. Работает как сервис. Так как это Microsoft, то у нас есть определенное качество, но и определенная путаница.

Практически все обзоры по Windows Deployment Services (WDS) начинаются с того, что WDS требует Microsoft Active Directory и Microsoft DHCP Service. Естественно, прочитав такое, хочется сказать: «Ой ё!» и пойти поискать кого-нибудь попроще, например, Serva.

Немного поигрался с WDS и решил использовать его.

ACRONIS

У Acronis есть очень интересные решения. Почитал, почереповал, решил, что хочу бесплатно и хочу попробовать WDS.

ISO

Основной минус Serva и WDS в том, что они не поддерживают ISO-файлы напрямую. Это означает, следующее: представьте, что у нас есть куча ISO-файлов, закаченных с MSDN или TechNet. Те системы, которые нужно будет устанавливать через PXE, придется распаковать, а потом зарегистрировать в соответствующем продукте! Ну не бред ли?

Рассмотрим какими путями можно идти:

  1. Распаковать ISO-файлы. Минус: сотня распакованных ISO-файлов по 4 Гб каждый потребуют 400 Гб дискового пространства. Довольно серьезный объем, особенно в домашней инфраструктуре, самое обидное, что сами-то ISO у нас уже хранятся и удалять их не айс: возможно потребуется их замонтировать в VMware или Hyper-V или просто прожечь на болванки. Плюс: если нужна производительность и у нас выделенный сервер, то и обид нет.
  2. Смонтировать ISO-файлы. Минус: потеря производительности по чтению по сравнению с распакованными файлами. Если ISO-файлы лежат на сетевой шаре, то мы вообще можем упереться рогами в сеть или в сетевой диск. Плюс: мы сильно экономим дисковое пространство.

Что касается распаковки, то в мире Windows это можно легко сделать — софта навалом, хоть WinRAR’ом. С монтированием же есть приколы.

Если говорить про Synology, то он умеет монтировать ISO. Правда поддерживается всего 16 точек, поэтому сложно представить, кому это надо.

Если говорить про Windows, то монтировать ISO умеют многие («А теперь откиньтесь на спинку кресла…» (С) Microsoft, в смысле что у них теперь есть софтина для Windows 7 и встроенная поддержка в Windows 8).

Но все производители софта с упорством, достойного моего непонимания, монтируют на виртуальные приводы CD/DVD/BD. Соответственно, если нам нужно смонтировать, скажем, 40 ISO, то понятное дело, что нас будет ждать большой облом — виртуальные диски в системе закончатся.

Оказывается, что есть. Встречаем Pismo File Mount Audit Package или PFM — /ссылка/.

PFM

Признаться, когда я нашел PFM, я понял, что задача с монтированием ISO решена. Эта штука умеет монтировать ISO-файлы на папки, причем поддерживается как локальная файловая система, так и сетевая. Монтирует довольно оригинально — файл превращается в папку с именем файла, в которую можно зайти и увидеть ISO контент (к слову — можно монтировать еще и ZIP-файлы).

Продукт меня немного застремал: для монтирования на виртуальные папки используются самописные драйвера, а они, как известно, могут положить машину на лопатки, в смысле — загнать в BSOD.

Тем не менее, мне показалось, что PFM более чем стабилен: я периодично развлекался с ним в течении дня и все работало отменно.

Пользовательский интерфейс мог бы быть посовременнее, но у многих он гораздо хуже.

Что же произошло далее? А далее произошла мелкая неприятность, из-за которой я отказался от PFM. Начну с того, что PFM не поддерживает auto mount. Т.е. перегружаемся и опа, нужно все монтировать заново.

Нас, конечно, этим не испугать. Быстро было обнаружено, что в комплект PFM входит консольная утилита с одноименным названием, которая умеет делать все, что умеет делать UI. Следовательно, можно сбацать какой-нибудь PowerShell-скриптец, да включить его в автозагрузку. Список ISO-файлов хранить в текстовом файле или в простенькой БД… Вот тут и пришла печаль…

Мелькнула мысль, что ребята из Pismo могут быть круты и запуск из под Local System или в виде сервиса приведет к использованию Events Log, но надежда умерла после соответствующих экспериментов.

Резюме: использовать в серверном окружении нельзя. Решил написать об этом продукте только потому, что в целом впечатление осталось приятным, возможно, что кому-нибудь на десктопе да и пригодится.

Читайте также:  Backup mysql базы в docker контейнере

ЗАДАЧА

Теперь мы можем сформировать задачу:

  1. У нас есть куча ISO-файлов на локальной или сетевой файловой системе (ISO-репозиторий)
  2. У нас есть WDS сервер
  3. Нужно смонтировать ISO-файлы и потом зарегистрировать их в WDS

РЕШЕНИЕ

Известно, что Linux умеет монтировать ISO-файлы на файловую систему из коробки (отвлеченно: на Synology тоже крутится Linux).

 Возникла мысля сделать «переходник»: небольшую виртуальную машину с Linux, замонтировать на нее файлы из ISO-репозитория, расшарить маунты, а далее уже регистрировать их в WDS.

Все, что было сказано выше — это предварительная словесная лабуда, сам пост задумывался как описание полученного решения… Сразу оговорюсь, что я не линуксоид. Возможно, что я изобрел педали для велосипеда или прорыл параллельный тоннель, у кого есть что сказать — милости просим.

Понеслась!

УСТАНОВКА LINUX

Ставить будем Debian 7.0 (Debian GNU/Linux 7.0.0 «Wheezy» — Official amd64 NETINST Binary-1 20130504-14:43) на виртуалку Hyper-V 3.0 (Windows Server 2012).

Параметры виртуалки такие:

  • 1 виртуальный процессор
  • 256 Мб оперативки
  • 8 Гб диск

Установка проходит довольно быстро и гладко, когда дело дойдет до Software selection — рекомендую снять все галки, включая Standard system utilities:

Минимализм в данном случае — благо

Итак, операционка поставлена, теперь нужно немного ее поднастроить… Сразу ставим Midnight Commander:

apt-get install mc

Отключаем IPv6 (не пользуюсь):

/etc/sysctl.d/disableipv6.conf

net.ipv6.conf.all.disable_ipv6=1

Теперь можно обнаружить, что машины не пингуются по именам, а сам «переходник» не виден в сети из Windows-окружения. Ставим пакеты:

apt-get install samba apt-get install cifs-utils

Настраиваем конфиги:

/etc/nsswitch.conf

hosts: files dns wins

/etc/samba/smb.conf

wins support = yes name resolve order = lmhosts host wins bcast

Перегружаемся:

shutdown -r -t 0 now

Все, машинка готова к бою.

РЕАЛИЗАЦИЯ

Итак, наша исходная точка — ISO-репозиторий. Назовем путь до директории репозитория — SOURCEDIR. Он может располагаться:

  • на локальной файловой системе «переходника»
  • на какой-то сетевой шаре

В случае локальной файловой системы, у нас есть путь к директории репозитория — SOURCEDIR. В случае сетевой шары у нас есть путь до репозитория — CIFSDIR, который нужно смонтировать на локальную файловую систему, после чего мы получаем тот же SOURCEDIR. Для монтирования нам могут потребоваться креды — USERNAME и PASSWORD.

Для монтирования воспользуется следующей командой:

mount -t cifs CIFSDIR SOURCEDIR -o username=USERNAME,password=PASSWORD,iocharset=utf8

Точка монтирования шары создается, но, к сожалению, живет до первой перезагрузки. Устроить вечный маунт можно так:

/etc/fstab

SOURCEDIR CIFSDIR cifs user=USERNAME,password=PASSWORD,iocharset=utf8 0 0

Теперь у нас есть окончательный путь к SOURCEDIR. Это «вход» для «переходника». Теперь разберемся с «выходом».

Монтировать ISO файлы мы будем в директорию, которую назовем TARGETDIR. Ее нужно создать:

mkdir TARGETDIR -p

А затем расшарить для Windows (мне вполне будет достаточно guest и RO):

/etc/samba/smb.conf

[repository] comment = ISO repository browseable = yes path = /mnt/repository guest ok = yes read only = yes

Вот такая подготовительная работа…

МОНТИРОВАНИЕ

Сценарий монтирования ISO-файлов из репозитория:

  1. Выбираем рекурсивно все файлы *.iso из директории SOURCEDIR. Рекурсивно — потому что ISO-файлы могут быть разбросаны по папкам. Получаем линейный список вида SOURCEDIR/FILENAME, где FILENAME — имя ISO-файла. Основное требование — отсутствие повторов, файлы с одинаковыми именами, разбросанными по разным папкам — беда.
  2. Для каждого ISO-файла будем создавать одноименную директорию в TARGETDIR. Если папка уже существует, считаем это аварийной ситуацией.
  3. Последовательно монтируем каждый ISO-файл в точку TARGETDIR/FILENAME.

Смонтировать ISO можно командой:

mount -o loop,ro SOURCEDIR/FILENAME TARGETDIR/FILENAME

LOOP DEVICE

Для монтирования ISO используется loop device. По-умолчанию, в системе их всего 8. Убедиться в этом можно вот так:

ls /dev/loop*

Таким образом, смонтировать мы сможем только 8 ISO-файлов, а потом — получим ошибку «mount: could not find any free loop device«. Чтобы убрать это ограничение, можно прописать необходимое число loop device в конфиг и перезагрузить систему:

/etc/modules

loop max_loop=255

Еще одно ручное подкручивание системы…

РАЗМОНТИРОВАНИЕ

Сценарий размонтирования ISO-файлов (считаем, что владеем директорией TARGETDIR эксклюзивно — там только наши данные и их преспокойно можно грохать):

  1. Размонтируем все точки TARGETDIR/*
  2. Удаляем все директории из TARGETDIR

Команды для размонтирования ISO и удаления директорий:

umount -f TARGETDIR/* rmdir TARGETDIR/*

Удаляемые директории должны быть пустыми, иначе завалимся. Будем считать, что это вполне нормальная защита от удаления чужих данных.

С размонтированием есть один забавный момент. Если не сделать размонтирование сетевых ISO-файлов, то при выключении/перезагрузке машины мы будем висеть на «Unmounting local filesystem…» 5 минут, а потом — повалят ошибки:

CIFS VFS: Server A.B.C.D has not responded in 300 seconds. Reconnecting… CIFS VFS: Send error in Close = -11 loop: can't delete device /dev/loop0: No such device or address

Причина в том, что сетевой интерфейс гасится до «Unmouting local filesystem».

СИНХРОНИЗАЦИЯ

При изменениях в ISO-репозитории необходима синхронизация между SOURCEDIR и TARGETDIR (например, в репозитории добавились новые ISO-файлы). Для синхронизации можно придумать какой-нибудь умный механизм (монтировать новые файлы, размонтировать удаленные), но пока вполне достаточно все размонтировать, а потом все заново смонтировать.

АВТОМАТИЗАЦИЯ

Описанные сценарии были воплощены в жизнь в виде скриптов:

  • isorep.conf — конфигурационный файл
  • isorep.sh — скрипт со сценариями монтирования, размонтирования и синхронизации
  • isorepd.sh — скрипт для автозапуска isorep.sh при старте и останове/перезагрузке системы

Пока что предполагается ручная установка файлов в систему.

isorep.conf

Источник: https://intrudo.wordpress.com/tag/midnight-commander/

Synology DiskStation: Midnight Commander installieren

Wenn man sich viel auf der Kommandozeile einer Synology DiskStation bewegt, kommt schnell der Wunsch nach einer bequemeren Art der Dateiverwaltung und -bearbeitung auf.

Auch einen vernünftigen Editor wünschen sich viele, da der mitgelieferte Editor vi kompliziert zu bedienen ist und kein Syntax-Highlighting unterstützt. Hier bietet sich der Midnight Commander an.

Er sieht aus wie der Norton Commander, den viele sicher noch aus DOS-Zeiten kennen, und bietet alle erdenklichen Möglichkeiten für Dateioperationen nebst schönem Editor.

Synology DiskStation: Midnight Commander auf der Kommandozeile

Installieren lässt sich der Midnight Commander über zwei Wege: über externe Quellen im Paketzentrum, oder über iPKG.

Installation per Paketzentrum

Am einfachsten lässt sich der Midnight Commander über das Paketzentrum installieren. Dazu loggen wir uns als Admin auf der Weboberfläche (DSM) des NAS ein und steuern das Paketzentrum an. Im oberen Bereich des Fensters klicken wir auf die Schaltfläche „Einstellungen“.

Synology DiskStation: Paketquellen hinzufügen

Im Tab „Paketquellen“ fügen wir, falls noch nicht vorhanden, die Quelle SynoCommunity mit der Adresse http://packages.synocommunity.com hinzu. Anschließend verlassen wir dieses Fenster mit der Schaltfläche OK.

Zurück im Paketzentrum-Hauptfenster wechseln wir in den Community-Bereich, suchen das Paket „Midnight Commander“ und installieren es.

Es wird nun im Bereich „Installiert“ als „angehalten“ angezeigt und bietet auch keine Option an, mit der man es starten könnte. Das ist richtig so, denn es ist ja kein Dienst, sondern eine Anwendung, die man bei Bedarf startet.

Synology DiskStation: Midnight Commander im Paketzentrum

Installation über iPKG

Wer iPKG schon auf der DiskStation installiert hat (hier eine Anleitung), kann den Midnight Commander auch darüber installieren. Entweder auf der Kommandozeile:

DS> ipkg install mc

Synology DiskStation: Midnight Commander per iPKG auf der Kommandozeile installieren

Oder per iPKGgui:

  1. im linken Bereich -Alle- wählen
  2. oben rechts im Filter „mc“ eingeben und die Eingabetaste betätigen
  3. per Rechtsklick auf „mc“: Markiere für Installation -> Überschreiben
  4. im Hauptfenster aufs grüne Fähnchen („Anwenden“)
  5. im nächsten Fenster auf „Ausführen“

Synology DiskStation: Midnight Commander per iPKGgui im DiskStation Manager installieren

Midnight Commander aufrufen

Der Midnight Commander steht nun auf der Kommandozeile zur Verfügung. Per SSH verbinden wir uns auf die DiskStation, verwenden dafür den Benutzernamen root und das Passwort vom Admin-Account und setzen folgenden Befehl ab:

DS> mc

Synology DiskStation: Midnight Commander auf der Kommandozeile

Источник: https://indibit.de/synology-diskstation-midnight-commander-installieren/

Midnight Commander with SMB support

How to install MC (Midnight Commander) with Samba support.

English version of this page under construction. You can read automatic translation.

Популярный консольный файловый менеджер mc способен работать с сетевыми Windows-ресурсами (smb share) подобно тому, как он это делает с ftp/sftp. Правда, эта функция отключена по-умолчанию. В этой статье будет описано как добавить поддержку samba в mc.

Для этого нам понадобится пересобрать пакет mc. В операционных ситемах Ubuntu/Debian (и основанных на них) нам потребуется предварительно установить необходимые для сборки зависимости командой:

sudo apt-get build-dep mc

В Redhat (Fedora, Centos):

sudo dnf builddep mc

Далее, можно загрузить исходный код mc с официального сайта, из каких-то сторонних источников, а можно его клонировать с основого github репозитория:

git clone https://github.com/MidnightCommander/mc

В таком случае конфигурацию с поддержкой samba, компиляцию и установку можно будет выполнить командами:

cd mc ./autogen.sh ./configure —enable-vfs-smb make

Читайте также:  Установка zabbix 3 на nginx + php-fpm

sudo make install

Готово.

В Debian (и, соответственно, Ubuntu, Linux Mint и т.п.), если у вас подключены репозитории с исходными кодами, можно собрать установочные deb пакеты:

mkdir mc_smb cd mc_smb

apt-get source mc

После этого любым текстовым редактором откройте файл rules в папке mc_smb/mc-4.x.xx/debian (где 4.x.xx – номер загруженной версии) и строки:

—enable-tests
# —enable-vfs-smb=yes

измените на:

—enable-tests
—enable-vfs-smb=yes

После этого можно перейти в директорию с исходными кодами и собрать новые пакеты:

cd mc-4.x.xx
dpkg-buildpackage

Через некоторое время пакеты соберутся и будут лежать в директории уровнем выше, их можно будет переустановить командой:

cd ..
sudo dpkg -i mc-data_4.x.xx_all.deb mc_4.x.xx_arch.deb

(где 4.x.xx – номер собранной версии, а arch – ваша архитектура процессора)
Конечно, вместо этого можно установить собранный пакет mc и обычным установщиком вашей системы.

Дополнение:

Также в этом репозитории вы можете загрузить исходный код и собрать особую версию mc: https://github.

com/zlaxy/mc В ней, в отличии от официальной ветки: – есть скроллбар в активных панелях; – нажатие F3 на директории подсчитывает и отображает ее размер; – Shift+F1/Shisft+F2 или F11/F12 открывает меню примонтированных адресов со с списком путей быстрого доступа (с возможностью добавлениях в них сетевых, в том числе, smb адресов); – оставлены только русские наборы символов. Вот как это выглядит:

Источник: https://oss-it.ru/en/883

Как собрать mc (Midnight Commander) под NAS Seagate Central

ПодробностиАвтор: DarkeyeОпубликовано: 02 января 2016Просмотров: 3753

Буквально недавно у моего друга возникла необходимость в файловом менеджере Midnight Commander на сетевом накопителе NAS Seagate Central.

В стандартной прошивке его нет и не предвидится. Поиск скомпилированного MC тоже был безрезультатен — все собранные под процессор arm версии не работают на этом устройстве.

Хочешь не хочешь, а придется собрать mc (Midnight Commander) под NAS Seagate Central самим.

Для начала нужно зайти на устройство по ssh и выяснить его архитектуру.

Для выяснения архитектуры выполним следующие команды:

$ cat /etc/*release
MontaVista Linux 6, (.dev-snapshot-20130726)

и

$ cat /proc/cpuinfo Processor : ARMv6-compatible processor rev 4 (v6l) BogoMIPS : 279.34 Features : swp half thumb fastmult vfp edsp java CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xb02 CPU revision : 4 Hardware : Cavium Networks CNS3420 Validation Board Revision : 0000

Serial : 0000000000000000

Дальнейший поиск в интернете привел меня на форум stackowerflow, где обсуждалась эта проблема и предлагалось решение. Собственно проблема заключается в следующем — процессор NAS Seagate Central использует page size/offset 0x10000, тогда как по умолчанию для ARM GCC используется 0х8000.

Именно по этой причине найденный в сети интернет, скомпилированный MC, не запускался на данном устройстве. Там-же было предложено использовать флаги -march=armv6k -Wl,-z,max-page-size=0x10000,-z,common-page-size=0x10000,-Ttext-segment=0x10000.

Отдельно хочу отметить интересный метод узнать правильное смещение текст-сегмента в заголовке раздела и размер страницы в заголовках программы. Для этого нужно выполнить для одной из встроенных программ, например nano, команду #readelf -a /usr/bin/nano. Итак идея ясна, пора приступать к сборке.

В сети интернет я нашел замечательную статью с названием «Кросс-компиляция под arm Midnight Commander». Дальнейшее изложение я буду делать в том-же стиле, что и автор этой статьи, включив только необходимые для целевой архитектуры флаги. На своем нетбуке я использую операционную систему Ubuntu 14.04. Для нее нужно установить инструменты для кросс-компиляции.

Все действия я выполняю с правами суперюзера. Выполним команду  #apt-get install gcc-4.7-arm-linux-gnueabi arm-linux-gnueabi-gcc pkg-config-arm-linux-gnueabi libglib2.0-dev. Я решил что Midnight Commander  на сетевом накопителе NAS будет находиться в папке /opt/mc .

Создадим необходимые папки в нашей системе (я создал их в своей системе Ubuntu)выполнив #mkdir /opt/mc, #mkdir /opt/mc/sources, #mkdir /opt/mc/builds. Назначение папок вполне ясно. Для чего это делается? Мы будем компилировать МС и библиотеки со статической линковкой. Именно поэтому нужно создать структуру папок идентичную той, которую мы планируем использовать на нашем устройстве.

Источник: http://network.lamantinclub.com/53-kak-sobrat-mc-midnight-commander-pod-nas-seagate-central

Установка дополнительного софта

За последние сутки общий объем скачанных торрентов составил чуть больше 30МБ. В принципе в форуме synology проскакивала информация, что в новой версии будет новый более шустрый торрент-клиент, но пока нет подтверждения на участие в бета-тестировании. А посему попробую поставить сторонний пакет.Первый вариант — Transmission ClutchОписание находится здесь:

http://synology.nas-central.org/index.php/Transmission_Clutch_HowTo

Маленькая проблемка: написано все хорошо, но первая же команда  ipkg install transmission lighttpd php php-fcgi
выкинула ошибку: ipkg отсутствует как класс. Похоже, что проблема не решается в два клика мышой.

Поиски привели на ветку http://synology.com/enu/forum/viewtopic.php?t=5823По ссылке, приведенной в нем, качаем программу прямо на NAS

BigBox> cd /tmp
BigBox> wget
http://www.maartendamen.com/synoware/ds_armmarvell-bootstrap_1.0.xsh

Следующий шаг — запускаем то, что скачалосьBigBox> sh ds_armmarvell-bootstrap_1.0.xshПосле нескольких секунд выдачи ловим строкуSetup complete…Выполняем

BigBox> ipkg update
Получаем результат:

Downloading http://www.maartendamen.com/synoware/Packages
Updated list of available packages in /usr/lib/ipkg/lists/synoware
Successfully terminated.
Похоже, что счастье близко. Для начала проверим на наличие Midnight Commander'а.В специальной странице 

http://www.synology.com/wiki/index.php/Compiled_programs_for_Marvell_mv5281_ARM-based_Synology_Products

отлавливаем соответствующую ссылку и запускаем на закачку со следующей страницы:

http://pableu.net/archive/mc/

BigBox> ipkg install http://pableu.net/archive/mc/mc_4.6.1-3_arm.ipk

В ответ 

ERROR: Cannot satisfy the following dependencies for mc:         glib slang e2fsprogs

Поочередно запускаем

ipkg install http://pableu.net/archive/mc/slang_2.1.2-1_arm.ipk

ipkg install http://pableu.net/archive/mc/glib_2.9.6-1_arm.ipk
ipkg install http://pableu.net/archive/mc/e2fsprogs_1.40.3-1_arm.ipk
и заново ipkg install http://pableu.net/archive/mc/mc_4.6.1-3_arm.ipkВроде ошибок не выдалось.Набираем mc и вот оно, счастье!Дополнительно поставлены

BigBox> ipkg install unrar
BigBox> ipkg install unzip
BigBox> ipkg install lsof
BigBox> ipkg install nano

Кстати, оказалось, что mc можно поставить и с сайта synology, лезть никуда не надо было.Учту при следующей переинсталляции.Пока рылся в форумах,  вылезло одно новое слово: FireFly — медиасервер. 

Гнездо здесь: http://www.fireflymediaserver.org/

В форумах пишут про работу с iTunes-клиентами, с Roku Soundbridge и некоторыми другими девайсами.К сожалению для ямахи не подходит, т.к. по протоколам вроде как не совместим.Firefly is not a UPnP AV server currently.

I assume that is what your Yamaha receiver supports. Firefly only supports the iTunes (DAAP) protocol, and RSP (Roku Server Protocol) devices.Жаль, счастье было близко…

Еще один забавный адресок: http://oinkzwurgl.

org/diskstation

Инструкции по установке софта, в том числе компиллятора.Очередное новое слово: SlimServer On DiskStation (SSODS)

Сервер для подачи музыки на Squeezebox (ранее slimdevices.com, теперь Logitech). 

Но, увы, это не совсем то, что надо.Нашелся еще Sonos perl based web controllerНо, увы, Sonos работает по uPNP, а, похоже, Yamaha его не понимает.

Еще несколько умных слов на эту тему:Wizd Andromeda Zina MediaTombCyberMediaGate ServeruSharePulseAudio — TracCoherence — a DLNA/UPnP Framework for the Digital Living — TracFUPPES — Free UPnP Entertainment ServiceElisaTVersityGMediaServer Три первых не подходят, с остальными надо разбираться отдельно. На сегодня с поисками все.

Transmission — кроссплатформенный bittorrent-клиент, живет здесь: http://www.transmissionbt.com/

Clutch — веб-интерфейс к нему, живет здесь: http://clutchbt.com/К сожалению, бинарников под DS нет ни для того, ни для другого. Нужно либо ставить компиллятор, либо искать готовый.Twonkyvision MediaServerЕсть большая страница на офсайте с дистрибутивами для разных платформ.

http://www.twonkyvision.com/Download/TwonkyMedia/TM4Technicians.html

 К сожалению, для  DS207+ там подходящего нет, есть только для DS207, у меня есть сомнения по поводу удачи, но попробовать можно.Программа скачивается в виде комплекта с инсталлятором, который надо запускать на ПК. С ходу не получилось, т.к. оказалось, что инсталлятор работает по telnet, а telnet я забыл разблокировать.Идем на страницу патчей Synology и разблокируем, после чего продолжим молодецкие игры на свежем воздухе, но уже завтра.

Источник: https://mteorman.livejournal.com/2736.html

Midnight Commander

Midnight Commander (mc) wordt in de Linuxwereld vaak gebruikt vanwege zijn veelzijdigheid. Het is te vergelijken met Norton Manager (in de tijden van DOS) of total commander.

Dankzij Midnight commander kan je makkelijk config files aanpassen, mappen aanpassen, verwijderen, bestanden unzippen en zippen, bestanden verplaatsen, kopiëren… Een zeer handige tool dus als je veel in de commandline van je Synology NAS bezig bent.

Goed, laten we er aan beginnen!

Om te beginnen gaan we Midnight Commander installeren door Synocommunity toe te voegen aan pakketbronnen (url: http://packages.synocommunity.com). En dan kan je zo Midnight Commander installeren. Of als je IPKG op je NAS hebt staan kan je via het commando “ipkg install mc” Midnight Commander installeren.

Als dat éénmaal gebeurd is, open dan een PuTTY sessie naar je Synology NAS en typ het commando “mc” om Midnight Commander te starten.

Ondanks dat het terminal-based is ben je toch in staat je muis te gebruiken, alsook kan je ook nog vanonder bij de # commando’s intypen.
Nu, Midnight Commander is zeer uitgebreid.

En om alle functies hier neer te schrijven zou het een beetje lang maken..

Dus daarmee dat ik even de voornaamste functies hier opsom en diegene die zich hierin willen verdiepen wijs ik je graag door naar dit filmpje: Midnight Commander tutorial

Onderaan zie je de nummertjes 1 t.e.m 10, dit vind ik persoonlijk een beetje slecht aangegeven omdat het niet de nummertjes zijn maar de F1 t.e.m F10 keys.
Nu even een korte omschrijving van de bepaalde functies:

  • Met F1 open je de helpfuncties, hier kan je wat in opzoeken als je iets niet weet.
  • Als je op F2 drukt opent er zich een menu waar je vele functionaliteiten kunt gebruiken zoals bv. zippen en tarren.
  • F3 opent een textviewer, hiermee kan je files, bestanden,.. bekijken.
  • F4 opent texteditor, hier kan je texfiles en bestanden mee bewerken.
  • F5 is voor bestanden te kopiëren, hier kan je makkelijk met de 2 windows gebruik van maken om meteen je destination ingevuld te krijgen (zie tutorial).
  • F6 idem als F5, met het enige verschil dat je hier bestanden mee kan verplaatsen (knippen).
  • F7 mkdir staat voor make directory. Zo kan je dus een map aanmaken.
  • F8 hiermee kan je bestanden, mappen,.. verwijderen.
  • F9 is voor het menu aan de bovenkant te kunnen gebruiken (is alleen nodig indien men zonder muis werkt).
  • Met F10 kan je elk van de opgesomde functionaliteiten sluiten of eender welk geopend venster door Midnight Commander.
  • In het menu bovenaan kan je het rechter en-linker venster besturen alsook files aanmaken, commands ingeven etc. etc. (hiervoor verwijs ik door naar de tutorial omdat dit vrij uitgebreid is).
Читайте также:  Failed to start lsb: bring up/down networking

Voila, dit was een korte introductie tot Midnight Commander, een echte handige tool als je graag in de CLI aan je NAS prutst ;)!

Источник: http://www.mysynology.nl/midnight-commander/

Работа с Миднайт Коммандер (MC) — основы

Миднайт Коммандер – аналог таких известный файловых менеджеров, как FAR или Total Commander, разработанный для Unix-подобных ОС. Эта программа относится к категории Open Source (с открытым исходным кодом) и входит в проект GNU.

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

Наиболее часто используемые сочетания клавиш:

  • Tab или Ctrl+i – переключение между панелями.
  • Insert или Ctrl+t – выделить или снять выделение с файла/папки.
  • Alt+. – включить/выключить отображение скрытых файлов и папок.
  • Ctrl + o – включить/выключить отображение панелей (при работе с командной строкой удобно скрывать панели).
  • Ctrl + r – заново отобразить содержимое каталога (аналог команды «обновить» в Windows)
  • Alt + ? – запуск окна поиска.
  • Shift + F6 – переименовать файл/каталог.
  • Shift + F4 — создать файл в MC.

Кроме того, существуют команды и горячие клавиши, изменяющие способ отображения файловой системы. Например, можно оставить способ представления информации по умолчанию (список файлов и папок), а можно изменить его на отображение в виде деревьев. Благодаря такому разнообразию, настройка Midnight Commander может быть произведена с учетом всех потребностей пользователя на данный момент.

Кнопки с нижней панели инструментов могут быть активированы как горячими клавишами, так и при помощи мыши. При нажатии кнопки «Shift» изменяются функции элементов на этой панели. Например, F4 — отредактировать содержимое файла, а сочетание Shift и F4 в Midnight Commander — создать файл.

Кроме «стандартных» операций с файловой системой, MC поддерживает и более сложные операции:

  • Расширенный поиск (по дате изменения, типу и т. п.).
  • Расширенный поиск по шаблону (используются регулярные выражения).
  • Переименование групп файлов в соответствии с заданными критериями (маской).

Synology и Midnight Commander

Используя Миднайт Коммандер, можно просмотреть структуру файловой системы Web сервера на Synology. Для этого к серверу необходимо подключиться к нему по протоколу SSH.

Если в панели управления в разделе «Терминал и SNTP» стоит галочка напротив соответствующего пункта меню, значит, пользователям будет доступно использование службы SSH — Midnight Commander использует ее для подключения.

После этого к серверу можно подключиться через putty по порту 22 (логин – root, а в качестве пароля используется пароль от своей учетной записи на сервере).

Однако работа с консолью удобна далеко не всем, поэтому лучше установить какой-нибудь файловый менеджер, например, MC. Чтоб это делать, достаточно выполнить такие действия:

  • Подключить вешний репозиторий через панель управления (Центр пакетов → Настройки → Источники → Добавить новый).
  • В открывшемся окне вводим его имя (SynoСommunity) и адрес (http://packages.synocommunity.com.)
  • Нажимаем ОК для завершения.
  • В консоли Synology вводим команду MC и наслаждаемся удобным интерфейсом.

Иногда в процессе установки могут возникать трудности – система не позволяет установить MC, утверждая, что этот пакет не был создан Synology Inc.

При возникновении ошибки с подобным текстом необходимо добавить Synology Inc в доверенную зону (Центр пакетов → Настройки → Основное → Уровень доверия — Любой источник).

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

Настройка FTP в MC

Чтоб подключиться к своему Web серверу в MC, FTP соединение необходимо предварительно настроить. Для этого в левой или правой панели необходимо перейти в меню «FTP соединение». Запустится своеобразный «мастер» соединений, в который последовательно потребуется ввести такие данные:

  • Имя сервера в формате
  • Пароль.

На этом настройка в Midnight Commander FTP соединения завершается.

Заказать VDS

VPS/VDS за 375 руб. от RigWEB.RU с администрированием

VPS/VDS серверы

Источник: https://RigWEB.ru/support/ssh-ftp-sftp/rabota-s-midnayt-kommander-mc-osnovy/

SSH подключение к Synology DSM 6 под root с помощью ключей

WinITPro.ru  /  Разное  /  SSH подключение к Synology DSM 6 под root с помощью ключей

09.06.2018Alex KornevРазноеКомментариев пока нет

Компания Synology, начиная с DSM версии 6, запретила вход для пользователя root с использованием SSH. Правильно ли это?

DSM 6 не отличается (принципиально) для домашних NAS и для NAS Enterprise уровня, так что решение правильное. Однако, для домашнего использования, на мой взгляд, удобнее использовать root аккаунт. Естественно, предполагается, что пользователь осознает все возможные проблемы, которые могут возникнуть из-за неправильных действий. Впрочем, этот метод подходит для любого аккаунта.

  1. Скачайте PuTTY и PuTTYgen (или, лучше, целиком инсталлятор, например здесь https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html).
  2. Сгененрируйте пару ключей (Private/Public) с помощью PuTTYgen (Параметры: DSA или RSA, длина ключа 2048 бит).
  3. Сохраните Private ключ, например, с именем “DSM001_RSA_pri.ppk”.
  4. Скопируйте Public ключ в буфер обмена. Это будет выглядеть, например, так:ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAw2T9sbaJM4qf6VwVgTtC6HH+QmpDxcpaIzzoT/v6H2BBziOpIiG4VJwkBk0X2pvVzWZBXI93CEXXdfDZEWCyOjSX2C7VqPh+648XdvpdDfI/q99AAJZ0Gm0Q6138kSJiCaWcALUk+e1TUkgv3xh/sP5UfWOO/ee981AYJtG+rK3XDaneuguSW9V2pp4RkwdbndbjPv07wgNbii+5e0lTRIBQEXlwlplnzr19EdhX1jJy2/IjID/dSYf/NnepzA/g6HEC7ZvPeM2XjLIlpeqkjxaX1OGUnTCIrkZxIkwMgWXLmrmdj0FxmcvXOtZ6lcjBi6NLQF3feK1HcyNY/3cskQ== rsa-key-20180602
  5. Подключитесь к вашему NAS с помощью PuTTY:
    [diskstation]:22
  6. Залогинтесь от имени root admin (к сожалению логин пользователя root больше не работает на DSM 6 … поэтому используйте административный аккаунт, например, встроенный, admin).
  7. Поднимите права вашего пользователя до уровня пользователя root):sudo -iвведите пароль admin и нажмите ENTER.Для всего, приведенного ниже, можно использовать Midnight Commander, что гораздо проще.

    Предполагается, что вы уже установили Midnight Commander из депозитария Synology Community

    sudo -I

    введите пароль admin и нажмите ENTER

    mc

  8. Отредактируйте SSH config с помощью (здесь sudo не обязательно если вы уже подняли свои права до root, на предыдущем шаге):
    sudo vi /etc/ssh/sshd_config
  9. Разрешаем Root Login:Находим строку:

    PermitRootLogin No

    И меняем на:

    PermitRootLogin Yes

  10. Находим в конфиге следующие строки:
    #RSAAuthentication yes#PubkeyAuthentication yes

    #AuthorizedKeysFile .ssh/authorized_keys

  11. Убираем значок комментария “#” в начале строки, как показано ниже:
    #RSAAuthentication yesPubkeyAuthentication yes

    AuthorizedKeysFile .ssh/authorized_keys

  12. Переходим в папку /root (или в /var/services/homes/USER_LOGON, если делаете это не для пользователя root) и создайте папку.ssh (если папка.ssh уже есть, то можно сразу переходить к пункту 13):
    cd /root
    mkdir .ssh
  13. Редактируем файл ключей:На всякий случай набираем
    touch /root/.ssh/authorized_keys – это создаст файл, если его не было
    vi /root/.ssh/authorized_keys
  14. Нажмите “i”, чтобы вставить ваш Public ключ, сохраненный в буфере обмена на шаге 4 и сохраните файл (нажать ESC, набрать :wq, нажать ENTER)ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAzP4MR3lkCD2pa7nwT3NMjjDBMmEuJ4exW4GKBBP+okArZ/IrjbLIpdh8ahpfgjh8kM//OVUGeRa1GigzcCuGzIa2YfS7L4Q9cbUUWFwIu2hGV3ZpJ2xDZExaaLH90Vw+ZBaozD2OI4FZ1Dqh8Bj29SQqIIbmxf/ASyTmXHZCbQk= rsa-key-20130414
  15. Устанавливаем правильные прав доступа к папке и к файлу
    chmod 700 /root/.ssh
    chmod 644 /root/.ssh/authorized_keys
  16. Отсоединяемсяexit(или наживаем Ctrl-D два раза)
  17. Открываем Putty и делаем следующие настройки для сессии:
    • Имя хоста или IP адрес
    • Port: 22
    • Connection type: SSH

    В настройках подключения (Connection):

    • Data->Auto-login username: root
    • SSH->Auth->Private Key: Полный путь и имя файла для вашего Private Ключа
  18. И сохраняем сессию, дав ей какое-либо имя. Например, DSM001-RSA.
  19. Затем соединяемся с Synology DSM командой:
    putty.exe -load DSM001-RSA

Можно настроить подключение к Synology DSM по ключам и с помощью WinSCP:

  • Запустить WinSCP
  • Добавить новый сайт
  • Выбирать протокол «SCP»
  • Вписать имя хоста (или IP) и порт SSH
  • Пользователь «root«
  • В Advanced > SSH > Auth > Auth parameters : выбрать и вписать имя того же SSH ключа как в пункте 17
  • Расставить «галочки» как показано на рисунке
  • Сохранить новую сессию и подключиться

Предыдущая статья Следующая статья

Источник: http://winitpro.ru/index.php/2018/06/07/ssh-access-synology-dsm-6-root-keys/

Ссылка на основную публикацию