LINUX.ORG.RU

Продлить срок службы флешки.


0

1

Доброго дня. Эпопея с установкой и настройкой системы Ubuntu Server 9.04 завершена. Теперь необходимо предпринять всевозможные действия по продлению жизни CompactFlash карты на которую собственно и установлена система. Карта разбита на 3 раздела. Привожу вашему вниманию fstab:

<file system> <mount point> <type> <options> <dump> <pass>

proc /proc proc defaults 0 0

# / was on /dev/sdd1 during installation

UUID=41ef692e-6cec-4eeb-b09d-8dae2c43d514 / ext2 ro,noatime,defaults 0 1

# /var was on /dev/sdd5 during installation

UUID=f5c24585-c60a-4669-8168-84749b1de53f /var ext2 noatime,defaults 0 2

# /var/CodeSys/data was on /dev/sdd6 during installation

UUID=dcc21b05-6e28-48c9-a479-20993d9a9e88 /var/CodeSys/data ext2 noatime,defaults 0 2

tmpfs /var/log tmpfs noatime,defaults 0 0

tmpfs /tmp tmpfs noatime,defaults 0 0

tmpfs /var/tmp tmpfs noatime,defaults 0 0

tmpfs /var/run tmpfs noatime,defaults 0 0

tmpfs /var/lock tmpfs noatime,defaults 0 0

Как видно, файловая система на всех разделах ext2, стоит опция noatime для отказа от записи времени последнего обращения к файлам.

Система будет использоваться постоянно с одной конфигурацией, и файлы изменяемые будут находиться только в папке /var/CodeSys/data/.

Поэтому хотел сделать разделы / и /var read-only, но это приводит к тому что система проходит полностью ползунок Usplash'a и затем я получаю черный экран, без реакции на клавиатуру и ssh.

Возможно ли в принципе довести мою задумку до конца(сделать 2 из 3х разделов флешки только для чтения), если не возможно то почему, и что можно еще предпринять для продления срока службы CF.

Спасибо.


заюзать aufs. и монтировать временные директории в память.

transserg
()

Удалил из fstab последние две строки, так как без них получается достучаться по ssh.

Решил заглянуть в /etc/mtab/

/dev/sda1 / ext2 rw,noatime 0 0
tmpfs /lib/init/rw tmpfs rw,nosuid,mode=0755 0 0
proc /proc proc rw,noexec,nosuid,nodev 0 0
sysfs /sys sysfs rw,noexec,nosuid,nodev 0 0
varrun /var/run tmpfs rw,nosuid,mode=0755 0 0
varlock /var/lock tmpfs rw,noexec,nosuid,nodev,mode=1777 0 0
udev /dev tmpfs rw,mode=0755 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0
devpts /dev/pts devpts rw,noexec,nosuid,gid=5,mode=620 0 0
/dev/sda5 /var ext2 rw,noatime 0 0
/dev/sda6 /var/CodeSys/data ext2 rw,noatime 0 0
tmpfs /var/log tmpfs rw,noatime 0 0
tmpfs /tmp tmpfs rw,noatime 0 0
tmpfs /var/tmp tmpfs rw,noatime 0 0

Может быть причина в том, что некоторые разделы не упомянутые в mtab не описываются в fstab и поэтому пытаются примонтироваться к корневой файловой системе, которая в свою очередь read-only. Это всего лишь мое предположение. Могу ошибаться.

AnMD
() автор топика

РИП. в 2012 точно.

anonymous
()
Ответ на: комментарий от AnMD

/var/run и /var/lock они, вроде, должны содержать не только файлы, но и каталоги, которые создаются при установке пакетов. Возможно, из-за из отсутствия часть демонов не запускалось. А может, куда то в них был засунут /var/empty/sshd. Вобще, можно настроить syslogd, чтобы он отправлял логи по сети. Причём, они по udp и ему всё равно, слушает или кто-то или нет.

mky ★★★★★
()
Ответ на: комментарий от AnMD

Нашел отличный мануал, описывающий как сделать корневую систему read-only. http://kristof.vanhertum.be/?p=3

Но вот незадача, там описывается случай когда у нас сетевая карта получает адрес по dhcp.

А в моем случае имеются 2 сетевых карты и настроенный bond интерфейс.

По описанию необходимых изменений я понял что мы выносим библиотеки для работы c dhcp на tmpfs, и вносим затем в скрипты необходимые поправки, поэтому мне нужно вынести на tmpfs библиотеки для работы bond интерфейса, но какие именно я пока не понял:

Сточка из fstab tmpfs /var/lib/dhcp3/ tmpfs defaults 0 0

Вносим изменения в скрипт:
/sbin/dhclient-script

Set new_resolv_conf to “/tmp/resolv.conf.dhclient-new”.
Change “mv -f $new_resolv_conf /etc/resolv.conf” to “cat$new_resolv_conf > /etc/resolv.conf”

Затем в файл:
/etc/network/interfaces

auto lo eth0
allow-hotplug eth0
iface eth0 inet dhcp
iface lo inet loopback

И подправляем хосты:
/etc/hosts

127.0.0.1 localhost.localdomain localhost your_hostname


AnMD
() автор топика
Ответ на: комментарий от AnMD

Анализ файла /etc/network/interfaces:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

auto bond0
#allow-hotplug bond0
iface bond0 inet static
address 192.168.150.210
gateway 192.168.150.1
netmask 255.255.255.0
slaves eth1 eth2
up /sbin/ifenslave bond0 eth1 eth2
down /sbin/ifenslave -d bond0 eth1 eth2

auto eth1
iface eth1 inet manual

auto eth2
iface eth2 inet manual

навел меня на мысль что при монтировании корневого раздела read-only система не может получить доступ к файлу /sbin/ifenslave-2.6 на который указывают ссылки /sbin/ifenslave>/etc/alternatives/ifenslave>/sbin/ifenslave-2.6.

Нужны советы. Неужели никто не сталкивался с такой ерундой?

AnMD
() автор топика
Ответ на: комментарий от AnMD

Раскопки снова дают результаты. По неведомой мне причине, после проделанных операций, команда /sbin/ifenslave bond0 eth1 eth2 отказывается автоматически исполняться при запуске, тем самым делает не возможным подключение по ssh. Если выполнить эту команду от суперпользователя вручную, бонд интерфейс запросто поднимается, не смотря на рид онли рутфс.

AnMD
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.