我想通过安装一些其他软件包来自定义Ubuntu live CD。我已经遵循了,但是似乎没有用。谁能提供清晰的说明?

注意:我不喜欢Remastersys,将不胜感激。

自定义

我要安装的软件包:


雷鸟
Samba
SSH

我需要进行的更改:


从应用程序中删除游戏菜单菜单
台式机上的Firefox快捷方式
默认的主题为辐射度
不同的默认Ubuntu墙纸

配置文件更改


I希望将面板放置在底部
我要粘贴我的Samba配置文件而不是默认的Samba配置
我有几个Firefox快捷方式和文件夹,我想在桌面上显示它
如果您说我如何更改图标集,那将很好。一切顺利。但是,安装程序在选择时区后会崩溃。如何解决此问题?
设置墙纸也会影响登录屏幕。我设置的墙纸也显示在登录屏幕上。我只想要登录屏幕的默认屏幕即可。


评论

您要使用Unity更新12.04还是更喜欢Gnome-Shell / Classic?

添加了答案,使用Ubuntu Builder的总体上更简单的方法:)请让我知道评论中的任何反馈等。

@mniess“您将如何重新掌握14.04或更高版本?” izx和我发布的手册版本对于设置要编辑的根系统仍然有效。新的答案高度依赖于了解“给定的最新更改”的含义。每次更改都会有一种特定的方法(编辑dconf或编辑conf文件),所有这些都已包含在当前答案中。它不是一件事就是“复制/粘贴”;这些新变化要求有人思考的内容超出了书面内容。但是我相信答案也已经需要这个。

第二个:askubuntu.com/questions/409607/…是使用服务器ISO和kickstart文件的较新版本。同样适用于桌面ISO。

请注意,对于主题程序等的自定义设置,最有可能需要对相应的软件包而不是已安装的文件进行。然后设置一个新的版本号将意味着您的更改不应被更新覆盖(尽管您可能希望/需要经常更新这些软件包以适应新的版本)

#1 楼

注意:Ubuntu Builder项目已经终止。

使用Ubuntu-Builder使用Gnome-Classic创建自定义的12.04 CD

(目前,这是专门针对Karthik的需求;稍后,我将使用更通用/针对特定单位的内容更新答案)

1。获取Ubuntu Builder和您的源ISO

Ubuntu Builder自动执行许多必须手动完成的初步步骤(挂载ISO,提取squashfs,创建chroot等)。它为您提供了Synaptic和“图形化的chroot(Unity UI)。

添加PPA以安装Ubuntu Builder:

sudo add-apt-repository ppa:kamilion/ubuntu-builder
sudo apt-get update
sudo apt-get install ubuntu-builder


还可以下载Ubuntu Desktop ISO正在计划与之合作。

2。 Ubuntu Builder基础知识



从启动器启动Ubuntu Builder。我建议您将所有三个字段都设置为“ Ubuntu”(类似于实际的LiveCD),因为设置自定义字段会导致软件中心崩溃。安装时,您可以像往常一样选择自己的用户名,计算机名称等。



加载ISO;我使用“本地磁盘”选项加载了64位,但是如果您愿意的话,Ubuntu Builder应该可以下载ISO。
右侧的按钮不言自明。 Console为您提供CLI chroot,而Desktop为您提供图形化的!,即LiveCD会话本身(此过程可能需要一段时间才能加载)。请注意,Select DE/WM有时会完成不完整的工作,因此最好通过apt-get / Synaptic进行安装。

3。更新,添加Gnome Classic和其他软件包管理


注意:如果您对此感到更满意,也可以通过Synaptic完成所有这一切。



您可以使用按钮(或通过控制台)编辑sources.list以添加自己的镜像,ppas等。

让我们开始:


删除游戏

apt-get remove --purge aisleriot gnome-games-data gnomine mahjongg -y


进行常规更新并将其dist升级到最新版本(可选,但建议您这样做,因为您添加的Gnome-classic和其他软件包将是最新版本)-在12.04上,此步骤还安装了Thunderbird和核心Samba组件。它还将节省实际安装的时间。

