Jump to content
Форум по продукции MOXA

Перенести конфигурацию с IA240-lx


Recommended Posts

Добрый день. На работе имеется IA240-lx. Есть подозрение на аппаратную неисправность последовательного порта port1. Подскажите, как перенести всю необходимую конфигурацию на такой же компьютер из ЗИП для проверки? 

Link to comment

Здравствуйте!

К сожалению, простого способа переноса нет.

https://www.moxa.ru/forum/index.php?/topic/6697-uc-7112-plus-pomogite-chajniku/ посмотрите, там обсуждался данный вопрос.

 

Простите за то, что сую свой нос... но по моему мнению самое простое это на машине (можно и виртуальной) с ОС Linux применяя "mc" на одной панели подключиться от ползователя ROOT по FTP к одному устройству, а на другой панели к другому устройству и тоже с правами ROOT. После чего произвести выборочное копирование с исходного устройства на новое. Хотя может имеет смысл использовать в том же "mc" не FTP соединение, а Shell соединение... возможностей больше. После чего проверить атрибуты и принадлежность пользователям в новом устройстве... при необходимостит поправить (я про Shell не просто так сказал). Конечно если надо что-то устанавливать(допустим Apache) это другое дело. А если работать только с /etc и /home, то вполне пригодно. И не забудьте про пользователей в /home их надо создать/добавить в новое устройство.

И ещё: ряд прцессов не позволят доступ к файлам с которыми(от которых). Так, что их надо остановить... я имею ввиду тот софт который надо перенести. Остановите его выполнение на устройстве источнике.

Если устройство приёмник работает с Ethernen и требует IP для взаимодействия(сетевой комплекс), то конфигурируйте его до  перезапуска... при этом устройство источник надо убрать из сети.

 

Link to comment
  • 3 months later...

 

Здравствуйте!

К сожалению, простого способа переноса нет.

https://www.moxa.ru/forum/index.php?/topic/6697-uc-7112-plus-pomogite-chajniku/ посмотрите, там обсуждался данный вопрос.

 

Простите за то, что сую свой нос... но по моему мнению самое простое это на машине (можно и виртуальной) с ОС Linux применяя "mc" на одной панели подключиться от ползователя ROOT по FTP к одному устройству, а на другой панели к другому устройству и тоже с правами ROOT. После чего произвести выборочное копирование с исходного устройства на новое. Хотя может имеет смысл использовать в том же "mc" не FTP соединение, а Shell соединение... возможностей больше. После чего проверить атрибуты и принадлежность пользователям в новом устройстве... при необходимостит поправить (я про Shell не просто так сказал). Конечно если надо что-то устанавливать(допустим Apache) это другое дело. А если работать только с /etc и /home, то вполне пригодно. И не забудьте про пользователей в /home их надо создать/добавить в новое устройство.

И ещё: ряд прцессов не позволят доступ к файлам с которыми(от которых). Так, что их надо остановить... я имею ввиду тот софт который надо перенести. Остановите его выполнение на устройстве источнике.

Если устройство приёмник работает с Ethernen и требует IP для взаимодействия(сетевой комплекс), то конфигурируйте его до  перезапуска... при этом устройство источник надо убрать из сети.

 

 

 

Вот и самому потребовалось это... А именно подготовить IA240-LX к работе. Понятное дело проект будет совсем другой, но ряд элементов нужны прошлые.

Имеем UC-7112-LX-Plus с SD картой:

Директория /home и /usr на SD карте и примонтированы на на место указанных.

1) готовим SD карту:

-форматируем:

root@debian-i:/home/igor# fdisk -l

Disk /dev/sda: 320 GB, 320070320640 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System 
/dev/sda1               1        1977    15880221   27  (null)
Warning: Partition 1 does not end on cylinder boundary.
/dev/sda2   *        1977       38449   292961340   83  Linux
Warning: Partition 2 does not end on cylinder boundary.
/dev/sda3           38449       38914     3735112   82  Linux swap
Warning: Partition 3 does not end on cylinder boundary.

Disk /dev/sdb: 20 GB, 20012106240 bytes
255 heads, 63 sectors/track, 2433 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System 
/dev/sdb1               1        2434    19551073   84  OS/2 hidden C:
Warning: Partition 1 does not end on cylinder boundary.

Disk /dev/sdc: 15 GB, 15924142080 bytes
255 heads, 63 sectors/track, 1936 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System 
/dev/sdc1               1        1937    15558921    c  FAT32 LBA
Warning: Partition 1 does not end on cylinder boundary.
root@debian-i:/home/igor# 

Наша карта /dev/sdc а файловую систему надо для Linux... и не Fat вовсе:

с помощью fdisk в интерактивном режиме делаем что бы было так:

Disk /dev/sdc: 15 GB, 15924142080 bytes
255 heads, 63 sectors/track, 1936 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System 
/dev/sdc1               1        1936    15550888   83  Linux
root@debian-i:/home/igor# 

после этого применив mke2fs собственно форматируем файловую систему:

root@debian-i:/home/igor# mke2fs /dev/sdc1
mke2fs 1.42.5 (29-Jul-2012)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
972944 inodes, 3887722 blocks
194386 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=3984588800
119 block groups
32768 blocks per group, 32768 fragments per group
8176 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Allocating group tables: done                            
Writing inode tables: done                            
Writing superblocks and filesystem accounting information:        
done

root@debian-i:/home/igor# 

ну и монтируем в /mnt:

root@debian-i:/home/igor# mount /dev/sdc1 /mnt
root@debian-i:/home/igor# 

2) Итак SD-карта примонтирована... теперь копируем с UC-7112-LX-Plus на нашу карту по сети...

