使用自定义用户,文件和软件包创建自定义Ubuntu发行版[重复] -- 16.04 领域 和 custom-distributions 领域 askubuntu 相关 的问题

Creating Custom Ubuntu distrubution with custom users, files and packages [duplicate]


简体版||繁體版
-1
vote

问题

中文

我的要求是制作一个自定义Ubuntu 16.04.5版本,在该版本中,我要进行的自定义是添加两个不同的用户,这两个用户中的每个用户中都有一些新文件,以及一些新的软件包或驱动程序,我将使用apt安装或pip或将从源代码本身(例如OpenCV)进行构建。

该自定义操作系统预计将用于安装在不同的硬件上,这些硬件可能在主板,RAM和HDD / SSD方面有所不同。

您能建议我一些最适合此任务的软件吗? 我也听说过Cubic,但它可用于创建用户并从源代码构建软件包吗? 还是使用所有设置和软件包设置一台计算机,并使用诸如systemback等工具将Live CD备份为实时CD,可以跨不同的硬件工作?

编辑:这与其他任何问题都不重复,因为它在自定义Ubuntu中添加了用户,并且从未提及过任何答案。

英文原文

My requirement is to make a Custom Ubuntu 16.04.5 version in which the customization that i want is addition of two different users some new files in each of these two users and some new packages or drivers which i will either install with apt or pip or will build from source itself (like OpenCV).

This custom OS is expected to be used to installed on different hardwares which might vary in terms of motherboard, RAM and HDD/SSD.

Can you suggest me some software best suited for this task? I heard of Cubic also but will it works for creating users and building packages from source? Or Setting up one machine with all settings and packages and taking a backup of the same as live CD using some tools like systemback etc will work across different hardware?

Edit: This is not duplicate to any other question as it has addition of user in custom Ubuntu and no answers have ever mentioned it.

     
       
       

回答列表

0
 
vote
vote
最佳答案
 

这正是立方体的...

用户主目录

在立方体中,添加通用文件,应该出现在所有新用户的主目录中,内部 /etc/skel 目录。每当创建新用户时,将从此位置的文件复制到新用户的主目录中。

例如,如果您希望所有用户都有一个空 Temp 文件夹,请在 /etc/skel 中创建 Temp 文件夹。如果您希望所有用户都有相同的GIMP配置,请在此添加。如果您希望所有用户可以选择创建 *.docx *.pptx *.xlsx ,或 *.txt 文件 - 单击Nautilus,只需在此添加模板。

这是 /etc/skel ...

的示例布局
  /etc/skel ├── .bash_logout ├── .bashrc ├── .config ├── examples.desktop ├── .gimp-2.8 │   └── sessionrc ├── .kde │   └── share │       └── config │           └── kdeglobals ├── .profile ├── Temp ├── Templates │   ├── New Document.docx │   ├── New Presentation.pptx │   ├── New Spreadsheet.xlsx │   └── New Text File.txt └── .tlp     ├── Balanced     └── Power Save   

您可能会从正在运行的系统的主目录复制到此目录中的用户配置。但我会不是推荐这种方法,因为你必须非常小心不要复制用户特定文件。

用户默认设置

设置默认用户首选项的更好方法是创建一个名为 Temp0 的文件,并将其放入 abcdefghijklmnTemp1 目录中的立方。

这是一个示例文件:

  Temp2  

(您可以看到正确的键和值使用 abcdefghijklmn13 。此外,请查看如何备份您的GNOME调整配置文件)。

然后,使用以下方式编译此架构文件:

  Temp4  

所有用户都将拥有您在 Temp5 中指定的首选项。

添加新用户

要在立方中添加新用户,请为要创建的每个新用户使用以下命令:

  Temp6  

新用户将继承您在 Temp7 中所做的更改,并且它们将在 Temp8 中指定的默认设置。

安装应用程序

除了使用 Temp9 安装应用程序外,还可以使用 Temp0 安装下载的软件包。

以下是使用 Temp1

的一个示例
  Temp2  

这些包将在由立方体生成的ISO中提供。

编译来自源的应用程序

您还可以从源编译包。只需将源文件下载或复制到立方"。确保安装了所有必需的构建工具,并构建软件包。

此处是从源中编译和自定义Geany的示例,内部立方:

  Temp3  

编译和已安装的应用程序将在由立方体生成的ISO中提供。

