1.) sudo lsmod Проверьте и посмотрите, загружен ли модуль (dm_raid)?
2.) sudo dmraid -tay работает любая из этих команд (sudo dmraid -ay) Проверьте массив рейдов? [ ! d1]
3.) gedit /boot/grub/device.map и добавьте
(hd0) /dev/sda
(hd1) /dev/sdb
4.) gedit /etc/fstab комментарий (/dev/mapper/sil_biabadbhagdc1) и (/dev/mapper/sil_biabadbhagdc5) поместите # перед ними line.
Добавьте свой UUID так, вы можете использовать эту команду, чтобы получить свою UUID (sudo blkid)
Mine выглядит так:
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
# /dev/mapper/sil_biabadbhagdc1
UUID="01331dc5-0c78-49ab-9cf5-655b645110d2 / ext4 errors=remount-ro 0 1
#/dev/mapper/sil_biabadbhagdc5
UUID="ea62296d-27ef-4b59-8206-e89d7a31a844 none swap sw 0 0
[d6 ] 5.) [F11] и проверьте свои файлы журналов, имейте в виду, что не используйте команду () в этих командах. Я использую raid0 с картой SYAD PCI-X 4 sata II Raid. На плате Tyan с двумя накопителями Seagate 320. Это может работать или не работать для вас. Удачи. В одном лайнере:
python3 -c "for l in open('f'): d = l.strip().split('|');[print('|'.join([s, d[1]])) for s in d[0].split(',')]"
Где 'f' - путь к вашему файлу, в (одиночных) кавычках.
Выход:
BHARAT|ABCI
SELXG|ABCI
SAAB|ABCI
BHARAT|XYZQ
HONEY|XYZQ
HIRO|XYZQ
ABBS|XYZQ
#!/usr/bin/env python3
import sys
# open the file
for l in open(sys.argv[1]):
# remove spaces from the line(s), split by "|"
d = l.strip().split('|')
# list the first part of the line, join each of the items with the second part of the line
[print('|'.join([s, d[1]])) for s in d[0].split(',')]
Использовать
Скопировать сценарий в пустой файл, сохранить его как reorganize.py Запустите его командой:python3 /path/to/reorganize.py /path/to/file_a
Сценарий:
Открывает файл, читает его в строке:for l in open(sys.argv[1]):
разбивает линию на разделитель |, удаляет конечный \n d = l.strip().split('|')
, разделяя первую часть разделителем «,», перечисляя его элементы: d[0].split(',') и соединяя каждый из элементов с последней частью строки : print('|'.join([s, d[1]])): [print('|'.join([s, d[1]])) for s in d[0].split(',')]
Это может быть достигнуто многими способами. Вот один из них, используя awk
cat a | awk -F"[,|]" '{for (i=1;i<NF;i++) print $i"|"$NF}'
В терминале
$ cat a
BHARAT,SELXG,SAAB|ABCI
BHARAT,HONEY,HIRO,ABBS|XYZQ
$ cat a | awk -F"[,|]" '{for (i=1;i<NF;i++) print $i"|"$NF}'
BHARAT|ABCI
SELXG|ABCI
SAAB|ABCI
BHARAT|XYZQ
HONEY|XYZQ
HIRO|XYZQ
ABBS|XYZQ
В терминале
Считывает линии с параметрами , и | в качестве разделителя. Печать каждого столбца в строке, за которой следует последний столбец в этой строке с | в качестве разделителя.Поскольку вы отметили свой вопрос perl, вот несколько способов сделать это на этом языке:
split и join$ perl -F'\|' -alne 'print join "|", $_, $F[1] for split ",", $F[0]' a
BHARAT|ABCI
SELXG|ABCI
SAAB|ABCI
BHARAT|XYZQ
HONEY|XYZQ
HIRO|XYZQ
ABBS|XYZQ
split и map $ perl -F'\|' -alne 'print for map { "$_|$F[1]" } split ",", $F[0]' a
BHARAT|ABCI
SELXG|ABCI
SAAB|ABCI
BHARAT|XYZQ
HONEY|XYZQ
HIRO|XYZQ
ABBS|XYZQ
В одном лайнере:
python3 -c "for l in open('f'): d = l.strip().split('|');[print('|'.join([s, d[1]])) for s in d[0].split(',')]"
Где 'f' - путь к вашему файлу, в (одиночных) кавычках.
Выход:
BHARAT|ABCI
SELXG|ABCI
SAAB|ABCI
BHARAT|XYZQ
HONEY|XYZQ
HIRO|XYZQ
ABBS|XYZQ
#!/usr/bin/env python3
import sys
# open the file
for l in open(sys.argv[1]):
# remove spaces from the line(s), split by "|"
d = l.strip().split('|')
# list the first part of the line, join each of the items with the second part of the line
[print('|'.join([s, d[1]])) for s in d[0].split(',')]
Использовать
Скопировать сценарий в пустой файл, сохранить его как reorganize.py Запустите его командой:python3 /path/to/reorganize.py /path/to/file_a
Сценарий:
Открывает файл, читает его в строке:for l in open(sys.argv[1]):
разбивает линию на разделитель |, удаляет конечный \n d = l.strip().split('|')
, разделяя первую часть разделителем «,», перечисляя его элементы: d[0].split(',') и соединяя каждый из элементов с последней частью строки : print('|'.join([s, d[1]])): [print('|'.join([s, d[1]])) for s in d[0].split(',')]
Это может быть достигнуто многими способами. Вот один из них, используя awk
cat a | awk -F"[,|]" '{for (i=1;i<NF;i++) print $i"|"$NF}'
В терминале
$ cat a
BHARAT,SELXG,SAAB|ABCI
BHARAT,HONEY,HIRO,ABBS|XYZQ
$ cat a | awk -F"[,|]" '{for (i=1;i<NF;i++) print $i"|"$NF}'
BHARAT|ABCI
SELXG|ABCI
SAAB|ABCI
BHARAT|XYZQ
HONEY|XYZQ
HIRO|XYZQ
ABBS|XYZQ
В терминале
Считывает линии с параметрами , и | в качестве разделителя. Печать каждого столбца в строке, за которой следует последний столбец в этой строке с | в качестве разделителя.Поскольку вы отметили свой вопрос perl, вот несколько способов сделать это на этом языке:
split и join$ perl -F'\|' -alne 'print join "|", $_, $F[1] for split ",", $F[0]' a
BHARAT|ABCI
SELXG|ABCI
SAAB|ABCI
BHARAT|XYZQ
HONEY|XYZQ
HIRO|XYZQ
ABBS|XYZQ
split и map $ perl -F'\|' -alne 'print for map { "$_|$F[1]" } split ",", $F[0]' a
BHARAT|ABCI
SELXG|ABCI
SAAB|ABCI
BHARAT|XYZQ
HONEY|XYZQ
HIRO|XYZQ
ABBS|XYZQ