Эксперименты с Asustor ADM: нид хелп

Jul 09, 2017 16:08

Исполнил давнюю-предавнюю хотелку, купил себе Network Attached Storage. Мечтал об этом ещё с Самары, но там у меня был огромный системник, забитый винтами, и оно было как-то не надо. В Москве уже обходился парой USB-винтов, с которыми было не очень удобно, но терпимо. Потом написал примочку для прозрачной работы с мейловским облаком - и стало совсем норм.
Но тут винты стали подыхать, интернет скоро будет по талонам, а я, наконец, могу без ущерба для бюджета потратить штуку баксов. Примерно во столько обошёлся мне NAS Asustor AS3104T и 4x4Tb винчестера к нему.

Устройство великолепное, не нарадуюсь. Удобное, продуманное, функциональное. Есть вообще всё, что надо. Больше того, это полноценная x86_64 машинка, а её ОС - кастомный Linux aka Asustor ADM. Поле для экспериментов неисчерпаемое.

По результатам копания в кишках операционки выяснилось вот что:
- Корневой раздел монтируется в памяти, после ребута всё, соответственно сбрасывается.
- /home и /root ссылаются на первый дисковый раздел aka /volume1 (чтобы локальные настройки не сбрасывались).
- Там же, в /volume1, лежит кучка каталогов, используемых системой, самый интересный из которых - /volume1/.@plugins. По сути, это ещё один системный корень, со своими /bin и /lib. Больше того в AppCentral этого каталога лежат "приложения", установленные из системного магазина. С ними оооочень интересно: каждое приложение тащит с собой все зависимости и конфиги, располагая их в собственных подкаталогах (т.е. у каждой приложухи есть собственный псевдосистемный раздел).
- Соответственно, приложение может быть вообще без бинарников, например приложуха media-pack - набор драйверов, и тащит с собой только /drivers. И система каждый такой подкаталог принимает как собственный.
- ssh-доступ настраивается, вход по умолчанию - admin с установленным в системе паролем, но можно ходить под root с тем же паролем.
- Шеллом там, увы, busybox. Это плохо. Но собран он с минимальной поддержкой rpm - это хорошо. Пакеты от fedora встают, как родные, но ограничений масса: нет пакетной установки, нет проверки зависимостей. Например, чтобы поставить midnight commander, нужно сначала поставить его, а потом ручками доставлять каждую требуемую им библиотеку. Их, к счастью, штук пять, так что труд не особо великий. Как написано выше - после перезагрузки всё слетит, поэтому можно скопировать /bin/mc => /volume1/.@plugins/bin/mc, и поставленные библиотеки тем же способом в /lib64. Это будет работать, но, к сожалению, /volume1/.@plugins/usr отсутствует, поэтому конфиги из /usr/share/mc можно перетащить в /volume1/.@root/.local/share/mc, они подсасываются как пользовательские.

И вот на этом-то месте начинается интересное. У нас есть абсолютно нормальный linux - но без пакетного менеджера. Окей, заменим бизибоксовский rpm на нормальный, для начала найдём пакет в ftp://195.220.108.108/linux/fedora/linux/releases/25/Everything/x86_64/os/Packages, и поставим его:

wget ftp://195.220.108.108/linux/fedora/linux/releases/25/Everything/x86_64/os/Packages/r/rpm-4.13.0-0.rc1.46.fc25.x86_64.rpm
rpm -i rpm-4.13.0-0.rc1.46.fc25.x86_64.rpm

затем придётся удовлетворить кучку зависимостей, на которые будет ругаться rpm:
[список зависимостей]rpm-libs-4.13.0-0.rc1.46.fc25.x86_64.rpm
rpmconf-1.0.18-2.fc25.noarch.rpm
rpmconf-base-1.0.18-2.fc25.noarch.rpm
rpmdepsize-1.0-18.fc24.x86_64.rpm
rpm-4.13.0-0.rc1.46.fc25.x86_64.rpm
libdb-5.3.28-14.fc24.x86_64.rpm
bzip2-libs-1.0.6-20.fc24.x86_64.rpm
elfutils-libelf-0.167-2.fc25.x86_64.rpm
lua-libs-5.3.3-3.fc25.x86_64.rpm


(Чтобы снова использовать bysybox rpm вместо нерабочего установленного, делаем mv /bin/rpm /bin/rpm.bak, затем ln -s /bin/busybox /bin/rpm, или просто сначала ставим зависимости, а основной пакет после. Потом возвращаем rpm обратно).

Всё, в системе есть нормальный rpm. Только я им не очень умею пользоваться, потому что последний раз пользовался им, гхм, студентом ещё будучи. Я не знаю, как указать ему удалённый ftp-каталог (да или хотя бы локальный) в качестве репозитория, я не знаю, умеет ли rpm сам решать зависимости. Гуглинг натыкает меня на умеющий в это yum, который есть надстройка над rpm, и с которым я знаком чуть лучше.

Попытка поставить yum:
rpm -ivh yum-3.4.3-510.fc25.noarch.rpm

ругнётся на отсутствующие зависимости:
[список зависимостей]/bin/sh is needed by yum-3.4.3-510.fc25.noarch
/usr/bin/python is needed by yum-3.4.3-510.fc25.noarch
cpio is needed by yum-3.4.3-510.fc25.noarch
diffutils is needed by yum-3.4.3-510.fc25.noarch
dnf-yum is needed by yum-3.4.3-510.fc25.noarch
pygpgme is needed by yum-3.4.3-510.fc25.noarch
pyliblzma is needed by yum-3.4.3-510.fc25.noarch
python >= 2.4 is needed by yum-3.4.3-510.fc25.noarch
python(abi) = 2.7 is needed by yum-3.4.3-510.fc25.noarch
python-iniparse is needed by yum-3.4.3-510.fc25.noarch
python-sqlite is needed by yum-3.4.3-510.fc25.noarch
python-urlgrabber >= 3.9.0-8 is needed by yum-3.4.3-510.fc25.noarch
pyxattr is needed by yum-3.4.3-510.fc25.noarch
rpm >= 0:4.4.2 is needed by yum-3.4.3-510.fc25.noarch
rpm-python is needed by yum-3.4.3-510.fc25.noarch
yum-metadata-parser >= 1.1.0 is needed by yum-3.4.3-510.fc25.noarch


Установка каждого из этих пакетов тянет за собой другие зависимости, так что получается очень долго и нудно, если всё это ставить руками.
Господа линуксоиды, я не хочу идти на лор, помогите, в какую сторону копать?

полезное, винт, железки, it, покупка

Previous post Next post
Up