apt-get update && apt-get dist-upgrade


安装Gnome Classic(gnome-shell插入指示器等),Samba和SSH:

apt-get install gnome-shell samba ssh



4。自定义1:文件,配置和删除顶部面板


注意:除非另有说明,否则所有命令必须从Ubuntu Builder的chroot控制台运行(通常是从您自己的系统复制文件时) )。 chroot的绝对路径为/home/ubuntu-builder/FileSystem




替换Samba配置文件(从您自己的系统终端,即chroot之外!)

sudo cp /path/to/mysmb.conf /home/ubuntu-builder/FileSystem/etc/samba/smb.conf



在桌面上放置Firefox快捷方式:

mkdir -p /etc/skel/Desktop && cd /etc/skel/Desktop
cp /usr/share/applications/firefox.desktop .
chmod +x firefox.desktop



将自定义快捷方式和文件夹复制到桌面(从外部chroot!)

sudo cp -r /path/to/mydesktopitems/ /home/ubuntu-builder/FileSystem/etc/skel/Desktop/



gnome-classic设置为默认外壳:

/usr/lib/lightdm/lightdm-set-defaults -s gnome-classic



移除Gnome-Classic顶部面板并将顶部项目移至底部面板:


打开默认面板布局:

nano /usr/share/gnome-panel/panel-default-layout.layout


通过删除第1-4行来删除顶部面板:

[Toplevel top-panel]
expand=true
orientation=top
size=24


通过修改粗体值将“开始”菜单移至左下方斜体参数如下:

[Object menu-bar]
object-iid=PanelInternalFactory::MenuBar
toplevel-id=bottom-panel
pack-index=0



通过修改粗体值,将指示器移动到工作区切换器的右下角对于斜体参数如下:

[Object indicators]
object-iid=IndicatorAppletCompleteFactory::IndicatorAppletComplete
toplevel-id=bottom-panel
pack-type=end
pack-index=1



从左下方移除“显示桌面”按钮;我更喜欢“开始”菜单是这里的第一件事,您可以将其保留或将其移到右下角,等等。删除这些行:

[Object show-desktop]
object-iid=WnckletFactory::ShowDesktopApplet
toplevel-id=bottom-panel
pack-index=0


保存并退出。



5.自定义2:背景和主题


注意:/usr/share/glib-2.0/schemas包含大多数默认的背景/主题设置;我发现直接为LiveCD修改内容更容易,而不必处理复杂的事情,例如,防止登录屏幕背景与桌面背景相同。




从“复制”桌面背景和其他更改中禁用登录屏幕(lightdm):


打开nano /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml

您可以如果需要,可以从默认位置更改登录背景:

<key name="background" type="s">
<default>'/usr/share/backgrounds/warty-final-ubuntu.png'</default>


通过将其设置为false来禁用“复制”桌面背景:

<key name="draw-user-backgrounds" type="b">
<default>false</default>
将登录主题设置为“发光度”:

  <key name="theme-name" type="s">
<default>'Radiance'</default>






更改默认壁纸;在这里,我们将其设置为包含的“ Tie My Boat”(/usr/share/backgrounds/Tie_My_Boat_by_Ray_García.jpg):


打开nano /usr/share/glib-2.0/schemas/10_gsettings-desktop-schemas.gschema.override,并将以下行更改为文件的路径:

picture-uri='file:///usr/share/backgrounds/warty-final-ubuntu.png'


将主题更改为Radiance


