Навігація по публікаціям
GoFlex Home - це недорогий варіант домашнього NAS (англ. Network Attached Storage - мережеве сховище даних) від компанії Seagate. Працює він під управлінням Linux з усіма наслідками, що випливають звідси можливостями. Одним з найважливіших моментів є установка optware, після чого з'являється можливість ставити зі сховищ безліч підготовлених пакетів, доповнюючи і розширюючи функціональність пристрою. Якщо ви збираєтеся встановлювати багато різних пакетів, або вони великого розміру, то є сенс optware встановити не на внутрішню flash-пам'ять, а на накопичувач великого розміру або, простіше кажучи, на жорсткий диск, через якого цей NAS і купувався.
В інтернеті є деяка інформація по установці / переносу optware на HDD, але як відомо, якою б гарною інструкція не була, трапляється таке, що щось йде не так. Так сталося і в мене з моїм пристроєм. Нижче хочу поділитися своїм досвідом перенесення optware на HDD.
Перша спроба
Перемістити папку / opt способом, описаним в статті В'ячеслава Резвова, у мене не вийшло. Може бути я з самого початку щось зробив не так, може бути тому що прошивка пристрою не та, може бути ще щось вплинуло. Так чи інакше, цей пункт я не виконав і в підсумку зіткнувся з тим, що мій GoFlex Home почав "глючити". Погуглити, я знайшов, як перевірити зайняте / вільне місце на дисках. Тут і далі всі команди виконуються під користувачем root, про що говорить символ # в запрошенні:
Це на момент написання статті на внутрішній flash-пам'яті зайнято 205M і вільно 6.8M, а на момент появи проблеми вільних було всього кілька десятків кілобайт. Треба було щось з цим робити. Видалення «непотрібних» пакетів багато місця не додало. Поудалял інші, без яких пристрій може нормально прожити. Залишив для зручності тільки Midnight Commander і деякі дрібні утиліти, за допомогою яких протягом статті я буду звертатися.
Постановка задачі
Спочатку завдання було сформульовано набагато простіше, але з часом вона модифікувалася. Справа в тому, що з «стакана» можна дістати жорсткий диск і включити в мережу тільки один «стакан» - керуючий пристрій з ОС Linux. Можна в нього вставити інший сумісний жорсткий диск, в тому числі і від GoFlex Desk (пробував, працює). При цьому було б зручно, якби Midnight Commander працював би і в цьому випадку. Тому я прийшов до висновку, що в разі відсутності диска або роботи з «чужим» диском мінімальна конфігурація optware має бути присутня на внутрішній flash, а в разі роботи з налаштованим «рідним» HDD повинна бути підключена розширена конфігурація optware. В цьому випадку план настройки вашого GoFlex Home буде виглядати наступним чином:
- первинна настройка
- Підготовка консольного клієнта
- Отримання доступу ROOT
- установка Optware
- Установка файлового менеджера Midnight commander
- Переміщення папки / opt на жорсткий диск
Чому не вийшло перенести за інструкцією
-bash-3.2 # umount / opt
Правда, іноді це теж відразу не виходить. Визначити, яка програма не дає демонтувати папку, допоможе команда lsof:
![Seagate goflex home, установка, перенесення optware на hdd, інше (ipkg) Seagate goflex home, установка, перенесення optware на hdd, інше](https://images-on-off.com/images/150/seagategoflexhomeustanovkaperenosoptware-f11e89e4.png)
Але а з першою причиною не все так просто. Погуглити, я зрозумів, що для збереження атрибутів файлів і симлінк optware потрібно переносити на розділ з файловою системою ext2 / 3/4. Виконавши команду:
![Seagate goflex home, установка, перенесення optware на hdd, інше (hdd) Seagate goflex home, установка, перенесення optware на hdd, інше](https://images-on-off.com/images/150/seagategoflexhomeustanovkaperenosoptware-fe1746b8.png)
ми бачимо, що ext2 і ext3 підтримуються нашим пристроєм. Я вибрав більш сучасну ext3. Робимо перший висновок: на нашому HDD необхідно зробити розділ з файловою системою ext3.
Створення розділу на HDD, форматування в ext3
В той момент питання того, скільки людей зможуть повторити те, що я робив, мене не цікавив. Я вже згадував GoFlex Desk. Зараз він поки ще стоїть у мене, але скоро його доведеться віддати. Я скористався його «підставкою» -переходніком USB 3.0 - eSata, підключив через нього свій диск до комп'ютера з ОС Windows7. Так як диск вже заповнений на 2/3 фільмами, то видаленням розділів і створенням нових потрібного розміру мені займатися не хотілося. Я спробував встановлений Acronis Disk Director 11 Home, але він мого USB-диска не побачив. Дивно. Встромив флешку на 4 ГБ, її Acronis побачив. Погуглити, знайшов Paragon Partition Manager 12. Він побачив мій USB-HDD без проблем. Зменшив існуючий розділ на 512 МБ, створив новий основний розділ і відформатував його в ext3. Ну, думаю, залишилося увіткнути його в «стакан», включити і примонтировать новий розділ до нової точки монтування.
друга невдача
Включив. монтую:
Невдача. Насправді ext3 розділ у мене був на пристрої / dev / sda2, це зараз у мене його немає, але помилка була та ж сама. Команда mount без параметрів видає таке:
![Seagate goflex home, установка, перенесення optware на hdd, інше (goflex) Seagate goflex home, установка, перенесення optware на hdd, інше](https://images-on-off.com/images/150/seagategoflexhomeustanovkaperenosoptware-d5db013e.png)
Ніде я не побачив ні точку монтування / opt-new, ні / dev / sda1. Також я звернув увагу, що всюди примонтировать пристрій / dev / sda, а не розділ на пристрої sda1 або sda2, тоді як у флешки монтується розділ / dev / sdb1. Крім того, незважаючи на те, що розділ sda2 був відформатований в ext3, я побачив в ExtStorage папку Seagate, в якій було все те ж саме, що і в / home / 0common, тобто один і той же пристрій / розділ примонтировать в 2 різні точки, хоча я очікував один розділ в одній точці, інший в інший. Я не розумів, чому так? Було вирішено шукати розуміння в исходниках, в виконуваних скриптах.
усвідомлення проблеми
Рішення знайдено!
Переглядаючи статті, форуми в інтернеті стосовно даної теми, вирішив за посиланням від того ж Резвова сходити на буржуйський форум. Ну і в одній з тем виявив рада з досить простою ідеєю. Створити на NTFS-диску файл, зіставити його з віртуальним пристроєм, відформатувати пристрій в ext3 і примонтировать! Ось результат створення віртуального пристрою на 500M, форматування в ext3, монтування та перевірки результату:
![Seagate goflex home, установка, перенесення optware на hdd, інше (установка) Seagate goflex home, установка, перенесення optware на hdd, інше](https://images-on-off.com/images/150/seagategoflexhomeustanovkaperenosoptware-a42277d2.png)
Треба відзначити, що точка монтування / opt-new обрана тільки для проведення експерименту і була попередньо створена командою:
-bash-3.2 # mkdir -p / opt-new
Для досягнення нашої ж мети монтувати треба буде в / opt
Автоматизація процесу
-bash-3.2 # cp -r / opt / * / opt-new
-bash-3.2 # umount / opt-new
-bash-3.2 # umount / opt
-bash-3.2 # mount -t ext3 / dev / loop0 / opt
-bash-3.2 # rmdir / opt-new
-bash-3.2 # mc
Якщо все спрацювало без помилок, можна починати радіти! Тепер тільки залишилося всі ці дії з монтування прописати в скрипти завантаження системи. Про це ви можете прочитати в другій частині статті.