LINUX.ORG.RU

Сообщения baraban

 

вызов init.d и отобразить вывод

Форум — General

Добрый день!

Суть проблемы: systemd загружает систему, по пути выполняет скрипты из /etc/init.d/. У меня просто после старта системы нужно определить и примонтировать диски если они есть, то же самое с каталогами, восстановить конфигурацию (Live система), пароли и т.п.

Судя по всему скрипты /etc/init.d/ запускаются, но такое ощущение что уже после появления приглашения командной строки. Я ищу информацию о том как перенаправить вывод этих скриптов на экран, т.к. это важно для отладки и для дальнейшей эксплуатации. Вывод в скриптах есть, но, видимо, в современных линуксах толи плимут мешает, толи сам systemd.

Подозреваю что они выполняются где-то в отдельном процессе отсоединенные от консоли.

 

baraban
()

Live centos 7 - Подскажите возможные пути реализации

Форум — Linux-install

Добрый день!

В общем много лет использовал старенький CentOS 5 в режиме Live: на флешке с FAT32 был ext3fs.img, syslinux это дело грузил как livecd, изменения сохранялись в простой TAR архив, а при старте распаковывалось. Преимущество подхода за 13 лет себя полностью оправдало: чтоб сломать систему нужно постараться т.к. флешка в ReadOnly и система загружалась практически всегда. Понятное дело пора обновляться.

Однако с тех времен линукс усложнился, появился systemd, dracut и т.д. LiveCD образы линуксов перестали выпускаться, за основу брать по сути нечего. Наставьте пожалуйста на путь истинный как это можно сделать. Цель простая: чтобы установка системы была быстрой, чтобы порушить файловую систему было невозможно. Делаю я это для железки х86 с линуксом на борту.

 

baraban
()

unionfs в корневой ФС - проблема с правами

Форум — General

Привет всем Имеется Centos система, которая грузится с флешки, которая в свою очередь в режиме RO. На флешке лежит ext3fs.img с основной файловой системой, при старте в initrd на нее накладывается snapshot через dmsetup, изменения все в tmpfs. Все работает во многих инсталляциях, однако недавно столкнулся с проблемой: при большой нагрузке количество изменений превышает допустимый предел, корневая система помечается как сбойная, соответственно сервер приходит к нерабочему состоянию. В общем-то это проблема известная, описана в мануалах, но при маленькой нагрузке это не мешало работать устройствам годами без проблем. А при большой нагрузке количества блоков на 512мб снапшоте хватает лишь на неделю работы максимум. Можно, конечно увеличить размер снапшота, но это тупиковый путь. Тем более что больше 512 мб свободного места в общем-то не требуется для нормальной работы.

Решил перейти на unionfs. В принципе все заработало. В стандартный шапкин initrd добавил такое:

if [ -n "$EXT3FS" ] ; then
    if [ "$quiet" != "1" ] ; then
        echo "setting up embedded ext3 fs "
    fi

    mkdir /rw
    mkdir /ro
    mkdir /union
    mkdir -m 777 /tmp
        set up new /dev/root symlink
        rm -f /dev/root
    
    mount -t tmpfs -o size=512M tmpfs /rw
    mount -o loop /sysroot/ext3fs.img /ro
    umount -l /sysroot
    unionfs -o cow /rw=RW:/ro=RO /sysroot
        ln -s /sysroot /dev/root
fi

Система загрузилась почти нормально. Почти - потому что какая-то засада с правами на файлы. Я долго гуглил, но так и не понял, в чем проблема. У меня только косвенные данные. Например, не запустился mysql:

140202 07:04:22  mysqld started
/usr/libexec/mysqld: Can't create/write to file '/tmp/ib6IxvMO' (Errcode: 13)
140202  7:04:23  InnoDB: Error: unable to create temporary file; errno: 13
140202  7:04:23 [ERROR] bdb:  /var/lib/mysql: Permission denied
140202  7:04:23 [ERROR] bdb:  /var/lib/mysql/log.0000000001: Permission denied
140202  7:04:23 [ERROR] bdb:  PANIC: Permission denied
140202  7:04:23 [ERROR] bdb:  PANIC: DB_RUNRECOVERY: Fatal error, run database recovery
140202  7:04:23 [ERROR] bdb:  fatal region error detected; run recovery
140202  7:04:23 [ERROR] bdb:  /var/lib/mysql: Permission denied
140202  7:04:23 [ERROR] Can't start server : Bind on unix socket: Permission denied
140202  7:04:23 [ERROR] Do you already have another mysqld server running on socket: /var/lib/mysql/mysql.sock

Апач тоже с бедой, на любой запрос отвечает:

[Sun Feb 02 07:08:51 2014] [error] [client 127.0.0.1] (13)Permission denied: access to /reset.php denied
[Sun Feb 02 07:08:58 2014] [error] [client 192.168.0.66] (13)Permission denied: access to / denied
[Sun Feb 02 07:08:59 2014] [error] [client 192.168.0.66] (13)Permission denied: access to /favicon.ico denied

сделать su mysql нельзя, пишет:

# su mysql
su: /bin/bash: Permission denied

любая программа, использующая sudo под рутом пишет:

bash-3.2# save
sudo: can't open /etc/sudoers: Permission denied

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

При всем при этом права доступа к корню или к этим файлам имеются и полностью аналогичны таковым с рабочей системы:

bash-3.2# ls -l /etc/sudoers
-r--r----- 1 root root 4652 Feb  2 07:04 /etc/sudoers
bash-3.2# ls -l /
total 20
drwxr-xr-x  1 root     root       80 Feb  2 07:04 bin
drwxr-xr-x 12 root     root     4140 Feb  2 07:06 dev
drwxr-xr-x  1 root     root     1140 Feb  2 07:05 etc
drwxrwxrwx  5 asterisk asterisk 4096 Dec 31  1969 flash
drwxr-xr-x  1 root     root     4096 Mar 29  2007 home
drwxr-xr-x  1 root     root      180 Feb  2 07:04 lib
drwxr-xr-x  1 root     root     4096 Mar 29  2007 media
drwxr-xr-x  1 root     root     4096 Mar 29  2007 mnt
dr-xr-xr-x 99 root     root        0 Feb  2 02:03 proc
drwxr-x---  1 root     root       60 Feb  2 07:04 root
drwxr-xr-x  1 root     root      260 Feb  2 07:04 sbin
drwxr-xr-x 11 root     root        0 Feb  2 02:03 sys
drwxrwxrwx  7 asterisk asterisk 4096 Feb  1 22:48 tftpboot
drwxrwxrwx  1 root     root      160 Feb  2 07:10 tmp
drwxr-xr-x  1 root     root      160 Feb  2 07:04 usr
drwxr-xr-x  1 root     root      200 Feb  2 07:04 var

Что может быть? Куда копать? что проверить? Большое спасибо за советы! PS: сорри за кроспостинг ;)

 ,

baraban
()

RSS подписка на новые темы