На этот вопрос уже есть ответ:
Мое требование - создать версию Custom Ubuntu 16.04.5, в которой я хочу добавить для двух разных пользователей новые файлы для каждого из этих двух пользователей и несколько новых пакетов или драйверов, которые я буду либо установите с помощью apt или pip, либо создайте из самого источника (например, OpenCV).
Предполагается, что эта специальная ОС будет использоваться для установки на различное оборудование, которое может различаться с точки зрения материнской платы, ОЗУ и HDD / SSD.
Не могли бы вы предложить мне какое-нибудь программное обеспечение, лучше всего подходящее для этой задачи? Я тоже слышал о Cubic, но подойдет ли он для создания пользователей и сборки пакетов из исходного кода? Или установка одной машины со всеми настройками и пакетами и создание резервной копии того же самого, что и live CD, с использованием некоторых инструментов, таких как systemback и т. Д., Будет работать на разном оборудовании?
Редактировать: Это не дублирует любой другой вопрос, так как в него добавлен пользователь в настраиваемой Ubuntu, и ни в одном ответе об этом не упоминалось.
Это точно, что Кубический делает...
В Кубическом добавьте универсальные файлы, которые должны появиться в корневых каталогах всего нового пользователя, в /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 среда использует то же ядро в качестве Вашей хост-машины, таким образом, иногда, драйверы установлены для того ядра.