Я хотел бы настроить Live CD с Ubuntu, установив некоторые дополнительные пакеты. Я последовал за этим, но он, похоже, не работает. Может ли кто-нибудь дать четкие инструкции?
Примечание: я не предпочитаю Remastersys, будет оценен ручной способ.
Пакеты, которые я хочу установить:
Thunderbird Samba SSHИзменения, которые мне нужны:
Thunderbird Firefox ярлык на рабочем столе Samba Различные обои Ubuntu по умолчаниюEDIT: этот метод больше не работает. Я предлагаю вам попробовать другие методы, предложенные в этом QA.
Хорошим способом было бы сделать live CD с текущей установки. Это можно сделать с помощью виртуальной машины (просто не устанавливайте какие-либо инструменты VM внутри гостевой ОС)
Итак, сначала нам нужна новая установка (если вы не можете установить ее на самом деле, попробуйте использовать виртуальную машину) только с теми вещами, которые вам нужны (в вашем случае - thunderbird, samba и ssh). Затем мы настраиваем систему и записываем, где твики (например, вы меняете фон рабочего стола, настройки находятся в ~ / .gconf или вы добавляете ярлыки firefox, они расположены в ~ / Desktop). Это необходимо для шага 4.
export WORK=~/temp
export CD=~/livecd
export FORMAT=squashfs
export FS_DIR=casper
Замените ~ / temp на путь во временный каталог, в котором мы будем работать. Замените ~ / livecd на путь к дереву CD. sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs
sudo apt-get install grub2 xorriso squashfs-tools
sudo rsync -av --one-file-system --exclude=/proc/* --exclude=/dev/* \
--exclude=/sys/* --exclude=/tmp/* --exclude=/home/* --exclude=/lost+found \
--exclude=/var/tmp/* --exclude=/boot/grub/* --exclude=/root/* \
--exclude=/var/mail/* --exclude=/var/spool/* --exclude=${WORK}/rootfs \
--exclude=/etc/fstab --exclude=/etc/mtab --exclude=/etc/hosts \
--exclude=/etc/timezone --exclude=/etc/shadow* --exclude=/etc/gshadow* \
--exclude=/etc/X11/xorg.conf* --exclude=/etc/gdm/custom.conf \
/ ${WORK}/rootfs
Если у вас есть отдельный загрузочный раздел, выполните следующее: sudo cp -av /boot/* ${WORK}/rootfs/boot
В вашем случае вы хотите скопировать настройки и некоторые файлы из домашнего каталога. Во-первых, определите, какие каталоги мы хотим скопировать: CONFIG = '. Config .gconf Desktop someotherfolder andanotherfolder' И теперь мы копируем это: cd ~ && for i in $CONFIG
do
sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
done
sudo mount --bind /dev/ ${WORK}/rootfs/dev
sudo mount -t proc proc ${WORK}/rootfs/proc
sudo mount -t sysfs sysfs ${WORK}/rootfs/sys
sudo mount -t devpts devpts ${WORK}/rootfs/dev/pts
sudo chroot ${WORK}/rootfs /bin/bash
Следующие команды выполняются в chroot: LANG=
apt-get update
apt-get install casper
Каспер содержит живые сценарии. Если вы хотите установить установщик, запустите это: apt-get install ubiquity ubiquity-frontend-gtk
Или, если вы хотите KDE: apt-get install ubiquity ubiquity-frontend-kde
depmod -a $(uname -r)
update-initramfs -u -k $(uname -r)
for i in `cat /etc/passwd | awk -F":" '{print $1}'`
do
uid=`cat /etc/passwd | grep "^${i}:" | awk -F":" '{print $3}'`
[ "$uid" -gt "999" -a "$uid" -ne "65534" ] && userdel --force ${i} 2>/dev/null
done
apt-get clean
find /var/log -regex '.*?[0-9].*?' -exec rm -v {} \;
find /var/log -type f | while read file
do
cat /dev/null | tee $file
done
rm /etc/resolv.conf /etc/hostname
exit
export kversion=`cd ${WORK}/rootfs/boot && ls -1 vmlinuz-* | tail -1 | sed 's@vmlinuz-@@'`
sudo cp -vp ${WORK}/rootfs/boot/vmlinuz-${kversion} ${CD}/boot/vmlinuz
sudo cp -vp ${WORK}/rootfs/boot/initrd.img-${kversion} ${CD}/boot/initrd.img
sudo cp -vp ${WORK}/rootfs/boot/memtest86+.bin ${CD}/boot
sudo chroot ${WORK}/rootfs dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee ${CD}/${FS_DIR}/filesystem.manifest
sudo cp -v ${CD}/${FS_DIR}/filesystem.manifest{,-desktop}
REMOVE='ubiquity casper user-setup os-prober libdebian-installer4'
for i in $REMOVE
do
sudo sed -i "/${i}/d" ${CD}/${FS_DIR}/filesystem.manifest-desktop
done
sudo umount ${WORK}/rootfs/proc
sudo umount ${WORK}/rootfs/sys
sudo umount ${WORK}/rootfs/dev/pts
sudo umount ${WORK}/rootfs/dev
sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT}
echo -n $(sudo du -s --block-size=1 ${WORK}/rootfs | tail -1 | awk '{print $1}') | sudo tee ${CD}/casper/filesystem.size
find ${CD} -type f -print0 | xargs -0 md5sum | sed "s@${CD}@.@" | grep -v md5sum.txt |sudo tee ${CD}/md5sum.txt
sudo nano ${CD}/boot/grub/grub.cfg
(замените nano вашим текстовым редактором fav, это не имеет значения) Вставьте это и сохраните: set default="0"
set timeout=10
menuentry "Ubuntu GUI" {
linux /boot/vmlinuz boot=casper quiet splash
initrd /boot/initrd.img
}
menuentry "Ubuntu in safe mode" {
linux /boot/vmlinuz boot=casper xforcevesa quiet splash
initrd /boot/initrd.img
}
menuentry "Ubuntu CLI" {
linux /boot/vmlinuz boot=casper textonly quiet splash
initrd /boot/initrd.img
}
menuentry "Ubuntu GUI persistent mode" {
linux /boot/vmlinuz boot=casper boot=casper persistent quiet splash
initrd /boot/initrd.img
}
menuentry "Ubuntu GUI from RAM" {
linux /boot/vmlinuz boot=casper nopersistent toram quiet splash
initrd /boot/initrd.img
}
menuentry "Check Disk for Defects" {
linux /boot/vmlinuz boot=casper integrity-check quiet splash
initrd /boot/initrd.img
}
menuentry "Memory Test" {
linux16 /boot/memtest86+.bin
}
menuentry "Boot from the first hard disk" {
set root=(hd0)
chainloader +1
}
menuentry "Install Ubuntu" {
linux /boot/vmlinuz boot=casper only-ubiquity quiet splash
initrd /boot/initrd.img
}
sudo grub-mkrescue -o ~/live-cd.iso ${CD}
Все кредиты идут в capink, потому что руководство от здесь .
EDIT: этот метод больше не работает. Я предлагаю вам попробовать другие методы, предложенные в этом QA.
Хорошим способом было бы сделать live CD с текущей установки. Это можно сделать с помощью виртуальной машины (просто не устанавливайте какие-либо инструменты VM внутри гостевой ОС)
Итак, сначала нам нужна новая установка (если вы не можете установить ее на самом деле, попробуйте использовать виртуальную машину) только с теми вещами, которые вам нужны (в вашем случае - thunderbird, samba и ssh). Затем мы настраиваем систему и записываем, где твики (например, вы меняете фон рабочего стола, настройки находятся в ~ / .gconf или вы добавляете ярлыки firefox, они расположены в ~ / Desktop). Это необходимо для шага 4.
export WORK=~/temp
export CD=~/livecd
export FORMAT=squashfs
export FS_DIR=casper
Замените ~ / temp на путь во временный каталог, в котором мы будем работать. Замените ~ / livecd на путь к дереву CD. sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs
sudo apt-get install grub2 xorriso squashfs-tools
sudo rsync -av --one-file-system --exclude=/proc/* --exclude=/dev/* \
--exclude=/sys/* --exclude=/tmp/* --exclude=/home/* --exclude=/lost+found \
--exclude=/var/tmp/* --exclude=/boot/grub/* --exclude=/root/* \
--exclude=/var/mail/* --exclude=/var/spool/* --exclude=${WORK}/rootfs \
--exclude=/etc/fstab --exclude=/etc/mtab --exclude=/etc/hosts \
--exclude=/etc/timezone --exclude=/etc/shadow* --exclude=/etc/gshadow* \
--exclude=/etc/X11/xorg.conf* --exclude=/etc/gdm/custom.conf \
/ ${WORK}/rootfs
Если у вас есть отдельный загрузочный раздел, выполните следующее: sudo cp -av /boot/* ${WORK}/rootfs/boot
В вашем случае вы хотите скопировать настройки и некоторые файлы из домашнего каталога. Во-первых, определите, какие каталоги мы хотим скопировать: CONFIG = '. Config .gconf Desktop someotherfolder andanotherfolder' И теперь мы копируем это: cd ~ && for i in $CONFIG
do
sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
done
sudo mount --bind /dev/ ${WORK}/rootfs/dev
sudo mount -t proc proc ${WORK}/rootfs/proc
sudo mount -t sysfs sysfs ${WORK}/rootfs/sys
sudo mount -t devpts devpts ${WORK}/rootfs/dev/pts
sudo chroot ${WORK}/rootfs /bin/bash
Следующие команды выполняются в chroot: LANG=
apt-get update
apt-get install casper
Каспер содержит живые сценарии. Если вы хотите установить установщик, запустите это: apt-get install ubiquity ubiquity-frontend-gtk
Или, если вы хотите KDE: apt-get install ubiquity ubiquity-frontend-kde
depmod -a $(uname -r)
update-initramfs -u -k $(uname -r)
for i in `cat /etc/passwd | awk -F":" '{print $1}'`
do
uid=`cat /etc/passwd | grep "^${i}:" | awk -F":" '{print $3}'`
[ "$uid" -gt "999" -a "$uid" -ne "65534" ] && userdel --force ${i} 2>/dev/null
done
apt-get clean
find /var/log -regex '.*?[0-9].*?' -exec rm -v {} \;
find /var/log -type f | while read file
do
cat /dev/null | tee $file
done
rm /etc/resolv.conf /etc/hostname
exit
export kversion=`cd ${WORK}/rootfs/boot && ls -1 vmlinuz-* | tail -1 | sed 's@vmlinuz-@@'`
sudo cp -vp ${WORK}/rootfs/boot/vmlinuz-${kversion} ${CD}/boot/vmlinuz
sudo cp -vp ${WORK}/rootfs/boot/initrd.img-${kversion} ${CD}/boot/initrd.img
sudo cp -vp ${WORK}/rootfs/boot/memtest86+.bin ${CD}/boot
sudo chroot ${WORK}/rootfs dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee ${CD}/${FS_DIR}/filesystem.manifest
sudo cp -v ${CD}/${FS_DIR}/filesystem.manifest{,-desktop}
REMOVE='ubiquity casper user-setup os-prober libdebian-installer4'
for i in $REMOVE
do
sudo sed -i "/${i}/d" ${CD}/${FS_DIR}/filesystem.manifest-desktop
done
sudo umount ${WORK}/rootfs/proc
sudo umount ${WORK}/rootfs/sys
sudo umount ${WORK}/rootfs/dev/pts
sudo umount ${WORK}/rootfs/dev
sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT}
echo -n $(sudo du -s --block-size=1 ${WORK}/rootfs | tail -1 | awk '{print $1}') | sudo tee ${CD}/casper/filesystem.size
find ${CD} -type f -print0 | xargs -0 md5sum | sed "s@${CD}@.@" | grep -v md5sum.txt |sudo tee ${CD}/md5sum.txt
sudo nano ${CD}/boot/grub/grub.cfg
(замените nano вашим текстовым редактором fav, это не имеет значения) Вставьте это и сохраните: set default="0"
set timeout=10
menuentry "Ubuntu GUI" {
linux /boot/vmlinuz boot=casper quiet splash
initrd /boot/initrd.img
}
menuentry "Ubuntu in safe mode" {
linux /boot/vmlinuz boot=casper xforcevesa quiet splash
initrd /boot/initrd.img
}
menuentry "Ubuntu CLI" {
linux /boot/vmlinuz boot=casper textonly quiet splash
initrd /boot/initrd.img
}
menuentry "Ubuntu GUI persistent mode" {
linux /boot/vmlinuz boot=casper boot=casper persistent quiet splash
initrd /boot/initrd.img
}
menuentry "Ubuntu GUI from RAM" {
linux /boot/vmlinuz boot=casper nopersistent toram quiet splash
initrd /boot/initrd.img
}
menuentry "Check Disk for Defects" {
linux /boot/vmlinuz boot=casper integrity-check quiet splash
initrd /boot/initrd.img
}
menuentry "Memory Test" {
linux16 /boot/memtest86+.bin
}
menuentry "Boot from the first hard disk" {
set root=(hd0)
chainloader +1
}
menuentry "Install Ubuntu" {
linux /boot/vmlinuz boot=casper only-ubiquity quiet splash
initrd /boot/initrd.img
}
sudo grub-mkrescue -o ~/live-cd.iso ${CD}
Все кредиты идут в capink, потому что руководство от здесь .
EDIT: этот метод больше не работает. Я предлагаю вам попробовать другие методы, предложенные в этом QA.
Хорошим способом было бы сделать live CD с текущей установки. Это можно сделать с помощью виртуальной машины (просто не устанавливайте какие-либо инструменты VM внутри гостевой ОС)
Итак, сначала нам нужна новая установка (если вы не можете установить ее на самом деле, попробуйте использовать виртуальную машину) только с теми вещами, которые вам нужны (в вашем случае - thunderbird, samba и ssh). Затем мы настраиваем систему и записываем, где твики (например, вы меняете фон рабочего стола, настройки находятся в ~ / .gconf или вы добавляете ярлыки firefox, они расположены в ~ / Desktop). Это необходимо для шага 4.
export WORK=~/temp
export CD=~/livecd
export FORMAT=squashfs
export FS_DIR=casper
Замените ~ / temp на путь во временный каталог, в котором мы будем работать. Замените ~ / livecd на путь к дереву CD. sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs
sudo apt-get install grub2 xorriso squashfs-tools
sudo rsync -av --one-file-system --exclude=/proc/* --exclude=/dev/* \
--exclude=/sys/* --exclude=/tmp/* --exclude=/home/* --exclude=/lost+found \
--exclude=/var/tmp/* --exclude=/boot/grub/* --exclude=/root/* \
--exclude=/var/mail/* --exclude=/var/spool/* --exclude=${WORK}/rootfs \
--exclude=/etc/fstab --exclude=/etc/mtab --exclude=/etc/hosts \
--exclude=/etc/timezone --exclude=/etc/shadow* --exclude=/etc/gshadow* \
--exclude=/etc/X11/xorg.conf* --exclude=/etc/gdm/custom.conf \
/ ${WORK}/rootfs
Если у вас есть отдельный загрузочный раздел, выполните следующее: sudo cp -av /boot/* ${WORK}/rootfs/boot
В вашем случае вы хотите скопировать настройки и некоторые файлы из домашнего каталога. Во-первых, определите, какие каталоги мы хотим скопировать: CONFIG = '. Config .gconf Desktop someotherfolder andanotherfolder' И теперь мы копируем это: cd ~ && for i in $CONFIG
do
sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
done
sudo mount --bind /dev/ ${WORK}/rootfs/dev
sudo mount -t proc proc ${WORK}/rootfs/proc
sudo mount -t sysfs sysfs ${WORK}/rootfs/sys
sudo mount -t devpts devpts ${WORK}/rootfs/dev/pts
sudo chroot ${WORK}/rootfs /bin/bash
Следующие команды выполняются в chroot: LANG=
apt-get update
apt-get install casper
Каспер содержит живые сценарии. Если вы хотите установить установщик, запустите это: apt-get install ubiquity ubiquity-frontend-gtk
Или, если вы хотите KDE: apt-get install ubiquity ubiquity-frontend-kde
depmod -a $(uname -r)
update-initramfs -u -k $(uname -r)
for i in `cat /etc/passwd | awk -F":" '{print $1}'`
do
uid=`cat /etc/passwd | grep "^${i}:" | awk -F":" '{print $3}'`
[ "$uid" -gt "999" -a "$uid" -ne "65534" ] && userdel --force ${i} 2>/dev/null
done
apt-get clean
find /var/log -regex '.*?[0-9].*?' -exec rm -v {} \;
find /var/log -type f | while read file
do
cat /dev/null | tee $file
done
rm /etc/resolv.conf /etc/hostname
exit
export kversion=`cd ${WORK}/rootfs/boot && ls -1 vmlinuz-* | tail -1 | sed 's@vmlinuz-@@'`
sudo cp -vp ${WORK}/rootfs/boot/vmlinuz-${kversion} ${CD}/boot/vmlinuz
sudo cp -vp ${WORK}/rootfs/boot/initrd.img-${kversion} ${CD}/boot/initrd.img
sudo cp -vp ${WORK}/rootfs/boot/memtest86+.bin ${CD}/boot
sudo chroot ${WORK}/rootfs dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee ${CD}/${FS_DIR}/filesystem.manifest
sudo cp -v ${CD}/${FS_DIR}/filesystem.manifest{,-desktop}
REMOVE='ubiquity casper user-setup os-prober libdebian-installer4'
for i in $REMOVE
do
sudo sed -i "/${i}/d" ${CD}/${FS_DIR}/filesystem.manifest-desktop
done
sudo umount ${WORK}/rootfs/proc
sudo umount ${WORK}/rootfs/sys
sudo umount ${WORK}/rootfs/dev/pts
sudo umount ${WORK}/rootfs/dev
sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT}
echo -n $(sudo du -s --block-size=1 ${WORK}/rootfs | tail -1 | awk '{print $1}') | sudo tee ${CD}/casper/filesystem.size
find ${CD} -type f -print0 | xargs -0 md5sum | sed "s@${CD}@.@" | grep -v md5sum.txt |sudo tee ${CD}/md5sum.txt
sudo nano ${CD}/boot/grub/grub.cfg
(замените nano вашим текстовым редактором fav, это не имеет значения) Вставьте это и сохраните: set default="0"
set timeout=10
menuentry "Ubuntu GUI" {
linux /boot/vmlinuz boot=casper quiet splash
initrd /boot/initrd.img
}
menuentry "Ubuntu in safe mode" {
linux /boot/vmlinuz boot=casper xforcevesa quiet splash
initrd /boot/initrd.img
}
menuentry "Ubuntu CLI" {
linux /boot/vmlinuz boot=casper textonly quiet splash
initrd /boot/initrd.img
}
menuentry "Ubuntu GUI persistent mode" {
linux /boot/vmlinuz boot=casper boot=casper persistent quiet splash
initrd /boot/initrd.img
}
menuentry "Ubuntu GUI from RAM" {
linux /boot/vmlinuz boot=casper nopersistent toram quiet splash
initrd /boot/initrd.img
}
menuentry "Check Disk for Defects" {
linux /boot/vmlinuz boot=casper integrity-check quiet splash
initrd /boot/initrd.img
}
menuentry "Memory Test" {
linux16 /boot/memtest86+.bin
}
menuentry "Boot from the first hard disk" {
set root=(hd0)
chainloader +1
}
menuentry "Install Ubuntu" {
linux /boot/vmlinuz boot=casper only-ubiquity quiet splash
initrd /boot/initrd.img
}
sudo grub-mkrescue -o ~/live-cd.iso ${CD}
Все кредиты идут в capink, потому что руководство от здесь .