驱动程序

如果要安装驱动程序,请务必安装 Temp4 。以下是安装蓝牙的示例是Microcode驱动程序。我也成功地在立方体中设置了NVIDIA驱动程序。

  Temp5  
此外,在我的经验中,如果您要安装驱动程序,则是一个好主意改变或更新内核立方体。这是因为Chroot环境使用与主机相同的内核,所以有时,驱动程序已安装该内核。
 

This is exactly what Cubic does...

User Home Directory

In Cubic, add generic files, that should appear in all new user's home directories, inside the /etc/skel directory. Whenever a new user is created, files from this location are copied into the new user's home directory.

For example, if you want all users to have an empty Temp folder inside thir home directory, create a Temp folder inside /etc/skel. If you want all users to have the same configuration for Gimp, add it here as well. If you want all users to have the option to create *.docx, *.pptx, *.xlsx, or *.txt files by right-clicking in Nautilus, simply add the templates here.

Here is an example layout for /etc/skel...

/etc/skel xe2x94x9cxe2x94x80xe2x94x80 .bash_logout xe2x94x9cxe2x94x80xe2x94x80 .bashrc xe2x94x9cxe2x94x80xe2x94x80 .config xe2x94x9cxe2x94x80xe2x94x80 examples.desktop xe2x94x9cxe2x94x80xe2x94x80 .gimp-2.8 xe2x94x82xc2xa0xc2xa0 xe2x94x94xe2x94x80xe2x94x80 sessionrc xe2x94x9cxe2x94x80xe2x94x80 .kde xe2x94x82xc2xa0xc2xa0 xe2x94x94xe2x94x80xe2x94x80 share xe2x94x82xc2xa0xc2xa0     xe2x94x94xe2x94x80xe2x94x80 config xe2x94x82xc2xa0xc2xa0         xe2x94x94xe2x94x80xe2x94x80 kdeglobals xe2x94x9cxe2x94x80xe2x94x80 .profile xe2x94x9cxe2x94x80xe2x94x80 Temp xe2x94x9cxe2x94x80xe2x94x80 Templates xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 New Document.docx xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 New Presentation.pptx xe2x94x82xc2xa0xc2xa0 xe2x94x9cxe2x94x80xe2x94x80 New Spreadsheet.xlsx xe2x94x82xc2xa0xc2xa0 xe2x94x94xe2x94x80xe2x94x80 New Text File.txt xe2x94x94xe2x94x80xe2x94x80 .tlp     xe2x94x9cxe2x94x80xe2x94x80 Balanced     xe2x94x94xe2x94x80xe2x94x80 Power Save 

You could potentially copy user configurations from the home directory of a running system into this directory. But I would not recommend that approach, since you have to be very careful not to copy user specific files.

User Default Settings

A better way to setup default user preferences is to create a file called 90_ubuntu-settings.gschema.override and place it in /usr/share/glib-2.0/schemas/ directory in Cubic.

Here is an example file:

[org.gnome.desktop.background] picture-uri = 'file:///usr/share/backgrounds/warty-final-ubuntu.png' show-desktop-icons = false  [org.gnome.desktop.screensaver] picture-uri = 'file:///usr/share/backgrounds/warty-final-ubuntu.png'  [org.gnome.desktop.wm.preferences] button-layout = 'close,minimize,maximize:appmenu' titlebar-font = 'Roboto Regular 10'  [org.gnome.desktop.interface] document-font-name = 'Roboto Regular 10' font-name = 'Roboto Regular 10'  [org.gnome.shell] favorite-apps = ['ubiquity.desktop', 'firefox.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.gedit.desktop', 'org.gnome.Terminal.desktop', 'meld.desktop', 'libreoffice-writer.desktop', 'libreoffice-calc.desktop', 'org.gnome.Calculator.desktop', 'org.gnome.Screenshot.desktop', 'gnome-system-monitor.desktop'] 

(You can see what the correct keys and values are using dconf-editor. Also, look at this answer on how to backup your Gnome Tweaks configuration to a file).

Then, compile this schema file using:

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

All users will have the preferences you specified in 90_ubuntu-settings.gschema.override.

Adding New Users

To add new users, in Cubic, use the following command for each new user you want to create:

adduser <user> 

The new users will inherit the changes you made in /etc/skel, and they will have the default settings you specified in 90_ubuntu-settings.gschema.override.

