AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1091466
Accepted
Quamruz
Quamruz
Asked: 2018-11-10 08:39:06 +0800 CST2018-11-10 08:39:06 +0800 CST 2018-11-10 08:39:06 +0800 CST

使用自定义用户、文件和包创建自定义 Ubuntu 发行版 [重复]

  • 772
这个问题在这里已经有了答案:
如何自定义 Ubuntu Live CD? (17 个回答)
3年前关闭。

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

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

你能给我推荐一些最适合这项任务的软件吗?我也听说过 Cubic,但它可以用于创建用户和从源代码构建包吗?或者设置一台具有所有设置和软件包的机器,并使用一些工具(如 systemback 等)备份与 live CD 相同的备份,是否可以在不同的硬件上工作?

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

custom-distributions 16.04
  • 1 1 个回答
  • 2388 Views

1 个回答

  • Voted
  1. Best Answer
    Enterprise
    2018-11-10T21:33:37+08:002018-11-10T21:33:37+08:00

    这正是Cubic所做的......

    用户主目录

    在 Cubic 中,添加应该出现在目录内所有新用户主目录中的通用文件/etc/skel。每当创建新用户时,该位置的文件都会复制到新用户的主目录中。

    例如,如果您希望所有用户Temp在其主目录中都有一个空文件Temp夹,请在/etc/skel. 如果您希望所有用户对 Gimp 具有相同的配置,也请在此处添加。如果您希望所有用户都可以通过在 Nautilus 中右键单击来选择创建*.docx、*.pptx、*.xlsx或文件,只需在此处添加模板。*.txt

    这是一个示例布局/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
    

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

    用户默认设置

    设置默认用户首选项的更好方法是创建一个名为90_ubuntu-settings.gschema.override并将其放在/usr/share/glib-2.0/schemas/Cubic 目录中的文件。

    这是一个示例文件:

    [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']
    

    (您可以看到正确的键和值正在使用什么dconf-editor。此外,请查看有关如何将Gnome Tweaks 配置备份到文件的答案)。

    然后,使用以下命令编译此架构文件:

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

    所有用户都将具有您在 中指定的首选项90_ubuntu-settings.gschema.override。

    添加新用户

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

    adduser <user>
    

    新用户将继承您在 中所做的更改/etc/skel,并且他们将具有您在 中指定的默认设置 90_ubuntu-settings.gschema.override。

    安装应用程序

    除了使用安装应用程序之外apt,您还可以使用 安装下载的软件包dpkg -i <package>.deb。

    这是一个使用安装包的示例pip:

    apt install python3-pip
    pip3 install yapf
    

    这些包将在 Cubic 生成的 ISO 中提供。

    从源代码编译应用程序

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

    这是一个在 Cubic 中从源代码编译和自定义 Geany 的示例:

    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
    

    编译和安装的应用程序将在 Cubic 生成的 ISO 中可用。

    驱动程序

    如果要安装驱动程序,请务必安装dkms. 这是安装蓝牙和微码驱动程序的示例。我还成功地在 Cubic 中设置了 Nvidia 驱动程序。

    # 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
    

    另外,根据我的经验,如果要安装驱动程序,最好不要更改或更新内核 Cubic。这是因为 chroot 环境使用与主机相同的内核,因此有时会为该内核安装驱动程序。

    • 0

相关问题

  • 定制现场 CD 有哪些好的用途[关闭]

  • 如何从现有硬盘驱动器安装生成可安装映像

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve