Открыть боковую панель
sbin
installer.sh
Коммиты
80490349
Коммит
80490349
создал
Дек 15, 2025
по автору
golovin
Просмотр файлов
2025-12-15
владелец
5f6235ab
Изменения
66
Скрыть пробелы
Построчно
Рядом
print_screen/void-grub.jpg
0 → 100644
Просмотр файла @
80490349
48,8 КБ
print_screen/void-install.gif
Просмотр заменённого файла @
5f6235ab
Просмотр файла @
80490349
2,2 МБ
|
W:
|
H:
2,5 МБ
|
W:
|
H:
2-up
Swipe
Onion skin
void/os-prober.sh
Просмотр файла @
80490349
#!/bin/bash
[
"
$UID
"
!=
0
]
&&
{
exec sudo
bash
"
$0
"
&&
exit
0
;
}
echo
"
Установка
os-prober на Void и обновление загрузочного меню GRUB."
config
=
"/etc/default/grub"
#
#
&& xbps-install -y os-prober
echo
"
Включение
os-prober на Void и обновление загрузочного меню GRUB."
config
=
"/etc/default/grub"
# && xbps-install -y os-prober
# пакет уже должен быть установлен
function
set_grub_param
{
# заменить строку, если она есть, или добавить строку, если её нет
grep
-q
"
$1
"
"
$config
"
&&
sed
-i
"s|^.*
$1
.*
$|$1
=
$2
|"
"
$config
"
||
echo
"
$1
=
$2
"
>>
"
$config
"
}
...
...
@@ -11,5 +11,9 @@ echo "Сохранение последней выбранной строки."
set_grub_param
"GRUB_SAVEDEFAULT"
"true"
echo
"Сохранённая строка по умолчанию."
set_grub_param
"GRUB_DEFAULT"
"saved"
echo
"Обновление конфигурации."
echo
"Фирменная картинка для оригинальности и для узнаваемости."
set_grub_param
"GRUB_BACKGROUND"
"/usr/share/void-artwork/splash.png"
echo
"Разрешение экрана для графического терминала."
set_grub_param
"GRUB_GFXMODE"
"1280x800x32"
echo
"Обновление конфигурации загрузочного меню GRUB."
grub-mkconfig
-o
/boot/grub/grub.cfg
void/setfont.sh
удалено
100755 → 0
Просмотр файла @
5f6235ab
#!/bin/bash
[
"
$UID
"
!=
0
]
&&
{
exec sudo
bash
"
$0
"
&&
exit
0
;
}
[[
"
$TERM
"
=
~ xterm
*
]]
&&
{
echo
"ОШИБКА: setfont в графической консоли не работает."
&&
ERROR
=
0
;
}
man
-w
xbps &>/dev/null
||
{
echo
"ОШИБКА: операционная система Void не обнаружена."
&&
ERROR
=
0
;
}
[
"
$ERROR
"
==
0
]
&&
exit
0
||
echo
"Установка шрифта и раскладки клавиатуры для консоли Void."
# название шрифта и раскладки клавиатуры, полный путь к файлу конфигурации
font
=
"LatGrkCyr-8x16"
&&
keymap
=
"ruwin_alt_sh-UTF-8"
&&
conf
=
"/etc/rc.conf"
# установка шрифта
if
setfont
"
$font
"
;
then
# замена строки со шрифтом в файле конфигурации
sed
-i
-E
"s|^.*FONT=.*
$|
FONT=
\"
$font
\"
|"
"
$conf
"
# замена строки с раскладкой клавиатуры в файле конфигурации
sed
-i
-E
"s|^.*KEYMAP=.*
$|
KEYMAP=
\"
$keymap
\"
|"
"
$conf
"
fi
void/void-install.sh
Просмотр файла @
80490349
#!/bin/bash
[
"
$UID
"
!=
0
]
&&
{
exec sudo
bash
"
$0
"
&&
exit
0
;
}
package
=
"xtools"
&&
export
FONT
=
"ruscii_8x16"
#-----------------------------------------------------------------------------------------------;
xbps-query
"
$package
"
>
/dev/null
||
{
echo
"ОШИБКА: пакет '
$package
' не найден"
>
&2
&&
ERROR
=
1
;
}
setfont
"
$FONT
"
||
{
echo
"ОШИБКА: шрифт с русскими буквами '
$FONT
' не найден"
>
&2
&&
ERROR
=
1
;
}
[
"
$ERROR
"
==
1
]
&&
{
echo
"Скрипт следует выполнять в операционной системе Void."
>
&2
&&
exit
1
;
}
export
FONT
=
"ruscii_8x16"
&&
if
!
setfont
"
$FONT
"
;
then
echo
"MISSING RUS FONT"
>
&2
&&
exit
1
;
fi
#-----------------------------------------------------------------------------------------------;
declare
-A
COLOR
=([
BW]
=
"30;47"
[
R]
=
31
[
BR]
=
"30;41"
[
G]
=
32
[
Y]
=
33
[
BY]
=
"30;43"
[
C]
=
36
[
N]
=
0
)
function
print_color
{
printf
"
\e
[
${
COLOR
[
$1
]
}
m%s
\e
[
${
COLOR
[N]
}
m
\n
"
"
$2
"
;
}
&&
TARGET
=
"/mnt"
#-----------------------------------------------------------------------------------------------;
title
=
"Установка базовой системы Void Linux EFI и вспомогательных пакетов."
&&
version
=
"2025-12-09"
error_message
=
"Не обнаружены программы из пакетов xbps, xtools операционной системы Void."
printf
'%s\n'
xbps-install xbps-reconfigure xgenfstab xchroot |
while
read
-r
program
;
do
command
-v
"
$program
"
>
/dev/null
||
{
print_color R
"
$error_message
"
>
&2
&&
exit
1
;
}
done
#-----------------------------------------------------------------------------------------------;
title
=
"Установка базовой системы Void Linux EFI и вспомогательных пакетов."
&&
version
=
"2025-12-13"
printf
'%s %s\n'
"
$(
print_color C
"
$title
"
)
"
"
$(
print_color BY
"
$version
"
)
"
# (c) Геннадий Головин
#-----------------------------------------------------------------------------------------------;
print_color G
"Для установки требуется смонтировать как минимум два раздела в каталог '
$TARGET
'."
...
...
@@ -57,7 +58,7 @@ while true; do
printf
'%s%s %s\n'
"
$dm_prompt
"
"
$partition
"
"
$(
print_color R
"
$error_message
"
)
"
&&
exit
1
fi
text
=
"файловая система:"
&&
dm_text+
=
"
$partition
$text
"
&&
dm_prompt+
=
"
$partition
$(
print_color Y
"
$text
"
)
"
dropdown_menu
"
$dm_text
"
"
$dm_prompt
"
BY ext4 fat32 swap
&&
system
=
"
$dm_value
"
dropdown_menu
"
$dm_text
"
"
$dm_prompt
"
BY
ext2
ext4 fat32 swap
&&
system
=
"
$dm_value
"
printf
'\r\e[J'
&&
[
"
$system
"
==
"ОТМЕНА"
]
&&
continue
text
=
"точка монтирования:"
&&
dm_text+
=
"
$system
$text
"
&&
dm_prompt+
=
"
$system
$(
print_color Y
"
$text
"
)
"
if
[
"
$system
"
==
"swap"
]
;
then
point
=
"[SWAP]"
;
else
...
...
@@ -72,6 +73,7 @@ while true; do
printf
'%s%s\n'
"
$dm_prompt
"
"
$format
"
[
"
$format
"
==
"ДА"
]
&&
case
"
$system
"
in
"swap"
)
p_actions+
=(
"mkswap --verbose
$partition
"
)
;;
"ext2"
)
p_actions+
=(
"mkfs.ext2 -v
$partition
"
)
;;
"ext4"
)
p_actions+
=(
"mkfs.ext4 -v
$partition
"
)
;;
"fat32"
)
p_actions+
=(
"mkfs.fat -v -F32
$partition
"
)
;;
esac
...
...
@@ -82,8 +84,8 @@ while true; do
done
#-----------------------------------------------------------------------------------------------;
# проверка корректности введённых данных, корневой и EFI разделы должны быть указаны обязательно
printf
'%s\n'
"
${
p_actions
[@]
}
"
|
grep
-qE
'\s
*
/mnt[/]{,1}\s*$'
||
p_errors+
=(
"корневой раздел (/)"
)
printf
'%s\n'
"
${
p_actions
[@]
}
"
|
grep
-qE
'\s
*
/mnt/boot/efi[/]{,1}\s*$'
||
p_errors+
=(
"раздел EFI (/boot/efi)"
)
printf
'%s\n'
"
${
p_actions
[@]
}
"
|
grep
-qE
'\s
+
/mnt[/]{,1}\s*$'
||
p_errors+
=(
"корневой раздел (/)"
)
printf
'%s\n'
"
${
p_actions
[@]
}
"
|
grep
-qE
'\s
+
/mnt/boot/efi[/]{,1}\s*$'
||
p_errors+
=(
"раздел EFI (/boot/efi)"
)
((
${#
p_errors
[@]
}
>
0
))
&&
{
for
p
in
"
${
p_errors
[@]
}
"
;
do
print_color R
"ОШИБКА: не указан
$p
."
;
done
&&
exit
1
;
}
#-----------------------------------------------------------------------------------------------;
print_color G
"Название компьютера, имя пользователя и пароли для учётных записей не могут быть"
...
...
@@ -102,7 +104,7 @@ function enter_the_name {
}
#-----------------------------------------------------------------------------------------------;
enter_the_name
"Название компьютера"
"void"
&&
hostname
=
"
$the_name
"
enter_the_name
"Новый пользователь"
"void"
&&
username
=
"
$the_name
"
enter_the_name
"Новый пользователь"
"void"
&&
username
=
"
$the_name
"
&&
printf
'\n\n\e[2A'
#-----------------------------------------------------------------------------------------------;
function
enter_password_2times
{
while
true
;
do
...
...
@@ -145,7 +147,7 @@ function scrolling_region {
for
((
gap
=
$1
, i
=
gap
;
i
>
0
;
i--
))
;
do
printf
" %02d
\n
"
"
$i
"
|
awk
'{t="########";print t$0t$0t$0t$0t}'
;
done
# сужение региона прокрутки от текущей позиции вверх на $1 строк и переопределение курсора в текущей позиции
printf
"
\e
[%s;%sr
\e
[%sH"
"
$((
cursor
-
gap
))
"
"
$cursor
"
"
$cursor
"
# запуск программы с большим количеством
вы
ход
ны
х сообщений в консоль
# запуск программы с большим количеством
ис
ход
ящи
х сообщений в консоль
}
#-----------------------------------------------------------------------------------------------;
print_color R
"Установка базовой системы и вспомогательных пакетов в каталог '
$TARGET
'."
...
...
@@ -186,7 +188,7 @@ xchroot "$TARGET" mkdir -p /boot/efi/EFI/boot
xchroot
"
$TARGET
"
cp
/boot/efi/EFI/the_void/grubx64.efi /boot/efi/EFI/boot/bootx64.efi
#-----------------------------------------------------------------------------------------------;
print_color Y
"Конфигурирование пакетов, создание файлов локализации и загрузочного меню GRUB."
scrolling_region 20
&&
xchroot
"
$TARGET
"
xbps-reconfigure
-fa
&&
scrolling_region
scrolling_region 20
&&
{
xchroot
"
$TARGET
"
xbps-reconfigure
-fa
||
exit
1
;
}
&&
scrolling_region
#-----------------------------------------------------------------------------------------------;
echo
"Название компьютера в сети."
&&
echo
"
$hostname
"
>
"
$TARGET
/etc/hostname"
echo
"127.0.1.1
$hostname
.home
$hostname
"
>>
"
$TARGET
/etc/hosts"
...
...
void/xfce.sh
Просмотр файла @
80490349
...
...
@@ -11,17 +11,3 @@ pkg_list+=(pulseaudio network-manager-applet lightdm-gtk-greeter-settings)
pkg_list+
=(
numlockx
)
# установка пакетов и включение служб в автозагрузку
xbps-install
-Suy
"
${
pkg_list
[@]
}
"
&&
services
=(
lightdm dbus gpm NetworkManager
)
printf
'/etc/sv/%s '
"
${
services
[@]
}
"
| xargs
ln
-vs
-t
/etc/runit/runsvdir/default/
# включение NumLock по умолчанию для графической сессии
line
=
"greeter-setup-script="
&&
conf
=
"/etc/lightdm/lightdm.conf"
sed
-i
"s|#
$line
.*
\$
|
$line
/usr/bin/numlockx on|"
"
$conf
"
# настройка экрана входа в систему
cat
>
"/etc/lightdm/lightdm-gtk-greeter.conf"
<<
\
GREETER
[greeter]
theme-name = Arc-Lighter
icon-theme-name = Papirus-Light
background = /usr/share/backgrounds/xfce/xfce-blue.jpg
user-background = false
hide-user-image = true
clock-format = %a %d, %H:%M
indicators = ~host;~spacer;~spacer;~clock;~spacer;~spacer;~language;~session;~a11y;~power
GREETER
Пред
1
2
3
4
След
Редактирование
Предварительный просмотр
Поддерживает Markdown
0%
Попробовать снова
или
прикрепить новый файл
.
Отмена
You are about to add
0
people
to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Отмена
Пожалуйста,
зарегистрируйтесь
или
войдите
чтобы прокомментировать