Difference between revisions of "Build Manjaro ISOs with buildiso/ru"
Views
Actions
Namespaces
Variants
Tools
(Created page with "{{UserCmdOutput|command=tree ~/iso-profiles/manjaro/xfce/desktop-overlay/etc|result= <pre> ../iso-profiles/manjaro/xfce/desktop-overlay/ ├── etc │ ├── fonts...") |
|||
(82 intermediate revisions by 2 users not shown) | |||
Line 27: | Line 27: | ||
{{UserCmd|command=ls -l ~/iso-profiles/manjaro/xfce}} | {{UserCmd|command=ls -l ~/iso-profiles/manjaro/xfce}} | ||
Давайте подробнее рассмотрим каталог профиля XFCE ( | Давайте подробнее рассмотрим каталог профиля XFCE (отмечен выше): | ||
'''desktop-overlay''' | '''desktop-overlay''' | ||
Line 84: | Line 84: | ||
После успешной установки ISO все файлы и каталоги из ''desktop-overlay'' копируются на установленную систему. Сюда входят файлы настроек/конфигурации, а также темы и фоны/картинки. | После успешной установки ISO все файлы и каталоги из ''desktop-overlay'' копируются на установленную систему. Сюда входят файлы настроек/конфигурации, а также темы и фоны/картинки. | ||
Все файлы и каталоги, находящиеся здесь, будут скопированы в домашний каталог. Большинство скрытых файлов и их структура в ~/iso-profiles/manjaro/xfce/desktop-overlay/etc/skel/ должны быть вам уже знакомы, поскольку ваша домашняя директория выглядит очень похоже. | Все файлы и каталоги, находящиеся здесь, будут скопированы в домашний каталог. Большинство скрытых файлов и их структура в <code>~/iso-profiles/manjaro/xfce/desktop-overlay/etc/skel/</code> должны быть вам уже знакомы, поскольку ваша домашняя директория выглядит очень похоже. | ||
===Клонирование пользовательских обоев рабочего стола=== | ===Клонирование пользовательских обоев рабочего стола=== | ||
Line 94: | Line 94: | ||
Измените все каталоги изображений на те, в которых находились ваши пользовательские обои. Например: | Измените все каталоги изображений на те, в которых находились ваши пользовательские обои. Например: | ||
/usr/share/backgrounds/<ВАШЕ ИЗОБРАЖЕНИЕ ЗДЕСЬ> | |||
===Пример=== | ===Пример=== | ||
Line 141: | Line 139: | ||
</div> | </div> | ||
Перейдите в эту директорию: | |||
{{UserCmd|command=cd ~/iso-profiles/manjaro/xfce/desktop-overlay/}} | {{UserCmd|command=cd ~/iso-profiles/manjaro/xfce/desktop-overlay/}} | ||
Затем создайте каталог <code>usr/share/backgrounds</code> и поместите в него свои пользовательские обои. | |||
{{UserCmd|command=mkdir ./usr/share/backgrounds}} | {{UserCmd|command=mkdir ./usr/share/backgrounds}} | ||
{{UserCmd|command=cp ~/Pictures/Wallpapers/your-wallpaper.png ~/iso-profiles/manjaro/xfce/desktop-overlay/usr/share/backgrounds}} | {{UserCmd|command=cp ~/Pictures/Wallpapers/your-wallpaper.png ~/iso-profiles/manjaro/xfce/desktop-overlay/usr/share/backgrounds}} | ||
===profile.conf=== | ===profile.conf=== | ||
<div class="toccolours mw-collapsible mw-collapsed"> | <div class="toccolours mw-collapsible mw-collapsed"> | ||
<span style="color:green"> | <span style="color:green">Полное содержание примера profile.conf можно посмотреть, развернув этот блок. Всегда лучше использовать последнюю версию, а не копировать эту.</span> | ||
<div class="mw-collapsible-content"> | <div class="mw-collapsible-content"> | ||
<pre> | <pre> | ||
########################################## | ########################################## | ||
##### | ##### используйте этот файл в профиле #### | ||
########################################## | ########################################## | ||
# использовать пакеты multilib; только x86_64 | |||
# | |||
# multilib="true" | # multilib="true" | ||
displaymanager="lightdm" | displaymanager="lightdm" | ||
# Установите false для отключения автологина в livecd | |||
# | |||
# autologin="true" | # autologin="true" | ||
# несвободные драйверы mhwd | |||
# | |||
# nonfree_mhwd="true" | # nonfree_mhwd="true" | ||
# использовать пакеты extra, определенные в pkglist, для активации полного профиля | |||
# | |||
#extra="true" | #extra="true" | ||
################ установка ############### | |||
################ | |||
# сбросить значение по умолчанию на заданное значение | |||
# | |||
# efi_boot_loader="grub" | # efi_boot_loader="grub" | ||
# настроить calamares для netinstall | |||
# | |||
# netinstall="false" | # netinstall="false" | ||
# настроить calamares на использование chrootcfg вместо unpackfs | |||
# | |||
# chrootcfg="false" | # chrootcfg="false" | ||
# использовать geoip для локализации | |||
# | |||
# geoip='true' | # geoip='true' | ||
# снимите значения по умолчанию с заданных значений | |||
# | # имена должны совпадать с именами служб systemd | ||
# | |||
enable_systemd=('avahi-daemon' 'bluetooth' 'cronie' 'ModemManager' 'NetworkManager' 'org.cups.cupsd' 'tlp' 'tlp-sleep' 'ufw') | enable_systemd=('avahi-daemon' 'bluetooth' 'cronie' 'ModemManager' 'NetworkManager' 'org.cups.cupsd' 'tlp' 'tlp-sleep' 'ufw') | ||
disable_systemd=('pacman-init') | disable_systemd=('pacman-init') | ||
# снимите значения по умолчанию с заданных значений, | |||
# | # имена должны совпадать с именами служб openrc | ||
# | |||
# enable_openrc=('acpid' 'bluetooth' 'elogind' 'cronie' 'cupsd' 'dbus' 'syslog-ng' 'NetworkManager') | # enable_openrc=('acpid' 'bluetooth' 'elogind' 'cronie' 'cupsd' 'dbus' 'syslog-ng' 'NetworkManager') | ||
# disable_openrc=() | # disable_openrc=() | ||
# то же имя рабочей группы, если используется samba | |||
# | |||
# smb_workgroup="" | # smb_workgroup="" | ||
################# livecd ################# | ################# livecd ################# | ||
# незаданное по умолчанию принимает данное значение | |||
# | |||
# hostname="manjaro" | # hostname="manjaro" | ||
# незаданное по умолчанию принимает данное значение | |||
# | |||
# username="manjaro" | # username="manjaro" | ||
# незаданное по умолчанию принимает данное значение | |||
# | |||
# password="manjaro" | # password="manjaro" | ||
# оболочка входа в систему | |||
# | # по-умолчанию bash | ||
# | |||
# login_shell=/bin/bash | # login_shell=/bin/bash | ||
# незаданное по умолчанию принимает данное значение | |||
# | |||
# addgroups="lp,network,power,wheel" | # addgroups="lp,network,power,wheel" | ||
# незаданное по умолчанию принимает данное значение | |||
# | # имена должны совпадать с именами служб systemd | ||
# | |||
# services in enable_systemd array don't need to be listed here | # services in enable_systemd array don't need to be listed here | ||
# enable_systemd_live=('manjaro-live' 'mhwd-live' 'pacman-init' 'mirrors-live') | # enable_systemd_live=('manjaro-live' 'mhwd-live' 'pacman-init' 'mirrors-live') | ||
# обнулить значения по умолчанию с заданных значений, | |||
# | # имена должны совпадать с именами служб openrc | ||
# | # службы в массиве enable_openrc не обязательно должны быть перечислены здесь | ||
# | |||
# enable_openrc_live=('manjaro-live' 'mhwd-live' 'pacman-init' 'mirrors-live') | # enable_openrc_live=('manjaro-live' 'mhwd-live' 'pacman-init' 'mirrors-live') | ||
</pre> | </pre> | ||
</div> | </div> | ||
</div> | </div> | ||
Этот файл конфигурации содержит опции настройки. Все настройки по умолчанию закомментированы. Если вы хотите их изменить - раскомментируйте (уберите символ <code>#</code> перед ними) и измените их. | |||
Заслуживают внимания следующие параметры: | |||
* <code>multilib=</code> настройка относится к флагу <code>>multilib</code> в списках пакетов. multilib будет устанавливать основные 32-битные библиотеки на 64-битных системах. Это повышает совместимость 32-разрядных приложений на 64-разрядных системах. | |||
* <code>multilib=</code> | * <code>displaymanager=</code> устанавливает менеджер дисплея / входа, который использует ваша система. Вам также необходимо указать менеджер дисплея в списке пакетов. | ||
* <code>displaymanager=</code> | * <code>nonfree_xorg=</code> относится к проприетарным графическим драйверам. | ||
* <code>nonfree_xorg=</code> | * <code>netinstall=</code>: не используйте | ||
* <code>netinstall=</code>: | * <code>chrootcfg=</code>: не используйте | ||
* <code>chrootcfg=</code>: | * <code>kernel=</code> позволяет задействовать установленное ядро. Не включайте никакие ядра в список пакетов! Эта настройка - все, что вам нужно. | ||
* <code>kernel=</code> | * <code>enable_systemd=</code> позволяет задать службы systemd, запускаемые на установленной системе (и с аналогичными настройками на livecd). | ||
* <code>enable_systemd=</code> | * <code>enable_openrc=</code>: не используйте | ||
* <code>enable_openrc=</code>: | |||
===Packages-Desktop=== | ===Packages-Desktop=== | ||
<div class="toccolours mw-collapsible mw-collapsed"> | <div class="toccolours mw-collapsible mw-collapsed"> | ||
<span style="color:green"> | <span style="color:green">Пример файла `Packages-Desktop` можно посмотреть, развернув этот блок. Всегда лучше использовать последнюю версию, а не копировать эту.</span> | ||
<div class="mw-collapsible-content"> | <div class="mw-collapsible-content"> | ||
<pre> | <pre> | ||
## | ## Сеть | ||
avahi | avahi | ||
networkmanager | networkmanager | ||
Line 313: | Line 254: | ||
networkmanager-pptp | networkmanager-pptp | ||
networkmanager-vpnc | networkmanager-vpnc | ||
nss-mdns # NSS | nss-mdns # Поддержка NSS для mDNS (зависимость для avahi) | ||
ntp | ntp | ||
mobile-broadband-provider-info | mobile-broadband-provider-info | ||
Line 321: | Line 262: | ||
samba | samba | ||
usb_modeswitch | usb_modeswitch | ||
## Библиотеки для звука/аудио/видео | |||
## | |||
alsa-firmware | alsa-firmware | ||
alsa-utils | alsa-utils | ||
Line 339: | Line 278: | ||
pulseaudio-ctl | pulseaudio-ctl | ||
pulseaudio-zeroconf | pulseaudio-zeroconf | ||
## Пакеты подключения | |||
## | |||
android-tools | android-tools | ||
android-udev | android-udev | ||
Line 354: | Line 291: | ||
udiskie | udiskie | ||
udisks2 | udisks2 | ||
## Поддержка/разработка AUR | |||
## AUR | # Отсутствующие пакеты base-devel | ||
# | |||
autoconf | autoconf | ||
automake | automake | ||
Line 374: | Line 309: | ||
pkg-config | pkg-config | ||
>multilib lib32-flex | >multilib lib32-flex | ||
# | # Пакеты extra для поддержки AUR | ||
>extra git | >extra git | ||
>extra patchutils | >extra patchutils | ||
>extra subversion | >extra subversion | ||
## Шрифты | |||
## | |||
cantarell-fonts | cantarell-fonts | ||
# noto-fonts # | # noto-fonts # шрифт по-умолчанию | ||
# noto-fonts-cjk # | # noto-fonts-cjk # большой пакет, сжат до ~76 МБ | ||
# >extra noto-fonts-emoji | # >extra noto-fonts-emoji | ||
terminus-font | terminus-font | ||
ttf-bitstream-vera # xfce4-terminal | ttf-bitstream-vera # xfce4-terminal по-умолчанию моноширинный | ||
# ttf-dejavu # | # ttf-dejavu # установлен как зависимость для gnome-themes-standard | ||
>extra ttf-inconsolata | >extra ttf-inconsolata | ||
>extra ttf-indic-otf | >extra ttf-indic-otf | ||
>extra ttf-liberation | >extra ttf-liberation | ||
>extra ttf-droid | >extra ttf-droid | ||
## Игры | |||
## | |||
>extra steam-manjaro | >extra steam-manjaro | ||
## Менеджеры пакетов | |||
## | |||
pamac | pamac | ||
flatpak | flatpak | ||
## Java | ## Java | ||
>extra jdk8-openjdk | >extra jdk8-openjdk | ||
>extra jre8-openjdk-headless | >extra jre8-openjdk-headless | ||
>extra jre8-openjdk | >extra jre8-openjdk | ||
## Печать | |||
## | |||
>extra cups | >extra cups | ||
>extra cups-pdf | >extra cups-pdf | ||
Line 424: | Line 349: | ||
>extra splix | >extra splix | ||
>extra system-config-printer | >extra system-config-printer | ||
## Необязательные зависимости для hplip | |||
## | >extra pyqt5-common # для hplip | ||
>extra pyqt5-common # | >extra python-pillow # для hplip | ||
>extra python-pillow # | >extra python-pip # для hplip | ||
>extra python-pip # | >extra python-pyqt5 # для hplip gui | ||
>extra python-pyqt5 # | >extra python-reportlab # для hplip | ||
>extra python-reportlab # | |||
## Менеджеры дисплея | |||
## | |||
lightdm | lightdm | ||
lightdm-gtk-greeter | lightdm-gtk-greeter | ||
lightdm-gtk-greeter-settings | lightdm-gtk-greeter-settings | ||
accountsservice # | accountsservice # Улучшенная работа с учетными записями пользователей | ||
## GTK3 | ## GTK3 | ||
gtk3-classic | gtk3-classic | ||
>multilib lib32-gtk3-classic | >multilib lib32-gtk3-classic | ||
## Группа XFCE | |||
## XFCE | |||
exo-gtk3 | exo-gtk3 | ||
garcon-gtk3 | garcon-gtk3 | ||
Line 465: | Line 382: | ||
xfdesktop-gtk3 | xfdesktop-gtk3 | ||
xfwm4-gtk3 | xfwm4-gtk3 | ||
## Extra XFCE | |||
## XFCE | |||
blueman | blueman | ||
ffmpegthumbnailer # tumbler - | ffmpegthumbnailer # tumbler - для эскизов видео | ||
freetype2 # tumbler - | freetype2 # tumbler - для эскизов шрифтов | ||
gksu | gksu | ||
gnome-keyring # | gnome-keyring # устраняет неисправность wlan | ||
libgsf # tumbler - | libgsf # tumbler - для эскизов ODF | ||
libopenraw # tumbler - | libopenraw # tumbler - для эскизов RAW | ||
light-locker | light-locker | ||
network-manager-applet | network-manager-applet | ||
menulibre | menulibre | ||
orage | orage | ||
poppler-glib # tumbler - | poppler-glib # tumbler - для эскизов PDF | ||
thunar-archive-plugin | thunar-archive-plugin | ||
file-roller | file-roller | ||
Line 514: | Line 429: | ||
xfce4-pulseaudio-plugin | xfce4-pulseaudio-plugin | ||
pavucontrol | pavucontrol | ||
## Темы | |||
## | |||
>extra manjaro-wallpapers-18.0 | >extra manjaro-wallpapers-18.0 | ||
>extra wallpapers-2018 | >extra wallpapers-2018 | ||
Line 526: | Line 439: | ||
xcursor-simpleandsoft | xcursor-simpleandsoft | ||
xcursor-vanilla-dmz-aa | xcursor-vanilla-dmz-aa | ||
## Приложения | |||
## | |||
>extra catfish | >extra catfish | ||
dmidecode # | dmidecode # необязательная зависимость inxi | ||
engrampa | engrampa | ||
>extra firefox | >extra firefox | ||
Line 555: | Line 466: | ||
mousepad | mousepad | ||
mugshot | mugshot | ||
>basic parole # | >basic parole # медиа-плеер | ||
>extra pidgin | >extra pidgin | ||
powertop | powertop | ||
screenfetch | screenfetch | ||
>extra poppler-data # CKJ | >extra poppler-data # поддержка CKJ для pdf | ||
>basic sylpheed # | >basic sylpheed # почтовый клиент | ||
>extra thunderbird | >extra thunderbird | ||
>extra vlc | >extra vlc | ||
Line 566: | Line 477: | ||
>extra xfburn | >extra xfburn | ||
>extra yelp | >extra yelp | ||
# Необязательные зависимости engrampa | |||
# | p7zip # поддержка архивов 7Z и ARJ | ||
p7zip # 7Z | unace # поддержка архивов ACE | ||
unace # ACE | unrar # поддержка архивов RAR | ||
unrar # RAR | |||
## Документация | |||
## | |||
manjaro-documentation-en | manjaro-documentation-en | ||
## Пакеты настроек | |||
## | |||
>extra manjaro-xfce-gtk3-settings | >extra manjaro-xfce-gtk3-settings | ||
>basic manjaro-xfce-gtk3-minimal-settings | >basic manjaro-xfce-gtk3-minimal-settings | ||
manjaro-browser-settings | manjaro-browser-settings | ||
## Драйверы входа Xorg | |||
## Xorg | |||
xf86-input-elographics | xf86-input-elographics | ||
xf86-input-evdev | xf86-input-evdev | ||
Line 595: | Line 498: | ||
xf86-input-mouse | xf86-input-mouse | ||
xf86-input-void | xf86-input-void | ||
## Сервер Xorg и графика | |||
## Xorg | |||
>multilib lib32-libva-intel-driver | >multilib lib32-libva-intel-driver | ||
>multilib lib32-libva-mesa-driver | >multilib lib32-libva-mesa-driver | ||
Line 613: | Line 514: | ||
xorg-xinit | xorg-xinit | ||
xorg-xkill | xorg-xkill | ||
## Инструменты рабочего стола | |||
## | |||
perl-file-mimeinfo | perl-file-mimeinfo | ||
xdg-utils | xdg-utils | ||
xdg-su | xdg-su | ||
## Разное | |||
## | |||
manjaro-hotfixes | manjaro-hotfixes | ||
</pre> | </pre> | ||
</div> | </div> | ||
</div> | </div> | ||
Этот файл содержит список пакетов, которые будут установлены на ваш установленный ISO (XFCE) '''и''' LiveCD (пакеты в файле Packages-Live устанавливаются только для live ISO). Это список пакетов с пакетами для Xfce (и пакетами, которые вы хотите добавить в свой собственный Manjaro ISO) из нескольких списков в вашем ISO-профиле. Другие списки пакетов являются более общими. | |||
Вы можете добавлять или удалять имена пакетов из этого списка по своему усмотрению. Вам не нужно беспокоиться о зависимостях при добавлении имен пакетов, просто убедитесь, что имя пакета написано правильно и пакет доступен в репозиториях Manjaro. | |||
<code>#</code> помечаются комментарии. Остальная часть строки после символа <code>#</code> игнорируется. | |||
<code>#</code> | |||
===Добавление пакетов AUR=== | ===Добавление пакетов AUR=== | ||
Если вы хотите добавить пакеты AUR в свой ISO, вам нужно создать онлайн-репозиторий и добавить его в файл '''user-repos.conf''' рядом с вашим '''profile.conf'''. | |||
'''Используйте только свои собственные репозитории с поддержкой http.''' | |||
''' | |||
[your-repo-name] | |||
[your-repo-name] | |||
SigLevel = Optional TrustAll | SigLevel = Optional TrustAll | ||
Server = http://repo.server.tld/your-repo-name | Server = http://repo.server.tld/your-repo-name | ||
Статья [[Buildiso with AUR packages: Using buildpkg/ru|Buildiso с пакетами AUR: Использование buildpkg]] содержит более подробную информацию об этом процессе. | |||
=manjaro-tools.conf= | =manjaro-tools.conf= | ||
<code>manjaro-tools.conf</code> является центральным конфигурационным файлом для всех инструментов, входящих в состав ''manjaro-tools''. Отредактируйте только общие сведения и часть "buildiso", чтобы не выходить за рамки этого руководства. Если вы не уверены, что и как нужно редактировать, '''не''' редактируйте это. Вы всегда можете использовать аргументы с помощью команды <code>buildiso</code> позже. | |||
<code>manjaro-tools.conf</code> | |||
По умолчанию, общесистемный файл конфигурации устанавливается в | |||
/etc/manjaro-tools/manjaro-tools.conf | |||
/etc/manjaro-tools/manjaro-tools.conf | |||
Лучше всего оставить общесистемный файл нетронутым и скопировать общесистемный конфиг в ваш домашний каталог cюда: | |||
~/.config/manjaro-tools | |||
~/.config/manjaro-tools | |||
Если userconfig присутствует, ''manjaro-tools''/''buildiso'' загрузит значения userconfig. Лучшая практика - оставить нетронутым общесистемный файл. По умолчанию он закомментирован и отображает только значения инициализации, выполненные в коде. | |||
=Создание собственного ISO= | =Создание собственного ISO= | ||
Line 694: | Line 564: | ||
Вам необходимо указать имя вашего ISO-профиля после аргумента <code>-p</code>. В данном случае это <код>xfce</code>. | Вам необходимо указать имя вашего ISO-профиля после аргумента <code>-p</code>. В данном случае это <код>xfce</code>. | ||
Если процесс сборки завершился с ошибкой, запустите его снова. | |||
'''Внимание:''' Процесс сборки занимает не менее 10 минут, а при использовании жестких дисков, медленных процессоров или больших ISO - гораздо больше. | |||
''' | |||
Когда процесс сборки успешно завершится, ISO-файл и список пакетов появятся в этом каталоге: | |||
/var/кэш/manjaro-tools/iso/ | |||
/var/ | ===Пример:=== | ||
=== | Вы можете использовать аргументы с командой <code>buildiso</code> для получения дополнительных параметров сборки: | ||
{{UserCmd|command=buildiso -f -p xfce -b stable}} | {{UserCmd|command=buildiso -f -p xfce -b stable}} | ||
* <code>-f</code> | * <code>-f</code> позволяет указать, нужен ли вам полный ISO. Если это не указано - будет создан минимальный ISO. | ||
* <code>-b</code> | * <code>-b</code> позволяет задать ветку. Вы также можете задать её в файле <code>manjaro-tools.conf</code>. | ||
Вы можете найти другие примеры сборок с использованием различных аргументов для ''buildiso'' [[Manjaro-tools/ru#buildiso|здесь]]. | |||
=Очистка жесткого диска= | =Очистка жесткого диска= | ||
После успешной или неудачной сборки вы можете избавиться от большинства данных ("сырой" ISO со всеми загруженными пакетами), удалив этот каталог: | |||
{{UserCmd|command=sudo rm -r /var/lib/manjaro-tools/buildiso/}} | |||
{{UserCmd|command=sudo rm -r /var/lib/manjaro-tools/buildiso/}} | |||
Чтобы очистить систему от файлов пакетов, не установленных в системе (сюда входят все файлы пакетов, загруженные для вашего пользовательского ISO): | |||
{{UserCmd|command=sudo paccache -ruk0}} | |||
{{UserCmd|command=sudo paccache -ruk0}} | |||
Вы также можете вручную посмотреть | |||
/var/cache/manjaro-tools/ | |||
/var/cache/manjaro-tools/ | |||
и удалить каталоги или файлы по своему усмотрению. Если вы хотите удалить все ISO-образы, списки пакетов и кэшированные пакеты Xorg, сделайте это: | |||
{{UserCmd|command=sudo rm -r /var/cache/manjaro-tools/}} | |||
{{UserCmd|command=sudo rm -r /var/cache/manjaro-tools/}} | |||
Пожалуйста, помните, что все эти пакеты и файлы сохранены для вашего удобства. Если вы очистите систему, как указано выше, вам придется скачать '''все''' пакеты и собрать '''все''' образы снова, когда вы в следующий раз захотите собрать свой собственный Manjaro ISO. | |||
По умолчанию ваш файл сохранится как <code>manjaro-tools.conf</code>. Если вы хотите удалить его, используйте | |||
{{UserCmd|command=rm -r ~/.config/manjaro-tools}} | |||
=Советы и хитрости= | =Советы и хитрости= | ||
==Создание минимального ISO== | |||
Минимальный ISO легко создать, изменив запись в файле profile.conf. Найдите раздел | |||
<pre> | <pre> | ||
# | # использовать пакеты extra, определенные в pkglist, для активации полного профиля | ||
# extra="false" | # extra="false" | ||
extra="true" | extra="true" | ||
</pre> | </pre> | ||
удалите знак '''#''' перед '''extra = "false"''' и добавьте '''#''' перед '''extra = "true"'''. | |||
Если вы предпочтете не изменять это, то всегда можете использовать '''-f''' с buildiso для создания полного профиля. | |||
=Смотрите также= | |||
* Источник: [https://gitlab.manjaro.org/profiles-and-settings/iso-profiles Manjaro Gitlab ISO Profiles] (ветвь master может быть нестабильной - выберите ветвь для последнего релиза) | |||
* | * Видео: [https://www.youtube.com/watch?v=B--je--m0VI Building Manjaro ISO by Philip Müller](Обучающее видео) | ||
* | * Wiki: [[Buildiso with AUR packages: Using buildpkg/ru|Buildiso с пакетами AUR: Использование buildpkg]] | ||
* Wiki: [[Buildiso with AUR packages: Using buildpkg]] | |||
[[Category:Contents Page{{#translation:}}]] | [[Category:Contents Page{{#translation:}}]] | ||
[[Category:Development{{#translation:}}]] | [[Category:Development{{#translation:}}]] | ||
[[Category:ISO{{#translation:}}]] | [[Category:ISO{{#translation:}}]] |
Latest revision as of 06:56, 4 July 2024
Предпосылки
Это подробное описание установки и настройки инструментов и процесса сборки.
Это требование - либо загрузить и установить последнюю версию Manjaro, либо работать с хорошо поддерживаемой системой Manjaro. Важно, чтобы ваша система была обновлена последними версиями ядра и пакетов.
Установка инструментов Manjaro
Для начала работы вам понадобятся следующие пакеты:
Мы будем работать с официальным XFCE, чтобы помочь вам понять, что нужно делать.
Профиль ISO
Загрузите последние профили ISO
Последние версии профилей можно найти на gitlab Manjaro. Вы можете загрузить их напрямую, используя команду:
.
Обзор профиля ISO
Профиль ISO для xfce теперь можно найти по адресу
Давайте подробнее рассмотрим каталог профиля XFCE (отмечен выше):
desktop-overlay live-overlay -> ../../shared/manjaro/live-overlay Packages-Desktop Packages-Live -> ../../shared/Packages-Live Packages-Mhwd -> ../../shared/Packages-Mhwd Packages-Root -> ../../shared/Packages-Root profile.conf
- desktop-overlay: после каждой успешной установки вашего ISO файлы и каталоги, находящиеся здесь, будут скопированы.
- live-overlay: аналогично desktop-overlay. Файлы и каталоги, находящиеся здесь, будут копироваться только на LiveCD вашего ISO.
- Packages-Desktop: этот файл содержит пакеты для установки ISO. Все пакеты также будут установлены на LiveCD.
- Packages-Live: этот файл содержит пакеты, которые будут установлены только на LiveCD.
- Packages-Mhwd: этот файл содержит пакеты Mhwd, важные для всех установок Manjaro и LiveCD.
- Packages-Root: этот файл содержит базовые пакеты, важные для всех установок Manjaro и LiveCD.
- profile.conf содержит основные настройки для вашей установки ISO и LiveCD.
Как вы, вероятно, заметили, некоторые из них являются всего лишь символическими ссылками на ISO-профиль shared
. Хорошей практикой является никогда не изменять файлы или каталоги в ISO-профиле shared
. Если вы когда-нибудь захотите их изменить - сначала скопируйте их в каталог вашего ISO-профиля и удалите символическую ссылку.
Все каталоги и файлы, специфичные для вашего ISO, выделены полужирным шрифтом. Вы можете изменить их по своему усмотрению.
Изменение профиля ISO
Наиболее распространенными местами для настройки ISO-профиля являются 3 каталога, отмеченные выше: desktop-overlay, profile.conf, Packages-Desktop:
desktop-overlay
Директория desktop-overlay выглядит следующим образом:
$ tree ~/iso-profiles/manjaro/xfce/desktop-overlay/etc
../iso-profiles/manjaro/xfce/desktop-overlay/ ├── etc │ ├── fonts │ │ └── conf.d │ │ └── 70-no-bitmaps.conf │ └── lightdm │ ├── lightdm.conf │ └── lightdm-gtk-greeter.conf └── usr └── share └── icons └── default └── index.theme
Перейдите в эту директорию.
Затем создайте каталог skel. В нем вы сможете клонировать в ISO все, что видите на экране рабочего стола.
После успешной установки ISO все файлы и каталоги из desktop-overlay копируются на установленную систему. Сюда входят файлы настроек/конфигурации, а также темы и фоны/картинки.
Все файлы и каталоги, находящиеся здесь, будут скопированы в домашний каталог. Большинство скрытых файлов и их структура в ~/iso-profiles/manjaro/xfce/desktop-overlay/etc/skel/
должны быть вам уже знакомы, поскольку ваша домашняя директория выглядит очень похоже.
Клонирование пользовательских обоев рабочего стола
Чтобы клонировать ваш рабочий стол с пользовательскими обоями. Откройте новый менеджер файлов и перейдите к этому файлу:
~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
Измените все каталоги изображений на те, в которых находились ваши пользовательские обои. Например:
/usr/share/backgrounds/<ВАШЕ ИЗОБРАЖЕНИЕ ЗДЕСЬ>
Пример
A sample `xfce4-desktop.xml` can be viewed by unfolding this block
<?xml version="1.0" encoding="UTF-8"?> <channel name="xfce4-desktop" version="1.0"> <property name="backdrop" type="empty"> <property name="screen0" type="empty"> <property name="monitor0" type="empty"> <property name="image-path" type="string" value="'''/usr/share/backgrounds/<YOUR IMAGE HERE>'''"/> <property name="last-image" type="string" value="'''/usr/share/backgrounds/<YOUR IMAGE HERE>'''"/> <property name="last-single-image" type="string" value="'''/usr/share/backgrounds/<YOUR IMAGE HERE>'''"/> <property name="image-style" type="int" value="5"/> </property> <property name="monitorVGA-0" type="empty"> <property name="workspace0" type="empty"> <property name="color-style" type="int" value="0"/> <property name="image-style" type="int" value="5"/> <property name="last-image" type="string" value="'''/usr/share/backgrounds/<YOUR IMAGE HERE>'''"/> </property> <property name="workspace1" type="empty"> <property name="color-style" type="int" value="0"/> <property name="image-style" type="int" value="5"/> <property name="last-image" type="string" value="'''/usr/share/backgrounds/<YOUR IMAGE HERE>'''"/> </property> </property> </property> </property> <property name="desktop-icons" type="empty"> <property name="style" type="int" value="2"/> <property name="file-icons" type="empty"> <property name="show-removable" type="bool" value="true"/> </property> <property name="icon-size" type="uint" value="32"/> </property> </channel>
Перейдите в эту директорию:
Затем создайте каталог usr/share/backgrounds
и поместите в него свои пользовательские обои.
profile.conf
Полное содержание примера profile.conf можно посмотреть, развернув этот блок. Всегда лучше использовать последнюю версию, а не копировать эту.
########################################## ##### используйте этот файл в профиле #### ########################################## # использовать пакеты multilib; только x86_64 # multilib="true" displaymanager="lightdm" # Установите false для отключения автологина в livecd # autologin="true" # несвободные драйверы mhwd # nonfree_mhwd="true" # использовать пакеты extra, определенные в pkglist, для активации полного профиля #extra="true" ################ установка ############### # сбросить значение по умолчанию на заданное значение # efi_boot_loader="grub" # настроить calamares для netinstall # netinstall="false" # настроить calamares на использование chrootcfg вместо unpackfs # chrootcfg="false" # использовать geoip для локализации # geoip='true' # снимите значения по умолчанию с заданных значений # имена должны совпадать с именами служб systemd enable_systemd=('avahi-daemon' 'bluetooth' 'cronie' 'ModemManager' 'NetworkManager' 'org.cups.cupsd' 'tlp' 'tlp-sleep' 'ufw') disable_systemd=('pacman-init') # снимите значения по умолчанию с заданных значений, # имена должны совпадать с именами служб openrc # enable_openrc=('acpid' 'bluetooth' 'elogind' 'cronie' 'cupsd' 'dbus' 'syslog-ng' 'NetworkManager') # disable_openrc=() # то же имя рабочей группы, если используется samba # smb_workgroup="" ################# livecd ################# # незаданное по умолчанию принимает данное значение # hostname="manjaro" # незаданное по умолчанию принимает данное значение # username="manjaro" # незаданное по умолчанию принимает данное значение # password="manjaro" # оболочка входа в систему # по-умолчанию bash # login_shell=/bin/bash # незаданное по умолчанию принимает данное значение # addgroups="lp,network,power,wheel" # незаданное по умолчанию принимает данное значение # имена должны совпадать с именами служб systemd # services in enable_systemd array don't need to be listed here # enable_systemd_live=('manjaro-live' 'mhwd-live' 'pacman-init' 'mirrors-live') # обнулить значения по умолчанию с заданных значений, # имена должны совпадать с именами служб openrc # службы в массиве enable_openrc не обязательно должны быть перечислены здесь # enable_openrc_live=('manjaro-live' 'mhwd-live' 'pacman-init' 'mirrors-live')
Этот файл конфигурации содержит опции настройки. Все настройки по умолчанию закомментированы. Если вы хотите их изменить - раскомментируйте (уберите символ #
перед ними) и измените их.
Заслуживают внимания следующие параметры:
multilib=
настройка относится к флагу>multilib
в списках пакетов. multilib будет устанавливать основные 32-битные библиотеки на 64-битных системах. Это повышает совместимость 32-разрядных приложений на 64-разрядных системах.displaymanager=
устанавливает менеджер дисплея / входа, который использует ваша система. Вам также необходимо указать менеджер дисплея в списке пакетов.nonfree_xorg=
относится к проприетарным графическим драйверам.netinstall=
: не используйтеchrootcfg=
: не используйтеkernel=
позволяет задействовать установленное ядро. Не включайте никакие ядра в список пакетов! Эта настройка - все, что вам нужно.enable_systemd=
позволяет задать службы systemd, запускаемые на установленной системе (и с аналогичными настройками на livecd).enable_openrc=
: не используйте
Packages-Desktop
Пример файла `Packages-Desktop` можно посмотреть, развернув этот блок. Всегда лучше использовать последнюю версию, а не копировать эту.
## Сеть avahi networkmanager networkmanager-openconnect networkmanager-openvpn networkmanager-pptp networkmanager-vpnc nss-mdns # Поддержка NSS для mDNS (зависимость для avahi) ntp mobile-broadband-provider-info modemmanager openresolv openssh samba usb_modeswitch ## Библиотеки для звука/аудио/видео alsa-firmware alsa-utils ffmpeg gst-libav gst-plugins-bad gst-plugins-base gst-plugins-good gst-plugins-ugly libdvdcss >multilib manjaro-alsa manjaro-pulse pulseaudio-bluetooth pulseaudio-ctl pulseaudio-zeroconf ## Пакеты подключения android-tools android-udev gvfs gvfs-afc gvfs-gphoto2 gvfs-mtp gvfs-nfs gvfs-smb mtpfs udiskie udisks2 ## Поддержка/разработка AUR # Отсутствующие пакеты base-devel autoconf automake binutils bison fakeroot flex gcc >multilib gcc-libs-multilib >multilib gcc-multilib libtool m4 make patch pkg-config >multilib lib32-flex # Пакеты extra для поддержки AUR >extra git >extra patchutils >extra subversion ## Шрифты cantarell-fonts # noto-fonts # шрифт по-умолчанию # noto-fonts-cjk # большой пакет, сжат до ~76 МБ # >extra noto-fonts-emoji terminus-font ttf-bitstream-vera # xfce4-terminal по-умолчанию моноширинный # ttf-dejavu # установлен как зависимость для gnome-themes-standard >extra ttf-inconsolata >extra ttf-indic-otf >extra ttf-liberation >extra ttf-droid ## Игры >extra steam-manjaro ## Менеджеры пакетов pamac flatpak ## Java >extra jdk8-openjdk >extra jre8-openjdk-headless >extra jre8-openjdk ## Печать >extra cups >extra cups-pdf >extra cups-pk-helper >extra ghostscript >extra gsfonts >extra gtk3-print-backends >extra hplip >extra splix >extra system-config-printer ## Необязательные зависимости для hplip >extra pyqt5-common # для hplip >extra python-pillow # для hplip >extra python-pip # для hplip >extra python-pyqt5 # для hplip gui >extra python-reportlab # для hplip ## Менеджеры дисплея lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings accountsservice # Улучшенная работа с учетными записями пользователей ## GTK3 gtk3-classic >multilib lib32-gtk3-classic ## Группа XFCE exo-gtk3 garcon-gtk3 thunar-gtk3 thunar-volman tumbler xfce4-appfinder-gtk3 xfce4-panel-gtk3 xfce4-power-manager-gtk3 xfce4-session-gtk3 xfce4-settings-gtk3 xfce4-terminal xfconf-gtk3 xfdesktop-gtk3 xfwm4-gtk3 ## Extra XFCE blueman ffmpegthumbnailer # tumbler - для эскизов видео freetype2 # tumbler - для эскизов шрифтов gksu gnome-keyring # устраняет неисправность wlan libgsf # tumbler - для эскизов ODF libopenraw # tumbler - для эскизов RAW light-locker network-manager-applet menulibre orage poppler-glib # tumbler - для эскизов PDF thunar-archive-plugin file-roller thunar-media-tags-plugin # >extra xfce4-artwork xfce4-battery-plugin xfce4-clipman-plugin >extra xfce4-cpufreq-plugin >extra xfce4-cpugraph-plugin # xfce4-datetime-plugin >extra xfce4-dict >extra xfce4-diskperf-plugin >extra xfce4-fsguard-plugin >extra xfce4-genmon-plugin >extra xfce4-mailwatch-plugin >extra xfce4-mount-plugin >extra xfce4-mpc-plugin >extra xfce4-netload-plugin >extra xfce4-notes-plugin xfce4-notifyd-gtk3 xfce4-screenshooter >extra xfce4-sensors-plugin >extra xfce4-smartbookmark-plugin >extra xfce4-systemload-plugin xfce4-taskmanager >extra xfce4-time-out-plugin >extra xfce4-timer-plugin >extra xfce4-verve-plugin >extra xfce4-wavelan-plugin >extra xfce4-weather-plugin xfce4-whiskermenu-plugin-gtk3 xfce4-xkb-plugin xfce4-pulseaudio-plugin pavucontrol ## Темы >extra manjaro-wallpapers-18.0 >extra wallpapers-2018 gnome-icon-theme gnome-themes-standard grub-theme-manjaro matcha-gtk-theme xcursor-simpleandsoft xcursor-vanilla-dmz-aa ## Приложения >extra catfish dmidecode # необязательная зависимость inxi engrampa >extra firefox # >extra flashplugin >extra galculator-gtk2 gcolor2 >extra gimp gparted gufw >extra audacious >extra hexchat htop qpdfview inxi >extra libreoffice-still ms-office-online manjaro-hello manjaro-application-utility manjaro-settings-manager manjaro-settings-manager-notifier >basic midori >extra mlocate mousepad mugshot >basic parole # медиа-плеер >extra pidgin powertop screenfetch >extra poppler-data # поддержка CKJ для pdf >basic sylpheed # почтовый клиент >extra thunderbird >extra vlc >extra viewnior >extra xfburn >extra yelp # Необязательные зависимости engrampa p7zip # поддержка архивов 7Z и ARJ unace # поддержка архивов ACE unrar # поддержка архивов RAR ## Документация manjaro-documentation-en ## Пакеты настроек >extra manjaro-xfce-gtk3-settings >basic manjaro-xfce-gtk3-minimal-settings manjaro-browser-settings ## Драйверы входа Xorg xf86-input-elographics xf86-input-evdev xf86-input-keyboard xf86-input-libinput xf86-input-mouse xf86-input-void ## Сервер Xorg и графика >multilib lib32-libva-intel-driver >multilib lib32-libva-mesa-driver >multilib lib32-libva-vdpau-driver libva-intel-driver libva-mesa-driver libva-vdpau-driver mesa-demos >multilib lib32-mesa-demos numlockx xdg-user-dirs xorg-server xorg-twm xorg-xinit xorg-xkill ## Инструменты рабочего стола perl-file-mimeinfo xdg-utils xdg-su ## Разное manjaro-hotfixes
Этот файл содержит список пакетов, которые будут установлены на ваш установленный ISO (XFCE) и LiveCD (пакеты в файле Packages-Live устанавливаются только для live ISO). Это список пакетов с пакетами для Xfce (и пакетами, которые вы хотите добавить в свой собственный Manjaro ISO) из нескольких списков в вашем ISO-профиле. Другие списки пакетов являются более общими.
Вы можете добавлять или удалять имена пакетов из этого списка по своему усмотрению. Вам не нужно беспокоиться о зависимостях при добавлении имен пакетов, просто убедитесь, что имя пакета написано правильно и пакет доступен в репозиториях Manjaro.
#
помечаются комментарии. Остальная часть строки после символа #
игнорируется.
Добавление пакетов AUR
Если вы хотите добавить пакеты AUR в свой ISO, вам нужно создать онлайн-репозиторий и добавить его в файл user-repos.conf рядом с вашим profile.conf.
Используйте только свои собственные репозитории с поддержкой http.
[your-repo-name] SigLevel = Optional TrustAll Server = http://repo.server.tld/your-repo-name
Статья Buildiso с пакетами AUR: Использование buildpkg содержит более подробную информацию об этом процессе.
manjaro-tools.conf
manjaro-tools.conf
является центральным конфигурационным файлом для всех инструментов, входящих в состав manjaro-tools. Отредактируйте только общие сведения и часть "buildiso", чтобы не выходить за рамки этого руководства. Если вы не уверены, что и как нужно редактировать, не редактируйте это. Вы всегда можете использовать аргументы с помощью команды buildiso
позже.
По умолчанию, общесистемный файл конфигурации устанавливается в
/etc/manjaro-tools/manjaro-tools.conf
Лучше всего оставить общесистемный файл нетронутым и скопировать общесистемный конфиг в ваш домашний каталог cюда:
~/.config/manjaro-tools
Если userconfig присутствует, manjaro-tools/buildiso загрузит значения userconfig. Лучшая практика - оставить нетронутым общесистемный файл. По умолчанию он закомментирован и отображает только значения инициализации, выполненные в коде.
Создание собственного ISO
Создайте свой ISO с помощью следующей команды:
Вам необходимо указать имя вашего ISO-профиля после аргумента -p
. В данном случае это <код>xfce.
Если процесс сборки завершился с ошибкой, запустите его снова.
Внимание: Процесс сборки занимает не менее 10 минут, а при использовании жестких дисков, медленных процессоров или больших ISO - гораздо больше.
Когда процесс сборки успешно завершится, ISO-файл и список пакетов появятся в этом каталоге:
/var/кэш/manjaro-tools/iso/
Пример:
Вы можете использовать аргументы с командой buildiso
для получения дополнительных параметров сборки:
-f
позволяет указать, нужен ли вам полный ISO. Если это не указано - будет создан минимальный ISO.-b
позволяет задать ветку. Вы также можете задать её в файлеmanjaro-tools.conf
.
Вы можете найти другие примеры сборок с использованием различных аргументов для buildiso здесь.
Очистка жесткого диска
После успешной или неудачной сборки вы можете избавиться от большинства данных ("сырой" ISO со всеми загруженными пакетами), удалив этот каталог:
Чтобы очистить систему от файлов пакетов, не установленных в системе (сюда входят все файлы пакетов, загруженные для вашего пользовательского ISO):
Вы также можете вручную посмотреть
/var/cache/manjaro-tools/
и удалить каталоги или файлы по своему усмотрению. Если вы хотите удалить все ISO-образы, списки пакетов и кэшированные пакеты Xorg, сделайте это:
Пожалуйста, помните, что все эти пакеты и файлы сохранены для вашего удобства. Если вы очистите систему, как указано выше, вам придется скачать все пакеты и собрать все образы снова, когда вы в следующий раз захотите собрать свой собственный Manjaro ISO.
По умолчанию ваш файл сохранится как manjaro-tools.conf
. Если вы хотите удалить его, используйте
Советы и хитрости
Создание минимального ISO
Минимальный ISO легко создать, изменив запись в файле profile.conf. Найдите раздел
# использовать пакеты extra, определенные в pkglist, для активации полного профиля # extra="false" extra="true"
удалите знак # перед extra = "false" и добавьте # перед extra = "true".
Если вы предпочтете не изменять это, то всегда можете использовать -f с buildiso для создания полного профиля.
Смотрите также
- Источник: Manjaro Gitlab ISO Profiles (ветвь master может быть нестабильной - выберите ветвь для последнего релиза)
- Видео: Building Manjaro ISO by Philip Müller(Обучающее видео)
- Wiki: Buildiso с пакетами AUR: Использование buildpkg