Installing Applications

In addition to installing applications using apt, you can also install downloaded packages using dpkg -i <package>.deb.

Here is an example installing a package using pip:

apt install python3-pip pip3 install yapf 

These packages will be available in the ISO generated by Cubic.

Compiling Applications from Source

You can also compile packages from source. Just download or copy the source files into Cubic. Make sure you have all required build tools installed, and build your packages.

Here is an example to compile and customize Geany from source, inside Cubic:

apt install debhelper fakeroot build-essential cmake git automake autoconf libtool intltool libgtk-3-dev docutils-common mkdir ~/Customize cd ~/Customize git clone https://github.com/geany/geany.git cd geany sed -i 's|FT_00_CM=python |FT_00_CM=python3.6 |g' ./data/filedefs/filetypes.python sed -i 's|EX_00_CM=python |EX_00_CM=python3.6 |g' ./data/filedefs/filetypes.python ./autogen.sh --enable-gtk3 --disable-html-docs --prefix=/usr ./configure --enable-gtk3 --disable-html-docs --prefix=/usr make make install git clone https://github.com/codebrainz/geany-themes.git cp ./geany-themes/colorschemes/*.conf /usr/share/geany/colorschemes/ chmod -x /usr/share/geany/colorschemes/*.conf 

The compiled and installed applications will be available in the ISO generated by Cubic.

Drivers

If you are installing drivers, be sure to install dkms. Here is an example installing bluetooth an microcode drivers. I've also been successful setting up Nvidia drivers in Cubic.

# Dynamic Kernel Module Support Framework apt intall dkms  # Broadcom 802.11 Linux STA wireless driver source apt intall bcmwl-kernel-source   # intel-microcode - Processor microcode firmware for Intel CPUs # iucode-tool - Intel processor microcode tool apt intall intel-microcode iucode-tool 

Also, in my experience, it is a good idea to not change or update the kernel Cubic if you are going to install drivers. This is because the chroot environment uses the same kernel as your host machine, so, sometimes, the drivers are installed for that kernel.

 
 

相关问题

62  如何自定义Ubuntu启动徽标?  ( How can i customize the ubuntu boot up logo ) 
我正在自定义发行版,并且对启动时显示5个点的Ubuntu徽标有疑问。 requirements.txt8 文件夹中的 requirements.txt7 包含单词Ubuntu,在其下的5个递增的"点" 下方。是否可以删除进度条上的点,而是用逐渐变暗的全彩色徽标替换为褪色的Ubuntu徽标? ...

3  如何使用remastersys定制Xubuntu?  ( How to customize xubuntu with remastersys ) 
我一直在尝试制作自己的基于xubuntu的自定义发行版。我以为我了解如何导入设置和功能以及如何使用remastersys重新打包,但显然不是。 功能之一涉及删除xfce4-panel并用cairo-dock(具有我自己的主题)替换,但是对于每个ISO,它总是问我如何配置xfce4-panel,而忘记了自动启动cair...

214  如何自定义Ubuntu Live CD?  ( How to customize the ubuntu live cd ) 
我想通过安装一些其他软件包来自定义Ubuntu live CD。我遵循了此,但是它似乎不起作用。谁能提供清晰的说明? 注意:我不喜欢Remastersys,将不胜感激。 自定义 我要安装的软件包: 雷鸟 桑巴 SSH 我需要进行的更改: 从"应用程序" 菜单中删除"游戏" 菜单 台式机上的Firefox...

5  哪里可以下载专为预安装系统(OEM)设计的特殊Ubuntu映像?  ( Where to download special ubuntu images designed for pre installed systems oem ) 
背景 我的Lenovo X250将在两周内到货,根据 Ubuntu认证硬件< / a>仅适用于"制造商预先安装的特殊映像" 。 这位Linux系统卖方指出X250具有" " 与他们安装的Linux操作系统的兼容性。另一方面,可以在 Google 或询问Ubuntu 表明,X250上的标准Ubuntu映像充斥着硬件问...

1  安装后运行脚本  ( Run scripts after installation ) 
我必须运行命令(安装Windows文件系统。计算机是双启动系统)。如果已经安装了Ubuntu,则可以转到/ etc并编辑 rc.local 并将安装命令放在此处。因此,下一次我的Ubuntu启动时,它将执行这些命令并挂载Windows文件。但是我的问题是,目前尚未安装Ubuntu。我想在首次安装Ubuntu时自动运行...

