Создание пользовательского дистрибутива Ubuntu с пользовательскими пользователями, файлами и пакетами [дубликат]

На этот вопрос уже есть ответ:

Мое требование - создать версию Custom Ubuntu 16.04.5, в которой я хочу добавить для двух разных пользователей новые файлы для каждого из этих двух пользователей и несколько новых пакетов или драйверов, которые я буду либо установите с помощью apt или pip, либо создайте из самого источника (например, OpenCV).

Предполагается, что эта специальная ОС будет использоваться для установки на различное оборудование, которое может различаться с точки зрения материнской платы, ОЗУ и HDD / SSD.

Не могли бы вы предложить мне какое-нибудь программное обеспечение, лучше всего подходящее для этой задачи? Я тоже слышал о Cubic, но подойдет ли он для создания пользователей и сборки пакетов из исходного кода? Или установка одной машины со всеми настройками и пакетами и создание резервной копии того же самого, что и live CD, с использованием некоторых инструментов, таких как systemback и т. Д., Будет работать на разном оборудовании?

Редактировать: Это не дублирует любой другой вопрос, так как в него добавлен пользователь в настраиваемой Ubuntu, и ни в одном ответе об этом не упоминалось.

-1
задан 9 November 2018 в 21:21

1 ответ

Это точно, что Кубический делает...

Пользовательский корневой каталог

В Кубическом добавьте универсальные файлы, которые должны появиться в корневых каталогах всего нового пользователя, в /etc/skel каталог. Каждый раз, когда новый пользователь создается, файлы от этого местоположения копируются в корневой каталог нового пользователя.

Например, если Вы хотите, чтобы у всех пользователей было пустое Temp папка в их корневом каталоге, создайте a Temp папка внутри /etc/skel. Если Вы хотите, чтобы у всех пользователей была та же конфигурация для Калеки, добавьте его здесь также. Если Вы хотите, чтобы у всех пользователей была опция создать *.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/ каталог в Кубическом.

Вот файл в качестве примера:

[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 в файл).

Затем скомпилируйте это использование файла схемы:

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

У всех пользователей будут предпочтения, в которых Вы указали 90_ubuntu-settings.gschema.override.

Добавление новых пользователей

Для добавления новых пользователей, в Кубическом, используют следующую команду для каждого нового пользователя, которого Вы хотите создать:

adduser <user>

Новые пользователи наследуют изменения, в которых Вы внесли /etc/skel, и у них будут настройки по умолчанию, в которых Вы указали 90_ubuntu-settings.gschema.override.

Устанавливание приложений

В дополнение к установке использования приложений apt, можно также установить загруженное использование пакетов dpkg -i <package>.deb.

Вот пример, устанавливающий использование пакета pip:

apt install python3-pip
pip3 install yapf

Эти пакеты будут доступны в ISO, сгенерированном Кубическим.

Компиляция приложений из источника

Можно также скомпилировать пакеты из источника. Просто загрузите или скопируйте исходные файлы в Кубический. Удостоверьтесь, что Вы все потребовали инструментов сборки, установленных, и создаете Ваши пакеты.

Вот пример, чтобы скомпилировать и настроить 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

Скомпилированные и установленные приложения будут доступны в ISO, сгенерированном Кубическим.

Драйверы

Если Вы устанавливаете драйверы, несомненно, установят dkms. Вот является Bluetooth установки в качестве примера микрокодом драйверы. Я также был успешной установкой драйверов 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

Кроме того, по моему опыту, это - хорошая идея не изменить или обновить ядро, Кубическое, если Вы собираетесь установить драйверы. Это вызвано тем, что chroot среда использует то же ядро в качестве Вашей хост-машины, таким образом, иногда, драйверы установлены для того ядра.

0
ответ дан 27 October 2019 в 04:46

Другие вопросы по тегам:

Похожие вопросы: