2026-09-21
  • Скопировать существующее ядро /boot/core.gz в /tmp и распаковать его с помощью core-remaster в /tmp/core_extract/

    tc@box:~$ cp /mnt/sda1/tce/boot/core.gz /tmp

    tc@box:~$ core-remaster

  • Установить необходимые приложения, выполнить настройки и подготовить пользовательские данные (например, /usr/local/www и /var/db/www/) в текущей операционной системе
  • Скопировать все директории приложений /tmp/tcloop/xxx/* в будущее ядро /tmp/core_extract/
  • Скопировать все измененные файлы (настройки и данные) из текущей системы /* в будущее ядро /tmp/core_extract/ - часть из них перечислена в /opt/.filetool.lst. Обязательно следить, чтобы не осталось символьных ссылок на /tmp/tcloop/xxx, но оставить ссылки на исправленные скрипты /usr/bin/xxx -> /usr/local/tce-shells/xxx
  • Переопределить права на /tmp/core_extract/tmp/appserr и /tmp/core_extract/usr/local/tce.installed (для возможности установки приложений без sudo)
  • Изменить владельца и права доступа для пользовательских данных, e.g. /tmp/core_extract/usr/local/www/
  • Перейдя в /tmp, собрать новое ядро при помощи core-remaster
  • Скопировать новое ядро на загрузочный диск

Можно сделать LIVE-CD с локальной версией сайта (apache2, apache2-mod-php5, sqlite3, phpLiteAdmin_v1-9-8-2), он получится размером около 20Mb. Базу данных сайта можно разместить на виртуальном жестком диске VDI фиксированного размера 15Mb (правда, при этом утилита tce-ab не сможет построить свой индексный файл /mnt/sda1/tce/provide.db, но поиск по ключевым словам будет доступен)

При сборке нового ядра файловой системы можно сохранить архивную копию /www/bsd235/bsd235.sqlite=YYYY-MM-DD


Для чистой загрузки нового ядра не должно оставаться файла /mnt/sda1/tce/mydata.tgz, в котором система хранит пользовательские данные, перечисленные в /opt/.filetool.lst


tc@box:~$ cp /mnt/sda1/boot/core.gz /tmp

tc@box:~$ core-remaster

Скопировать в новую файловую систему данные из всех директорий, перечисленных в файле .filetool.lst

tc@box:~$ cat /opt/.filetool.lst

/opt

/home

/opt

/etc/motd

/etc/fstab

/etc/dropbear/dropbear_rsa_host_key

/etc/dropbear/dropbear_dss_host_key

/etc/shadow

/etc/gshadow

/etc/passwd

/etc/group

/etc/sudoers

/etc/bftpd.conf

/etc/ftpusers

/usr/bin/shutdown

/usr/local/tce-shells

/usr/local/apache2/conf

/usr/local/www

/var/db/www

/tmp/appserr

Проверить пользовательские ссылки на системные объекты

/

tc@box:~$ ls -l /tmp/core_extract/

tce -> /mnt/sda1/tce/

utc -> /usr/local/etc/

www -> /usr/local/www/

/usr/local/etc

tc@box:~$ ls -l /tmp/core_extract/usr/local/etc/

httpd.conf -> /usr/local/apache2/conf/httpd.conf

vhosts-httpd.conf -> /usr/local/apache2/conf/extra/httpd-vhosts.conf

release.txt -> /usr/share/doc/tc/release.txt

Проверить ссылки на исправленные скрипты

/usr/bin

tc@box:~$ ls -l /tmp/core_extract/usr/bin/ | grep tce-shells

backup -> ./../local/tce-shells/backup-v1.4.sh

filetool.sh -> ./../local/tce-shells/filetool-v1.0.sh

shutdown -> ./../local/tce-shells/shutdown.sh

/usr/local/bin

tc@box:~$ ls -l /tmp/core_extract/usr/local/bin/ | grep tce-shells

core-remaster -> ./../tce-shells/core-remaster-v1.2.sh

screen -> ./../tce-shells/screen-v1.1.sh

/var/db/www/bsd235

tc@box:~$ ls -l /tmp/core_extract/var/db/www/bsd235/

bsd235.sqlite -> /tce/bsd235.sqlite

Изменить владельца и права доступа для пользовательских данных

tc@box:~$ sudo chown tc:staff /tmp/core_extract/tmp/appserr

tc@box:~$ sudo chmod 0664 /tmp/core_extract/tmp/appserr

tc@box:~$ sudo touch /tmp/core_extract/usr/local/tce.installed/p7zip ... etc

tc@box:~$ sudo chown root:staff /tmp/core_extract/usr/local/tce.installed

tc@box:~$ sudo chmod -R 0640 /tmp/core_extract/usr/local/tce.installed

tc@box:~$ sudo chown root:staff /tmp/core_extract/usr/local/tce-shells

tc@box:~$ sudo chmod -R 0640 /tmp/core_extract/usr/local/tce-shells

tc@box:~$ sudo chmod 0750 /tmp/core_extract/usr/local/tce-shells/apache2-mod-php5 ... etc

tc@box:~$ sudo chown -R tc:staff /tmp/core_extract/usr/local/www

tc@box:~$ sudo chown -R tc:staff /tmp/core_extract/var/db/www

Собрать новое ядро, повторно запустив core-remaster

tc@box:~$ core-remaster