0  如何将操作系统名称从Kubuntu 20.04更改为其他名称?  ( How can i change the os name from kubuntu 20 04 to something else ) 
我刚安装了Kubuntu 20.04,所以可以发行了。一个问题,我不知道如何更改操作系统名称或徽标。当有人进入系统信息时,我希望它说" uniOS" 而不是Kubuntu。我希望徽标成为我自己的徽标。 ...

13  命名自己的自定义发行版时,我需要在哪里更改“ Ubuntu”?  ( Where do i need to change ubuntu when naming my own custom distribution ) 
我正在建立自己的发行版(我差不多完成了),但是剩下的就是它的名字了。因为我不确定将其命名为" ubuntu" 我知道我将不得不更改以下文件 / etc / lsb-release / etc / issue 更改为我自己的名称,版本和代码名称。我还缺少其他文件吗? (在我的网站上,它显示它是ubunt...

1  添加了使用Cubic修改后的Ubuntu中缺少的软件包  ( Added packages missing in the modified ubuntu with cubic ) 
我经常在新系统上安装Ubuntu,并且总是必须安装某些但相同的软件包,因此我进行了搜索,似乎可以使用Cubic解决这个确切的问题。 因此,我遵循了这里,在chroot中,我安装了apache2(并确保已正确安装),然后继续创建修改后的ISO。在建议"删除" 软件包的典型或最小模式的部分中,我没有检查apache2软件...

4  您如何将定制的ubuntu安装转换为发行版?  ( How do you convert a customized ubuntu installation into a distro ) 
我一直在考虑制作Linux发行版(只是一种业余爱好,不会像Ubuntu那样大而专业),以便获得一些乐趣并获得知识。我正在考虑从Mate桌面环境(我将高度定制)开始,并以Ubuntu为基础。我还将创建一个自己的主题,从头开始绘制(窗口边框,背景设置,图标,鼠标,菜单栏,按钮等... 除了Ubuntu软件中心外,它将仅...

3  如何在ubuntu-builder中将gnome-shell设置为默认GUI?  ( How to make gnome shell the default gui in ubuntu builder ) 
我正在使用Ubuntu构建器制作自己的发行版,并且希望将Gnome-shell用作主要的GUI。我尝试了许多操作,例如删除Unity并使用GDM以及其他很多操作,但是我不断收到一条消息"无法加载会话'ubuntu'" 。我也在使用Ubuntu 12.04 我也尝试过如何将完整的GNOME桌面安装在尽可能靠近上游的位...

4  创建Ubuntu设备的方法  ( Approach to creating an ubuntu appliance ) 
我正在使用最新的Desktop Ubuntu Narwhal作为冗余负载平衡器。此设置还需要keepalived和Crossroads XR。 这很好用,但是现在我想把它作为一种设备来生产,以便于部署。 满足此要求的正确方法是什么? ...

0  更改Kubuntu安装过程  ( Change the kubuntu installation process ) 
当我第一次开始将来的重新分发(添加徽标,服务等...)时,我想修改安装过程(安装Kubuntu)! 怎么办? ...

2  如何在Ubuntu安装中设置预安装的应用程序?  ( How to set pre installed applications in an ubuntu installation ) 
是否可以通过所有常用程序或预定义程序安装Ubuntu? 例如: Blender,Gimp,VLC,Firezila 我必须安装Ubuntu几次,并且像预设安装一样。 ...

2  如何从现有的硬盘驱动器安装中生成可安装的映像  ( How to generate an installable image from an existing hard drive installation ) 
我在备用计算机上安装了Kubuntu,现在正在配置它以满足标准用户的需要。我的目标是将其安装在4台很少使用的PC上,以供他们玩耍,甚至可以将其放在自己的计算机上。 我希望每台计算机上都有一些相同的东西(例如Thunderbird而不是Evolution,用户的邮件收发服务器),以及需要在每台计算机上自定义的东西,例如...

1  照原样复制系统  ( Replicate a system as is ) 
我如何原样复制系统。 我已经从最小的iso安装了ubuntu ... 我将其保持在最低水平 现在我正在使用UCK来定制现场CD 无论如何,我是否可以按原样复制已安装的系统? 即安装已安装的应用程序,并删除尚未安装/删除的应用程序 我尝试使用突触并保存标记全状态的方式,当我在自定义时读取它时,它不会删除我已删除的应...

5  如何用自己的品牌替换Ubuntu品牌?  ( How can i replace ubuntu branding with my own ) 
如何用自己的品牌替换Ubuntu品牌? 需要替换哪些文件? ...

2  在KinfoCenter中更改分发徽标  ( Change distribution logo in kinfocenter ) 
我正在尝试制作一个运行KDE Desktop的基于Ubuntu的发行版。我希望使用我自己发行版的徽标来修改Kinfocenter中显示的徽标。但是我在/ etc中找不到kinfocenter的脚本,并且我一直试图在不同的地方找到很多脚本,但是找不到。我也下载了资源,但找不到。我正在使用Plasma 5.10.4。有人...

7  如何真正自定义“ ubuntu-11.04-alternate-amd64.iso”映像?  ( How to really customize an ubuntu 11 04 alternate amd64 iso image ) 
我有一个梦想:),我想自定义一个" ubuntu-11.04-alternate-amd64.iso" 图像。最佳的软件/解决方案是什么? 我想自定义这些内容(所有这些都是必需的): 定制的软件包列表:我不需要默认安​​装附带的所有软件包,但是我有一些多数民众赞成在没有inc。的情况。在国防部。安装。 GU...

1  如何删除所有Ubuntu品牌和徽标以进行新发行?  ( How do i remove all ubuntu branding and logos for a new distribution ) 
我目前正在开发Ubuntu的修改版,目前正在考虑在线分发。根据Ubuntu知识产权政策( https:// www .ubuntu.com / legal / terms-and-policies / intellectual-property-policy ),我需要删除已完成软件中所有提及Ubuntu的内容,并"...

0  Scratch的Live CD-无vmlinuz * / initrd.img *  ( Live cd from scratch no vmlinuz initrd img ) 
遵循本指南: https://help.ubuntu.com/community/LiveCDCustomizationFromScratch 询问时: cp chroot / boot / vmlinuz-2.6。--通用映像/ casper / vmlinuz cp chroot / boot /...

1  测试自定义基于Ubuntu的发行版时Apt CD错误  ( Apt cd error while testing custom ubuntu based distro ) 
我想混合使用Ubuntu,既可以实时运行,又可以选择安装。我正在使用从头开始进行Live CD定制和 Live CD定制。我在 live-build (4.0.5-1)脚本的 ubuntu 模式下也取得了一些成功,但是我无法获得安装选项。我想从头开始,所以我不想使用 uck 。 我在尝试安装发行版时遇到了一些问题。 ...

0  如何使ubuntu 11.10使用更少的内存和处理器?  ( How can i make my ubuntu 11 10 use less of my memory and processor ) 
我有一台装有Celeron 1.6 GHz处理器和512 MB DDR2 RAM的计算机,我喜欢这种Linux发行版,所以我想知道是否有某种方法或程序可以使Ubuntu更轻便 ...

14  我可以从清单构建Ubuntu ISO吗?  ( Can i build a ubuntu iso from a manifest ) 
此答案讨论了ISO清单-一个示例在这里。。 是否可以从清单文件构建ISO,或者清单文件仅仅是 dpkg --get-selections 放到文本文件中吗? 相关,排序方式: 如何制作自己的自定义Ubuntu版本? 如何自定义Ubuntu Live CD? ...

1  LiveISO的制作方式是什么?  ( What is the way that liveisos are made ) 
Ubuntu ISO的每次自定义都谈到重用现有的LiveISO。 但是首先如何构建LiveISO?我怀疑他们是否根据以前的版本进行了递归构建。 我一直在尝试使用LiveBuild(Debian Builder,可以在ubuntu仓库中找到它),但我不断收到错误消息(例如" E:未对存储库'file:/ root /...

13  OEM安装和自定义Ubuntu映像之间的区别  ( Difference between oem install and custom ubuntu image ) 
我正在研究部署自定义Ubuntu映像的最佳方法,看来我有两个选择: 进行" OEM安装" 版本。 制作自定义Ubuntu映像。 有人可以帮助我了解这两种自定义Ubuntu安装的方法之间的区别吗?在我看来,这两种方法都可以对图像进行精细的自定义,同时允许用户输入自己的最终用户详细信息(时区,用户名,密码等)。 ...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有