Воспользуемся "mc" причём значения не имеет как мы делаем наша карта на PC(с Linux) или в другом устройстве ну IA240-Lx в mc одна панель это примонтированная карта другая это корень нашего UC-7112-LX-Plus(с которого копируем). Я копирую для себя... и мне надо /usr... а /home (сам я там и держу комплект рабочих элементов) сделаю позже но создам на карте. Тем же mc.

В итоге на SD(примонтирована в /mnt):

root@debian-i:/mnt# ls -al
итого 32
drwxr-xr-x  5 root root  4096 Фев  9 13:28 .
drwxrwxrwx 28 root root  4096 Фев  7 11:50 ..
drwxr-xr-x  2 root root  4096 Фев  9 13:28 home
drwx------  2 root root 16384 Фев  9 13:08 lost+found
drwxr-xr-x  6 root root  4096 Июн  2  2009 usr
root@debian-i:/mnt# 

теперь смотрим наш /etc/rc.d/rc.local(обратите внимание это мОй rc.local и там мОй мусор):

# !/bin/bash

#ram disk
/etc/init.d/ramdisk 

mount /mnt/sd/home /home
mount /mnt/sd/root /root
mount /mnt/defdisk /home/httpd/ramdisk
chmod 777 /home/httpd/ramdisk

#halt reboot
chmod u+s /etc/init.d/reboot
chmoh u+s /etc/init.d/halt

#mount /usr/bin
mount /mnt/sd/usr /usr
mount /mnt/sd/lib /lib

#share devices
/etc/init.d/sharedev &

export TERM=xterm
export TERMINFO=/usr/lib/mc/lib/terminfo

# Add you want to run daemon

#httpd directory inuit
/home/httpd/http_init.sh

#apache
/etc/init.d/apache start

#netctl.sh
#/etc/init.d/netctl.sh &

#test

Как видно тут у меня RAM диск (etc/init.d/ramdisk), настройка для mc(он есть на устройстве...кстати тут на форуме и повзаимствовал)... и соответственно в этом же файле и ссылка на то что должно запуститься при включении. Мне нужен etc/init.d/ramdisk... и я собираюсь его тоже забрать из UC-7112-LX-Plus и положить в IA240-LX. Вот он(это не мной сделано):

#!/bin/bash
# ramdisk.sh

#  "электронный диск" -- это область в ОЗУ компьютера
#+ с которой система взаимодействует как с файловой системой.
#  Основное преимущество -- очень высокая скорость чтения/записи.
#  Недостатки -- энергозависимость, уменьшение объема ОЗУ, доступного системе,
#                относительно небольшой размер.
#
#  Чем хорош электронный диск?
#  При хранении наборов данных, таких как таблиц баз данных или словарей, на электронном диске
#+ вы получаете высокую скорость работы с этими наборами, поскольку время доступа к ОЗУ
#  неизмеримо меньше времени доступа к жесткому диску.


E_NON_ROOT_USER=70             # Сценарий должен запускаться с правами root.
ROOTUSER_NAME=root

MOUNTPT=/mnt/defdisk
SIZE=2000                      # 2K блоков (измените, если это необходимо)
BLOCKSIZE=1024                 # размер блока -- 1K (1024 байт)
DEVICE=/dev/ram1               # Первое устройство ram

username=`id -nu`
if [ "$username" != "$ROOTUSER_NAME" ]
then
  echo "Сценарий должен запускаться с правами root."
  exit $E_NON_ROOT_USER
fi

if [ ! -d "$MOUNTPT" ]         #  Проверка наличия точки монтирования,
then                           #+ благодаря этой проверке, при повторных запусках сценария
  mkdir $MOUNTPT               #+ ошибки возникать не будет.
fi

dd if=/dev/zero of=$DEVICE count=$SIZE bs=$BLOCKSIZE  # Очистить электронный диск.
mke2fs $DEVICE                 # Создать файловую систему ext2.
mount $DEVICE $MOUNTPT         # Смонтировать.
chmod 777 $MOUNTPT             # Сделать электронный диск доступным для обычных пользователей.
                               # Но при этом, только root сможет его отмонтировать.

echo "Электронный диск \"$MOUNTPT\" готов к работе."
# Теперь электронный диск доступен для любого пользователя в системе.

#  Внимание! Электронный диск -- это энергозависимое устройство! Все данные, хранящиеся на нем,
#+ будут утеряны при остановке или перезагрузке системы.
#  Если эти данные представляют для вас интерес, то сохраняйте их копии в обычном каталоге.

# После перезагрузки, чтобы вновь создать электронный диск, запустите этот сценарий.
# Простое монтирование /mnt/ramdisk, без выполнения подготовительных действий, не будет работать.

exit 0

Эти файлы копирую на ту же SD... временно конечно, но можно и сразу в /etc. Если сразу, то предельно внимательно (иначе надо будет делать всё с начала).

3) И соответственно в rc.local всё, что должно запускаться при включении и скопировать всё что надо используя указанные пути.

4) Если всё организовано аналогично, то есть всё через SD карту, то можно и воспользоваться утилитой "dd", но /etc придётся копировать "вручную"

5) Если делается всё на PC то карту после всех операций надо отмонтировать:

root@debian-i:/home/igor# umount /dev/sdc1
root@debian-i:/home/igor# 

Ну вот и всё. Всё, что делал - делал для нового контроллера... нового проекта. Для переноса конфигураций всё не сложно, но кропотливо. И делается из под ROOT.

Сразу говорю в моём rc.local много мусора - старые результаты моего процесса обучения работы с устройством... ну и с Linux конечно. Было лет 8 назад.

 

...Ну и не забыть проверить разрешения и принадлежности группам.

 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...