打开Ubuntu的主题覆盖文件``nano /usr/share/glib-2.0 / schemas / ubuntu-artwork.gschema.override`,并将下面的“环境”更改为“辐射度”:

[org.gnome.desktop.interface]
gtk-theme="Ambiance"
...
[org.gnome.desktop.wm.preferences]
theme="Ambiance"






重要:编译修改后的模式!


现在我们已经完成了定制,请使用以下命令编译修改后的模式:

glib-compile-schemas /usr/share/glib-2.0/schemas 





6。构建,测试和安装!




在Ubuntu Builder中按Build按钮即可开始构建自定义Live-CD ISO。 UB自动处理以前必须手动执行的清理工作。



ISO可以在/home/ubuntu-builder中找到;请参见。您可以使用内置QEMU或其他虚拟机对其进行测试。
我完成的CD大小为778 MB(在删除旧的.23内核之后),如果用户愿意的话,Unity和Gnome 3D仍然可用,因此对于自定义而言相当不错! :)

将导致以下结果:



启动后,您将获得“尝试Ubuntu”或“安装Ubuntu”选项:




单击“尝试”将获得我们的自定义桌面!




然后注销(使用ubuntu登录,密码为空白)表明登录壁纸保留为默认设置:




选择时区时安装程序不会崩溃:




选择用户名等进行安装:




已安装的登录屏幕:




已安装的桌面:





评论


如何更新/安装需要系统重新启动的软件包(例如内核或dbus)?当我尝试更新时,它会安装;但在gui模式下,会话指示器变成红色,并说重新启动以完成更新。

–Khurshid Alam
13年4月1日在12:17

如何用自己的图稿替换Ubuntu图稿?

–罗珊·乔治(Roshan George)
2013年6月10日14:03

这是行不通的。我不知道为什么。我不确定这是否会发生在我身上。当我在virtualbox中运行它时,它显示一个弹出框,提示“ /casper/vmlinuz.efi:未找到文件”。如何纠正呢? s24.postimg.org/jbez8svx1/Untitled.png

–罗珊·乔治(Roshan George)
2013年6月19日下午5:42

@izx能否请您告诉我,如何为ubuntu-builder设置工作目录?它正在/ home / ubuntu-builder中创建目录。我以root用户访问权限运行它。

– Shantanu
13年11月28日在22:20

该项目已终止。 PPA不起作用,该网站没有下载链接。我建议在回答的开头添加此信息,以帮助其他到达这里的人不要浪费他的时间。

– Sopalajo de Arrierez
15年3月3日,16:02

#2 楼

创建您自己的Custom Live CD-手动方法。

1。准备工作




首先下载Live CD ISO。在下载时,安装一些重建所需的软件:sudo apt-get install squashfs-tools schroot

Squashfs 是Linux的压缩只读文件系统。

schroot 允许用户执行命令或不同chroot中的交互式shell。


安装Live CD:

mkdir /tmp/livecd
sudo mount -o loop ~/Downloads/ubuntu-11.04-desktop-i386.iso /tmp/livecd


如果使用其他ISO或其他位置进行下载,请进行相应的调整。


创建工作区并将内容复制到工作区:

mkdir -p ~/livecd/cd
rsync --exclude=/casper/filesystem.squashfs -a /tmp/livecd/ ~/livecd/cd
mkdir ~/livecd/squashfs  ~/livecd/custom
sudo modprobe squashfs
sudo mount -t squashfs -o loop /tmp/livecd/casper/filesystem.squashfs ~/livecd/squashfs/
sudo cp -a ~/livecd/squashfs/* ~/livecd/custom



如果遇到错误像这样在进行modprobe时:

sudo modprobe squashfs 
WARNING: Deprecated config file /etc/modprobe.conf, 
all config files belong into /etc/modprobe.d/


移动modprobe.conf mv /etc/modprobe.conf /etc/modprobe.conf.OLD,然后重试!


网络访问:

sudo cp /etc/resolv.conf /etc/hosts ~/livecd/custom/etc/



创建伪文件系统:

sudo chroot ~/livecd/custom /bin/bash -l
mount -t proc none /proc/
mount -t sysfs none /sys/



2。自定义


您可以使用
dpkg-query -W --showformat='${Package}\n' | less获取所有软件包的列表
您可以使用apt-get remove --purge gnome-games删除游戏
sudoedit /etc/apt/sources.list更新您的源代码。注释掉不需要的行并取消注释,如果需要,添加PPA,然后需要用apt-get update && apt-get dist-upgrade更新。
以相同的方式添加雷鸟,Samba,Samba系统配置和SSH之类的软件包就像通常从命令行安装一样。因此,sudo apt-get install thunderbird samba system-config-samba ssh会添加这些内容。

如果您是从此处手动下载软件包的,则可以使用sudo dpkg -i {file_name}.deb安装它。


您可以检查Ubuntu软件中心,Synaptic或如果需要安装更多名称,请在软件包的网站上找到。
您可以考虑添加(无线)网络实用程序。
您将很快运行800 Mb;如果您这样做,则要么删除更多软件包以获取800以下的软件包,要么在刻录时需要使用DVD。如果不需要,删除libre office将释放33+ Mb。



要在桌面上创建AskUbuntu快捷方式:

mkdir -p /etc/skel/Desktop && printf '[Desktop Entry]\nVersion=1.0\nName=Ask Ubuntu\nComment=Ask Questions About Ubuntu\nGenericName=Question and Answers\nExec=xdg-open http://askubuntu.com\nTerminal=false\nX-MultipleArgs=false\nType=Application\nIcon=firefox\nCategories=Internet;\n' > /etc/skel/Desktop/askubuntu.desktop && chmod a+x /etc/skel/Desktop/askubuntu.desktop


您可以通过将URL编辑为其他内容来添加其中的更多内容(跳过mkdir部分)。
dv3500ea的礼貌


更改gconf-editor中的设置。

如果知道该选项的路径以及所需的值(当然是值的类型),则可以更改任何gconf选项。



通过我指向箭头的路径更改墙纸:/desktop/gnome/background/,它是一个字符串值,它使用picture_filename作为选项。当前在我的桌面上保存的值为/discworld2/Downloads/fantasticwall_2.jpg。背景本身应复制到/usr/share/backgrounds/中。确保设置权限和所有者。

示例:



要更改墙纸(将第一个命令中的文件名更改为您自己的图像)更改为该图像并将主题更改为“发光”,您可以使用此信息来创建命令以将其设置为您的实时CD:

gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --set -t string /desktop/gnome/background/picture_filename  /discworld2/Downloads/fantasticwall_2.jpg

gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --set -t string /desktop/gnome/interface/gtk_theme Radiance


dv3500ea的礼貌


启用远程桌面:

gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --set -t bool /desktop/gnome/remote_access/enabled true


图标,面板等的设置都可以通过添加这样的命令来完成。

或者,您可以编辑/etc/gconf/gconf.xml.defaults/%gconf-tree.xml(或当您保存此文件以备将来使用时)。通过gconftool-2完成的所有配置设置都存储在此文件中。



更改实时cd使用的默认时区

dpkg-reconfigure tzdata



将语言环境设置更改为英语(当然,将其更改为所需的语言)

locale-gen en
update-locale LANG=en LANGUAGE=en LC_ALL=en



配置配置文件。

如果要为某个程序包提供自定义配置文件,则可以通过多种方式进行。

困难(但最合乎逻辑)的方法是找到程序包,更改配置文件并重新打包,或者找到源文件,弄清楚它们存储其虚拟配置文件的位置并进行更改,然后重新生成程序包。



当然,只有在源程序包中包含默认配置文件时,这才起作用。许多软件包会在{packagename} .postinst脚本中自动生成其配置文件,因此很难做到这一点。

最简单的方法是创建一个脚本并将当前配置复制到/etc/skel,以便将它们添加到您的桌面(类似于如上所述添加firefox快捷方式),并在安装后单击桌面链接进行设置将配置文件放置到需要的位置。成功安装后,脚本既可以从桌面复制也可以删除脚本和配置文件。此方法可用于更新Samba配置(将您当前的配置放入/etc/skel/中。在其中放置一个具有执行许可权的脚本,并将该配置移至/etc/samba/smbd.conf,之后您要做的就是执行该脚本)。 br />
这基本上总是可行的,因为它用安装后手动激活的脚本代替了安装后手动操作。但这也意味着它不属于定制live cd。



3。清理

apt-get clean
rm -rf /tmp/*
rm -f /etc/hosts /etc/resolv.conf
umount /proc/
umount /sys/
exit


这将删除所有临时文件;不是我们创造的。 ~/livecd/是只读的,因此普通的rm不会删除这些文件。您需要使用写访问权挂载它(或者就像我确实使用新的live cd来引导和挂载home并从那里挂载它。

4.设置ISO



清单文件。

chmod +w ~/livecd/cd/casper/filesystem.manifest
sudo chroot ~/livecd/custom dpkg-query -W --showformat='${Package} ${Version}\n' > ~/livecd/cd/casper/filesystem.manifest
sudo cp ~/livecd/cd/casper/filesystem.manifest ~/livecd/cd/casper/filesystem.manifest-desktop
重新生成squashfs文件。

sudo mksquashfs ~/livecd/custom ~/livecd/cd/casper/filesystem.squashfs



更新md5总和。

sudo rm ~/livecd/cd/md5sum.txt
sudo bash -c 'cd ~/livecd/cd && find . -type f -exec md5sum {} +' > md5sum.txt



5.创建ISO。

cd ~/livecd/cd
sudo mkisofs -r -V "Ubuntu-Live" -b isolinux/isolinux.bin -c isolinux/boot.cat -cache-inodes -J -l -no-emul-boot -boot-load-size 4 -boot-info-table -o ~/Downloads/ubuntu-11.04-desktop-i386.iso .


6。卸下并清洁

sudo umount ~/livecd/squashfs/
sudo umount /tmp/livecd
sudo rm -fr ~/livecd/


7。注释:


所有内容均已通过Ubuntu 11.04 Live CD进行了测试。唯一出错的是chrooting:我将dchroot添加到了您需要安装的文件中。
关于“应该在桌面上创建一些Firefox快捷方式”,“应该将默认主题更改为radiance”和“应该更改”默认的ubuntu壁纸”。在dv3500ea放入注释后,我对其进行了编辑;创建11.04实时CD时,我没有对此进行测试。


评论


apt-get update && apt-get dist-upgrade还会升级Live CD上使用的内核/初始化吗?我的意思是引导进程的内核是由Syslinux加载的实时介质,而不是已安装的介质。

– Gertvdijk
13年1月29日在22:24

apt-get dist-upgrade可以正常运行,但有一些警告:不能从/ etc / fstab消息确定根设备。它应该成为问题吗?

– Sopalajo de Arrierez
2015年3月3日在21:58



否。但是请确保您看看并了解/的安装方式。

–灵风
15年3月4日在7:35

根据help.ubuntu.com(在12.04和14.04中),可能不会在清理过程中删除/etc/resolv.conf。

– souravc
2015年3月8日,下午5:13

该方法仍然有效:用Kubuntu 18.04.2。测试。注意:我只能使用unetbootin使.ISO可启动(etcher不起作用)。将.ISO刻录到DVD时引导没有问题。

– Nmath
19年6月2日在6:27

#3 楼

从现有/新安装中创建实时CD

编辑:此方法似乎不再起作用。我建议您尝试使用本质量检查中建议的其他方法。

一种好的方法是从当前安装中制作实时CD。可以使用虚拟机完成此操作(只是不要在来宾操作系统中安装任何VM工具)

因此,首先,我们需要重新安装(如果您不能真正安装它,请尝试使用虚拟机)仅包含您需要的东西(在您的情况下为雷鸟,samba和ssh)。然后我们调整系统并记录调整的位置(例如,更改桌面背景,设置在〜/ .gconf中或添加firefox快捷方式,它们位于〜/ Desktop中)。这是步骤4所需的。



设置一些变量:

export WORK=~/temp
export CD=~/livecd
export FORMAT=squashfs
export FS_DIR=casper


用〜/ temp代替我们将在其中工作的临时
目录的路径。
用〜
CD树的路径替换〜/ livecd。

制作文件夹结构。 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另一个文件夹和另一个文件夹'
,现在我们将其复制:

cd ~ && for i in $CONFIG
do
sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
done        



现在我们将chroot切换到新系统并对其进行修改。

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


Casper包含实时脚本。
如果您还想要安装程序,请运行以下命令:

apt-get install ubiquity ubiquity-frontend-gtk


或者如果要KDE :

apt-get install ubiquity ubiquity-frontend-kde



更新modules.dep和initramfs:

depmod -a $(uname -r)
update-initramfs -u -k $(uname -r)



删除非系统用户-不用担心,我们已经将设置和数据复制到用户的“骨架”中。这意味着所有新用户都将拥有它们。

for i in `cat /etc/passwd | awk -F":" '{print }'`
do
    uid=`cat /etc/passwd | grep "^${i}:" | awk -F":" '{print }'`
    [ "$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


退出chroot。 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



如果已安装安装程序,则需要执行此操作,这样安装程序就不会安装casper之类的东西:

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



转换为squashfs:

sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT}


制作文件系统。大小:
echo -n $(sudo du -s --block-size=1 ${WORK}/rootfs | tail -1 | awk '{print }') | sudo tee ${CD}/casper/filesystem.size
和md5:find ${CD} -type f -print0 | xargs -0 md5sum | sed "s@${CD}@.@" | grep -v md5sum.txt |sudo tee ${CD}/md5sum.txt

现在grub.cfg:

sudo nano ${CD}/boot/grub/grub.cfg


(用您最喜欢的文本编辑器替换nano没关系)
粘贴并保存:

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
}



如果需要,您可以添加一个附加菜单项,使您可以直接进入Ubiquity。

menuentry "Install Ubuntu" {
linux /boot/vmlinuz boot=casper only-ubiquity quiet splash
initrd /boot/initrd.img
}


制作CD / DVD!
sudo grub-mkrescue -o ~/live-cd.iso ${CD}
使用虚拟机对其进行测试!

所有荣誉归功于capink,因为指南来自这里。

评论


我对grub.cfg有疑问。这个文件grub.cfg只是在安装时使用,还是对已安装的系统持久。如果我不编辑grub.cfg怎么办?

–罗珊·乔治(Roshan George)
2013年6月10日14:13

@RoshanGeorge这将在CD上配置GRUB。安装后不应持续存在。

– nickguletskii
13年6月12日在12:55

我们是否可以像正常安装Ubuntu一样进行安装,即显示无处不在的安装程序,而不显示grub?就是说,在Ubuntu安装中,当我们插入并运行cd时,会显示普遍性而不是grub菜单,我们可以这样做吗?

–罗珊·乔治(Roshan George)
2013年6月12日17:14

@RoshanGeorge应该可以通过添加带有Linux / boot / vmlinuz boot = casper only-ubiquity quiet splash的菜单项来实现。我将进行测试和验证。

– nickguletskii
13年6月13日在16:18

@RoshanGeorge我已经成功添加了一个从启动菜单启动Ubiquity的选项。但是,我需要修复该指南-缺少一些普遍存在的步骤。我明天将尝试修复它。

– nickguletskii
2013年6月13日在21:22



#4 楼

您可以使用ucklive-magic自定义Live CD。

uck可从Ubuntu的官方软件来源获得,该版本自10.04 LTS Lucid Lynx起在所有Ubuntu版本中均可用。您可以从软件中心安装uck,在命令行上安装apt-get,或单击此处。

评论


好像UCK已停产:(

– amc
16年6月15日在22:17

Ubuntu Builder于2014年停产; Ubuntu Customization Kit可以安装但无法使用,并于2015年停产; System Imager在2016年停产。确实需要更新此答案。 2019年有官方支持的方法吗?

– allquixotic
19年7月4日在23:36

@allquixotic uck在18.04 Universe存储库中。这个版本不起作用吗?

– mchid
19年7月30日在7:36

#5 楼

Ubuntu Customization Kit

它是脚本的集合,这些脚本使从现有的.iso映像创建自定义LiveCD更加容易。它与Remastersys非常相似,不同之处在于它是主动维护的。它具有一个可帮助进行自定义的GUI,但也可以使用命令行来完成此操作。


它将要求选择要包含在CD中的语言包。
然后,它将要求选择.iso映像文件,该文件将用作新CD的基础。
为将要创建的新.iso映像命名。 >然后,它将询问要添加到LiveCD或从LiveCD删除的软件包。它将为您提供命令行和默认GUI(Ubuntu软件中心)之间的选项。注意:您应该选择命令行。在命令行中,您可以使用apt-get或Ubuntu软件中心(从命令行键入software-center)添加/删除软件包。您还可以修改所有软件/应用程序的配置设置。
完成后(可能需要一些时间来下载所需的软件包),继续。
现在,请坐下来放松一下。一段时间后,您的自定义LiveCD将准备就绪。


评论


看起来UCK项目已经终止了:(

– amc
16年6月15日在21:59

#6 楼

如果您需要对所做的更改进行更多控制,则可以手动进行修改。

该过程包括将包含实时OS根文件系统的SquashFS数据文件解压缩,并切入提取的文件系统中,进行修改,退出chroot,重新打包SquashFS文件,然后重新生成ISO映像。

完整的详细信息在Ubuntu Wiki的LiveCDCustomization页面上进行了描述。

#7 楼

在Ubuntu软件中心中,


编辑>软件源>其他软件>添加。.


在框中粘贴以下行,然后单击添加源。 。


deb http://www.geekconnection.org/remastersys/repository karmic


从软件中心重新加载源代码并安装Remastersys。

完成后,将所有所需的媒体编解码器和应用程序安装在自定义ubuntu上。




System> Adminstration>启动remastersys。 Remastersys


选择dist模式,单击“确定”,然后等待该过程完成。完成后,您将在


/home/remastersys/remastersys/custom.iso

中找到您的自定义iso

评论


我已按照与您在此描述的完全相同的步骤进行操作,但是不幸的是,在启动过程中,它显示“找不到ramdisk映像:/ ubninit”,并以10秒的间隔一次又一次地刷新。结果:我无法启动自定义的ISO。你能告诉我如何解决吗?请。

–tuxtu
13年6月13日在9:17

#8 楼

Remastersys可能会满足您的需求。您需要转到http://www.remastersys.com/ubuntu.html并按照说明进行操作。该程序从您正在运行的操作系统(包括所有设置和应用程序)生成一个iso。比您可以使用此iso刻录CD。不幸的是,过去存在将其作为实时CD运行的问题,而安装则没有问题(我不知道这是否仍然是问题)。

评论


或使用GUI且不太困难的UCK

– Uri Herrera
2011年6月18日下午4:05

Remastersys已死。现在,该站点归域名抢注者所有。

– allquixotic
19年7月4日在23:38

#9 楼

我没有在Lucid之外知道的“ GUI”,但是gNewsense(它是Ubuntu的一个分支)使他们的脚本采用Ubuntu版本,并免费提供了自定义的分支,并且有据可查。

基本上,这是一个过程:


将自定义图稿放在脚本可以找到的地方
确定内核中想要的内容(或不需要的内容)
确定所需的软件包(或不需要的软件包)
运行反映apt存储库的脚本
创建分发CD / ISO。

完全“新手友好”,其工具相对易于使用。

#10 楼

我已经修补了一个名为Reconstructor的新的基于Web的服务。根据他们的网站,


Reconstructor是用于创建自定义版本的GNU / Linux操作系统(特别是Debian和Ubuntu)的自定义版本的工具包。


根据Linux Journal关于Reconstructor的文章,他们对定制收取少量费用。是否值得取决于您的需求。

评论


链接无效,并且域重定向到潜在的恶意站点!

– amc
16年6月15日在22:05

#11 楼

我建议您尝试使用Reconstructor

“ Reconstructor是Ubuntu GNU / Linux CD Creator,它允许您修改现有的Ubuntu发行版并另存为自己的Linux发行版。它使用Desktop(Live),备用(安装)或服务器光盘作为基础,然后允许用户自定义。
您基本上可以自定义整个环境,例如添加/删除软件,更改默认外观(初始,主题,字体,墙纸)等等),添加桌面链接等。“

有关更多信息,您还应该阅读以下链接:http://maketecheasier.com/reconstructor-creating-your-own-ubuntu-distribution/ 2008/07/05

http://maketecheasier.com/build-your-own-ubuntu-based-distro-with-novo-builder/2010/07/02

http://ubuntuforums.org/showthread.php?t=869659

评论


但是这些工具不会让我重命名我的发行版,它们只会允许我构建映像并添加软件包,或者至少是我所知道的。

–user51447
2012年3月21日在9:48

重建程序链接已失效,并且域重定向到潜在的恶意站点!

– amc
16年6月15日在22:08

#12 楼

您也可以使用JLIVECD来定制ISO映像。这是用于自定义Ubuntu和基于Ubuntu发行版的命令行工具。它使您可以完全控制需要自定义的内容,但您需要知道需要做什么,即,它仅为您准备chroot环境(其余一切由您决定)并构建最终的ISO。您可以继续向现有更改中添加新更改,并继续检查基于它们的ISO。

#13 楼

您可以使用Cubic-这个工具已经过我测试,可以在具有Ubuntu 18.04映像的Ubuntu 18.04主机上使用,对于大多数无法使用或已停产的其他工具来说,这可以说是更多了。 br />
这里是从Linoxide网站上使用它的指南。

粗略的步骤包括:


确保您正在使用受支持的Ubuntu版本(我尝试过18.04;它可以工作)
安装Cubic PPA的GPG密钥
将Cubic PPA添加到源中
安装立方工具
运行它,并按照GUI提示进行操作


评论


另外,请参阅此答案askubuntu.com/a/741770/100356了解说明。

– PJ Singh
19年7月30日在16:04

#14 楼

下载http://sourceforge.net/projects/uck/files/uck/2.4.6/uck_2.4.6-0ubuntu1_all.deb/download
按照说明以及要求运行程序包管理器,控制台应用程序或继续打包,选择控制台应用程序。

现在您可以运行


nautilus

unity-2d-launcher

unity-2d-panel


并执行所有操作。

如果这不起作用,请先尝试运行程序包管理器,然后使用控制台。

希望有帮助。

评论


ubuntu定制工具包(UCK)已停产

– amc
16年6月15日在22:09

#15 楼

您可以通过编辑/etc/hosts来修改默认的/usr/share/ubiquity/plugininstall.py文件(以及其他一些默认文件)。

我认为共享对我有帮助,因为我需要知道如何做。

评论


实际上,在进一步检查之后,似乎安装的/ etc / hosts文件不是由普遍存在的plugininstall.py模块生成的。如果您确实希望修改默认的/ etc / hosts文件,则可能必须制作一个脚本,该脚本在首次引导后运行一次,然后删除或重命名自身。除非您重新编译netcfg模块-不建议这样做。

– SW_user2953243
2014-10-10 18:14



#16 楼

这个问题很旧,而且大多数答案(自然吗?)已经过时了。我想分享我的解决方案:

1)将Ubuntu 18.04安装到例如Virtualbox VM。

2)根据需要进行自定义:安装新软件等。

3)从https://sourceforge.net/projects/pinguy-os下载pinguybuilder_5.2-1_all.deb / files / ISO_Builder /并安装

4)运行sudo PinguyBuilder backup(或sudo PinguyBuilder dist,请参见下文)-这可能需要一个小时!

5)在/home/PinguyBuilder/PinguyBuilder/custom-backup.iso中找到ISO文件并将其复制到类似sudo dd if=/home/PinguyBuilder/PinguyBuilder/custom-backup.iso of=/dev/sdX bs=1M(其中sdX是USB记忆棒设备)的USB记忆棒中。

选择模式(源)


取决于什么选项您选择确定创建哪种类型的ISO。
如果选择“ Dist”,则将备份整个系统,但不包括您的主文件夹和任何个人信息。

如果选择“备份” ”,这将备份系统并包含您的主文件夹(因此请确保它不会太大)。

这两个选项都可以作为实时会话运行。 “远程”模式没有密码可登录。 “备份”模式使用用于创建ISO的用户名和密码。