Отсюда вопрос про мою давную хотелку:
Если я скачаю altlinux-7.0.5-simply-x86_64-live-dvd5.iso, загружусь в лайв, установлю там обновления, поправлю конфиги и всё такое, а после этого установлю систему с рабочего стола, она будет такой же, как я настроил в лайве?
Если да, то это даже круче виндового режима аудита системы. Прямо мечта, а не система.
Если нет, то есть ли хоть какие-нибудь способы установить сразу настроенный и подчищенный дистрибутив, с установленными программами и интегрированными обновлениями? Без сложных манипуляций и написания автоинсталловских скриптов.
Не проделывал, но скорее всего нет - будет синхронно с содержимым лайва.
Но по моим прикидкам, способ таки есть. Руками покрутить придётся, но не особо сложно.
Тут нужно объяснить актёрскую "кухню", - то, чего не видят зрители.
Сначала проделываем на лайв-флешке частичный dist-upgrade с огнелисом:
# apt-repo add p7
# apt-get update
Получено: 1 http://ftp.altlinux.org i586 release [896B]
Получено: 2 http://ftp.altlinux.org noarch release [690B]
Получено 1586B за 1s (1520B/s).
Найдено http://ftp.altlinux.org i586/classic pkglist
Найдено http://ftp.altlinux.org i586/classic release
Найдено http://ftp.altlinux.org noarch/classic pkglist
Найдено http://ftp.altlinux.org noarch/classic release
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Шо стоИт:
# rpm -qa|grep firefox
firefox-esr-be-31.6.0-alt1
firefox-esr-kk-31.6.0-alt1
firefox-esr-uk-31.6.0-alt1
firefox-esr-31.6.0-alt0.M70P.1
firefox-esr-ru-31.6.0-alt1
# apt-get reinstall firefox-esr firefox-esr-ru
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие пакеты будут ОБНОВЛЕНЫ:
firefox-esr firefox-esr-ru
2 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 69 не будет обновлено.
Необходимо получить 29,1MB архивов.
После распаковки потребуется дополнительно 15,8MB дискового пространства.
Получено: 1 http://ftp.altlinux.org i586/classic firefox-esr 38.3.0-alt1.M70P.1 [28,8MB]
Получено: 2 http://ftp.altlinux.org i586/classic firefox-esr-ru 38.3.0-alt1 [235kB]
Получено 29,1MB за 5m18s (91,1kB/s).
Совершаем изменения...
Preparing... ############################### [100%]
1: firefox-esr ###############################[ 50%]
2: firefox-esr-ru ###############################[100%]
Running /usr/lib/rpm/posttrans-filetriggers
Завершено.
Свежак огнелиса после обновления
# firefox -V
Mozilla Firefox 38.3.0
Что произошло в системе на флешке?
Локальная база пакетов обновлена:
# l /var/lib/apt/lists/
итого 104936
drwxr-xr-x 4 root root 4096 окт 25 21:01 ./
drwxr-xr-x 2 root root 4096 окт 25 21:01 partial/
-rw-r----- 1 root root 0 окт 25 21:01 lock
drwxr-xr-x 5 root root 4096 окт 25 20:55 ../
-rw-r--r-- 1 root root 715 окт 23 15:27 ftp.altlinux.org_pub_distributions_ALTLinux_p7_branch_i586_base_release
-rw-r--r-- 1 root root 133 окт 23 15:27 ftp.altlinux.org_pub_distributions_ALTLinux_p7_branch_i586_base_release.classic
-rw-r--r-- 1 root root 509 окт 23 15:27 ftp.altlinux.org_pub_distributions_ALTLinux_p7_branch_noarch_base_release
-rw-r--r-- 1 root root 135 окт 23 15:27 ftp.altlinux.org_pub_distributions_ALTLinux_p7_branch_noarch_base_release.classic
-rw-r--r-- 1 root root 74597968 окт 23 15:27 ftp.altlinux.org_pub_distributions_ALTLinux_p7_branch_i586_base_pkglist.classic
-rw-r--r-- 1 root root 32821508 окт 23 15:26 ftp.altlinux.org_pub_distributions_ALTLinux_p7_branch_noarch_base_pkglist.classic
а свежефокс попал в кеш apt и был из него установлен:
# l /var/cache/apt/archives/
итого 28392
drwxrws--- 4 root rpm 4096 окт 25 21:07 ./
drwxrws--- 2 root rpm 4096 окт 25 21:07 partial/
-rw-r----- 1 root rpm 0 окт 25 21:01 lock
drwxrws--- 4 root rpm 4096 окт 25 21:01 ../
-rw-r--r-- 1 root rpm 28820362 сен 30 16:11 firefox-esr_38.3.0-alt1.M70P.1_i586.rpm
-rw-r--r-- 1 root rpm 235473 сен 23 19:07 firefox-esr-ru_38.3.0-alt1_i586.rpm
Куда же попала база и фокс?
Точно не в sdb1 которое iso9660 на скрытом NTFS:
# l /.ro/var/lib/apt/lists/
итого 0
drwxr-xr-x 3 root root 30 май 20 19:11 ./
drwxr-xr-x 4 root root 44 май 20 19:11 ../
drwxr-xr-x 2 root root 3 апр 28 16:55 partial/
# l /.ro/var/cache/apt/archives/
итого 0
drwxrws--- 3 root rpm 30 май 20 19:11 ./
drwxrws--- 3 root rpm 31 май 20 19:11 ../
drwxrws--- 2 root rpm 3 апр 28 16:55 partial/
Зато база и фокс попали на sdb2 alt-live-storage который на ext4:
# l /.rw/var/lib/apt/lists/
итого 104936
drwxr-xr-x 3 root root 4096 окт 25 21:01 ./
drwxr-xr-x 2 root root 4096 окт 25 21:01 partial/
-rw-r----- 1 root root 0 окт 25 21:01 lock
drwxr-xr-x 3 root root 4096 окт 25 20:55 ../
-rw-r--r-- 1 root root 715 окт 23 15:27 ftp.altlinux.org_pub_distributions_ALTLinux_p7_branch_i586_base_release
-rw-r--r-- 1 root root 133 окт 23 15:27 ftp.altlinux.org_pub_distributions_ALTLinux_p7_branch_i586_base_release.classic
-rw-r--r-- 1 root root 509 окт 23 15:27 ftp.altlinux.org_pub_distributions_ALTLinux_p7_branch_noarch_base_release
-rw-r--r-- 1 root root 135 окт 23 15:27 ftp.altlinux.org_pub_distributions_ALTLinux_p7_branch_noarch_base_release.classic
-rw-r--r-- 1 root root 74597968 окт 23 15:27 ftp.altlinux.org_pub_distributions_ALTLinux_p7_branch_i586_base_pkglist.classic
-rw-r--r-- 1 root root 32821508 окт 23 15:26 ftp.altlinux.org_pub_distributions_ALTLinux_p7_branch_noarch_base_pkglist.classic
# l /.rw/var/cache/apt/archives/
итого 28392
drwxrws--- 3 root rpm 4096 окт 25 21:07 ./
drwxrws--- 2 root rpm 4096 окт 25 21:07 partial/
-rw-r----- 1 root rpm 0 окт 25 21:01 lock
drwxrws--- 3 root rpm 4096 окт 25 21:01 ../
-rw-r--r-- 1 root rpm 28820362 сен 30 16:11 firefox-esr_38.3.0-alt1.M70P.1_i586.rpm
-rw-r--r-- 1 root rpm 235473 сен 23 19:07 firefox-esr-ru_38.3.0-alt1_i586.rpm
# mount|grep '\.rw\|\.ro'
/dev/loop0 on /.ro type squashfs (ro,relatime)
/dev/sdb2 on /.rw type ext4 (rw,noatime,nodiratime,nobarrier,commit=30,min_batch_time=100000
Основываясь на понимании всей этой кухни, после установки лайва, нужно проделать финт:
Как всегда выполнить команду
# apt-repo add p7
если apt-repo в установленной системе ничего не выбросит.
Но не выполнять команду !!! :
# apt-get update
Далее с alt-live-storage которое в лайве в /.rw скопировать через cp локальную базу в установленную на винт систему.
Точно также перебрасываем с лайва кеш apt'а.
Если update не выполнялся, то apt будет смотреть в базу apt'a в /var/lib, а заодно и проверит, что пакеты в кеше apt'а не устанавливались и они свежее чем в лайве, а стало быть, по команде
# apt-get dist-upgrade
(она обязана быть выполнена на лайве резиновой флешки ранее)
apt поймёт, что нужно обновить систему пакетами из кеша apt'а.
apt на сервер не полезет:
- база скопирована с лайва и не обновлялась
- и пакеты кеша apt загнаны с лайва .rw в кеш apt'а установленной системы
- а о новых пакетах на серваке, apt ещё не знает, поскольку update не выполнялся
В принципе, ничего хитрого:
- пара команд копирования базы и кеша, и дист-апгрейд
Дальше всё как всегда - по желанию.
Ну вот так себе мню.