Answers:
Cubic(自定义Ubuntu ISO Creator)是一个GUI向导,用于创建自定义的可引导Ubuntu Live CD(ISO)映像。Cubic具有集成的命令行chroot环境,可以进行自定义,并允许通过ISO生成步骤轻松地进行向后和向前导航。您可以创建新的定制项目或修改现有项目,并且会使用智能默认值自动填充重要参数,以简化定制过程。
(注意:Cubic使用Xorg且不能在Wayland上运行,如果出现类似“ ls:无法访问'〜/ .Xauthority':无此类文件或目录”之类的错误,请尝试安装/切换到Xorg。这尤其是一个问题因为Artful Aardvark默认开始使用Wayland)。
安装立方
要安装Cubic,请添加PPA,然后使用安装apt
。
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 081525E2B4F1283B
sudo apt-add-repository ppa:cubic-wizard/release
sudo apt update
sudo apt install cubic
使用立方
从扩展坞或应用程序菜单中启动Cubic。
在“三次简介”页面上,选择目录以保留所有项目文件。您可以有多个定制项目,但是必须为每个项目选择一个不同的目录。
“新项目”页面上的信息将自动为您填写。您可以接受建议的默认值。如果选择更改某些值,则键入时相关参数将自动更新。
下一页将显示压缩的Linux文件系统被提取时的进度。
提取Linux文件系统后,“终端页面”将自动出现。在这里可以进行自定义。您将需要使用命令行。请注意,这是一个chroot环境,您以root用户身份登录,因此sudo
在键入命令时不需要使用。 (您可以忽略“ ttyname failed”消息。在Ubuntu 14.04中,如果没有看到终端提示符,请按Enter几次该键)。
使用命令行工具来自定义Ubuntu。
请注意,在自定义Ubuntu 17.10时,DNS查找可能无法在chroot环境中使用,并且apt
由于“名称或服务未知”错误而可能无法使用。这是因为链接/etc/resolv.conf
指向/run/systemd/resolve/stub-resolv.conf
。但是stub-resolv.conf
不存在。
要解决此问题,请在Cubic chroot终端窗口中执行以下命令...
ln -sr /run/systemd/resolve/resolv.conf /run/systemd/resolve/stub-resolv.conf
或尝试使用Ark74提出的这种方法。
mkdir /run/systemd/resolve/
echo "nameserver 127.0.1.1
search network" | tee /run/systemd/resolve/resolv.conf
ln -sr /run/systemd/resolve/resolv.conf /run/systemd/resolve/stub-resolv.conf
要验证DNS解析是否有效,请执行...
cat /etc/resolv.conf
ping google.com
以下是使用命令行自定义Ubuntu的一些示例...
您可以使用nano
文本编辑器来编辑文件。例如,要编辑源存储库列表,请键入
nano /etc/apt/sources.list
要退出nano
,请输入Ctrl-,X然后会提示您保存文件。要不保存文件,请键入N。要保存文件,请键入Y,然后按Enter接受默认文件名。
编辑源列表之后,请记住使用以下命令更新可用软件包的列表:
apt update
您可以apt
用来更新源和安装应用程序。例如,您可以安装其他Linux内核。
apt install linux-image-4.18.0-11-generic
您可以单击“后退”按钮来更改您在“新建项目”页面上输入的一些项目参数。如果退出该应用程序,则始终可以打开您的项目并继续在终止的终端页面上进行自定义。
您可以通过将文件或目录拖动到终端窗口中来将它们复制到当前目录中。您也可以使用右键单击上下文菜单复制文件。这上下文菜单中,您还可以复制和粘贴在终端文本(Ctrl- Shift- C和Ctrl- Shift- V将无法正常工作)。
这是将其他墙纸复制到您的自定义环境中的示例。
cd /usr/share/backgrounds
然后,只需将新墙纸拖到“立方”窗口上即可。
提示:确保将新墙纸列在XML文件中/usr/share/gnome-background-properties
,在用户右键单击其桌面时,它们将在“更改背景”对话框中列出。
请注意,Cubic GUI当前不支持通过网络复制文件,但是您可以在终端环境中使用rcp
或scp
命令。
完成更改后,单击“下一步”按钮。请记住,您可以随时返回该项目的终端环境,以在将来进行其他自定义。
在下一页上,您将看到两个选项卡。“ ISO Linux内核”选项卡显示了在chroot环境中可能已安装到自定义Linux系统的其他内核的列表。您可以选择使用其中一种作为新Live iso的启动内核。仅接受此页面上建议的默认设置是一个好主意。
(注意:在此页面上,您没有选择在自定义Linux系统中使用的内核,也没有选择在使用新的实时iso时将要安装到计算机上的内核;而是该内核用于增强您的新Live ISO)。
该软件包清单的所有包的标签列出安装在您定制的Linux系统。带有复选标记的软件包被标记为由“ Ubiquity live CD安装程序”自动删除。如果您不希望Ubiquity在安装定制的Linux系统后删除软件包,只需取消选中该软件包。
如果您的安装程序支持“ 典型”安装和“ 最小”安装,您将看到两列带有复选框。当您选择要用于典型安装的软件包时,该软件包也将被自动删除,以进行最小安装。
如果您的安装程序不支持“ 最小安装”,则您将看到一列带有“ 典型”安装复选框的复选框。选择要删除的程序包时要小心,因为其他相关程序包也可能会被删除,并且这些不会在列表中指出。
同样,最好只接受此页面上建议的默认值。
单击下一步按钮,Cubic将自动将您的自定义打包到一个新的*.iso
磁盘映像中。显示了每个步骤的进度和结果。请注意,Cubic使用最大程度的压缩,并且“压缩自定义Linux文件系统”步骤可能会花费很长时间,具体取决于您的系统硬件。(您可能需要打开系统监视器来跟踪此步骤中的CPU使用率)。
在此过程中的任何时候,您都可以单击“上一步”按钮立即返回chroot环境,并进行可能被忽略的其他更改或自定义。ISO_9660标准为最终生成的ISO映像强制设置最大4GiB的大小。如果ISO映像太大,则Cubic将向您显示错误,并且您需要返回并删除一些文件或软件包。
生成新的自定义磁盘映像后,Cubic还将生成一个MD5校验和文件,可用于验证您的自定义*.iso
文件。
单击完成按钮,将显示有关自定义磁盘映像的信息。
如果要删除所有正在运行的项目文件(为了节省磁盘空间),请选中“删除所有项目文件...”复选框。否则,您将来可以继续自定义此项目。
最后,使用您喜欢的磁盘刻录程序(例如Braseo)将*.iso
映像的副本刻录到CD或DVD,或者使用USB启动程序(例如Startup Disk Creator或mkusb)创建可启动的USB。
提示:如果要分发定制的Linux,则可以使用相应的MD5校验和文件来验证它是否已更改。例如,确保两个文件都在同一目录中,然后键入以下内容…
md5sum --check ubuntu-18.10.0-2018.11.09-desktop-amd64.md5
ubuntu-18.10.0-2018.11.09-desktop-amd64.iso: OK
做出改变
启动Cubic,然后在“简介”页上选择一个现有的项目目录。单击下一步按钮,将为您提供三个选项:
如果选择删除项目,则将删除所有项目工作文件。如果生成的*.iso
图像在项目目录中,则除非您手动移动它,否则它也会被删除。
只是添加到顶部的好答案。
为了使resolv.conf在17.10和18.04上对我有用(在撰写本文时),我使用以下命令:
mkdir /run/systemd/resolve/
echo "nameserver 127.0.1.1
search network" | tee /run/systemd/resolve/resolv.conf
ln -sr /run/systemd/resolve/resolv.conf /run/systemd/resolve/stub-resolv.conf
希望它对别人有帮助。