Участник:HihinRuslan/Systemd
Материал из ALT Linux Wiki
(→Источники:) |
(→И ещё штрихи:) |
||
(16 промежуточных версий не показаны.) | |||
Строка 4: | Строка 4: | ||
[http://wiki.archlinux.org/index.php/Systemd_(Русский)| archwiki Systemd_(Русский)] | [http://wiki.archlinux.org/index.php/Systemd_(Русский)| archwiki Systemd_(Русский)] | ||
+ | |||
[https://wiki.archlinux.org/index.php/Fstab_(Русский)| archwiki Fstab_(Русский)] | [https://wiki.archlinux.org/index.php/Fstab_(Русский)| archwiki Fstab_(Русский)] | ||
Строка 13: | Строка 14: | ||
<source lang=text> | <source lang=text> | ||
SystemMaxUse=50M | SystemMaxUse=50M | ||
+ | </source> | ||
+ | |||
+ | ==== Указываем хранить журнал в оперативной памяти (полезно для SSD): ==== | ||
+ | |||
+ | '''После перезагрузки логи будут очищаться вместе с оперативной памятью!''' | ||
+ | |||
+ | Место хранения журнала указывается в переменной ''Storage'' в конфигурационном файле ''/etc/systemd/journald.conf''. | ||
+ | Указываем хранить журнал в оперативной памяти (каталог ''/run/log/journal''): | ||
+ | |||
+ | <source lang=text> | ||
+ | Storage=volatile | ||
+ | </source> | ||
+ | |||
+ | Ограничиваем журнал в оперативной памяти размером 5 мегабайт: | ||
+ | |||
+ | <source lang=text> | ||
+ | RuntimeMaxUse=5M | ||
+ | </source> | ||
+ | |||
+ | Удаляем журнал, хранящийся на диске (если не удалить, будет показываться вместо актуального) от root: | ||
+ | <source lang=text> | ||
+ | rm -Rf /var/log/journal/* | ||
</source> | </source> | ||
Строка 37: | Строка 60: | ||
UUID="F05CC5DD5CC59F2A" /mnt/sda1 ntfs-3g locale=ru_RU.UTF-8,dmask=0,umask=111,nofail 0 0 | UUID="F05CC5DD5CC59F2A" /mnt/sda1 ntfs-3g locale=ru_RU.UTF-8,dmask=0,umask=111,nofail 0 0 | ||
</source> | </source> | ||
+ | |||
+ | ==== Автомонтирование по запросу ==== | ||
Если нужно монтировать раздел только в момент первого обращения к нему, прописываем его с параметром comment=systemd.automount | Если нужно монтировать раздел только в момент первого обращения к нему, прописываем его с параметром comment=systemd.automount | ||
<source lang=text> | <source lang=text> | ||
- | https://webdav.yandex.ru /mnt/yandex.disk davfs noauto,users,comment=systemd.automount 0 0 | + | https://webdav.yandex.ru /mnt/yandex.disk davfs noauto,users,uid=user,gid=user,comment=systemd.automount 0 0 |
</source> | </source> | ||
+ | |||
+ | === Реанимируем консоль /dev/tty1 === | ||
+ | ==== Новый способ ==== | ||
+ | навеянный https://forum.altlinux.org/index.php?topic=38514 | ||
+ | |||
+ | <source lang=bash> | ||
+ | cp /lib/systemd/system/prefdm.service /etc/systemd/system/dm.service | ||
+ | </source> | ||
+ | |||
+ | и закомментировать в /etc/systemd/system/dm.service строчку | ||
+ | <source lang=bash> | ||
+ | Conflicts=getty@tty1.service | ||
+ | </source> | ||
+ | |||
+ | ==== Старый (не очень правильный) способ : ==== | ||
+ | |||
+ | Создаём файл /etc/systemd/system/tty1.service такого содержания: | ||
+ | |||
+ | <source lang=text> | ||
+ | # This file is part of systemd. | ||
+ | # | ||
+ | # systemd is free software; you can redistribute it and/or modify it | ||
+ | # under the terms of the GNU Lesser General Public License as published by | ||
+ | # the Free Software Foundation; either version 2.1 of the License, or | ||
+ | # (at your option) any later version. | ||
+ | |||
+ | [Unit] | ||
+ | Description=Start agetty on tty1 | ||
+ | Documentation=man:agetty(8) man:systemd-getty-generator(8) | ||
+ | Documentation=http://0pointer.de/blog/projects/serial-console.html | ||
+ | After=systemd-user-sessions.service plymouth-quit-wait.service | ||
+ | After=rc-local.service | ||
+ | |||
+ | # If additional gettys are spawned during boot then we should make | ||
+ | # sure that this is synchronized before getty.target, even though | ||
+ | # getty.target didn't actually pull it in. | ||
+ | Before=getty.target | ||
+ | IgnoreOnIsolate=yes | ||
+ | |||
+ | # On systems without virtual consoles, don't start any getty. Note | ||
+ | # that serial gettys are covered by serial-getty@.service, not this | ||
+ | # unit. | ||
+ | ConditionPathExists=/dev/tty0 | ||
+ | |||
+ | [Service] | ||
+ | # the VT is cleared by TTYVTDisallocate | ||
+ | ExecStart=-/sbin/agetty tty1 linux | ||
+ | Type=idle | ||
+ | Restart=always | ||
+ | RestartSec=0 | ||
+ | UtmpIdentifier=tty1 | ||
+ | TTYPath=/dev/tty1 | ||
+ | TTYReset=yes | ||
+ | TTYVHangup=yes | ||
+ | TTYVTDisallocate=yes | ||
+ | KillMode=process | ||
+ | IgnoreSIGPIPE=no | ||
+ | SendSIGHUP=yes | ||
+ | |||
+ | # Unset locale for the console getty since the console has problems | ||
+ | # displaying some internationalized messages. | ||
+ | Environment=LANG= LANGUAGE= LC_CTYPE= LC_NUMERIC= LC_TIME= LC_COLLATE= LC_MONETARY= LC_MESSAGES= LC_PAPER= LC_NAME= LC_ADDRESS= LC_TELEPHONE= LC_MEASUREMENT= LC_IDENTIFICATION= | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=getty.target | ||
+ | DefaultInstance=tty1 | ||
+ | </source> | ||
+ | |||
+ | И даём команды: | ||
+ | |||
+ | <source lang=bash> | ||
+ | systemctl enable tty.service | ||
+ | systemctl start tty.service | ||
+ | </source> | ||
+ | |||
+ | |||
+ | ==== И ещё штрихи: ==== | ||
+ | |||
+ | |||
+ | Для того, что-бы первая консоль стартовала сразу при старте: | ||
+ | в /etc/systemd/logind.conf задаем: | ||
+ | |||
+ | <source lang=bash> | ||
+ | ReserveVT=1 | ||
+ | </source> | ||
+ | |||
+ | Для того, что-бы kdm стартовал на седьмой консоле прописываем в | ||
+ | /etc/X11/kdm/kdmrc | ||
+ | |||
+ | <source lang=bash> | ||
+ | ServerVTs=-7 | ||
+ | </source> | ||
+ | (а не 1, как по-умолчанию) | ||
+ | |||
+ | === Ссылки === | ||
+ | [[systemd]] | ||
+ | |||
+ | [[Journald]] | ||
[[Категория:FAQ]] | [[Категория:FAQ]] |
Текущая версия на 09:51, 11 апреля 2017
Содержание |
Улучшаем Systemd
Источники:
Ограничение размера журнала:
Максимальный объем постоянного журнала задаёт переменная SystemMaxUse в конфигурационном файле /etc/systemd/journald.conf. Ограничиваем журнал размером 50 мегабайт:
SystemMaxUse=50M
Указываем хранить журнал в оперативной памяти (полезно для SSD):
После перезагрузки логи будут очищаться вместе с оперативной памятью!
Место хранения журнала указывается в переменной Storage в конфигурационном файле /etc/systemd/journald.conf. Указываем хранить журнал в оперативной памяти (каталог /run/log/journal):
Storage=volatile
Ограничиваем журнал в оперативной памяти размером 5 мегабайт:
RuntimeMaxUse=5M
Удаляем журнал, хранящийся на диске (если не удалить, будет показываться вместо актуального) от root:
rm -Rf /var/log/journal/*
Отправка вывода journald на /dev/tty12
В файле /etc/systemd/journald.conf включить следующие строчки:
ForwardToConsole=yes TTYPath=/dev/tty12 MaxLevelConsole=info
Перезапустить journald при помощи команды:
# systemctl restart systemd-journald
Монтирование "чужих" разделов
Для того, что-бы система не прекращала работу, в случае невозможности монтирования какого-нибудь раздела, например системного раздела с заснувшим там Windows, а просто не монтировала его, прописываем в /etc/fstab с параметром nofail, например:
UUID="F05CC5DD5CC59F2A" /mnt/sda1 ntfs-3g locale=ru_RU.UTF-8,dmask=0,umask=111,nofail 0 0
Автомонтирование по запросу
Если нужно монтировать раздел только в момент первого обращения к нему, прописываем его с параметром comment=systemd.automount
https://webdav.yandex.ru /mnt/yandex.disk davfs noauto,users,uid=user,gid=user,comment=systemd.automount 0 0
Реанимируем консоль /dev/tty1
Новый способ
навеянный https://forum.altlinux.org/index.php?topic=38514
cp /lib/systemd/system/prefdm.service /etc/systemd/system/dm.service
и закомментировать в /etc/systemd/system/dm.service строчку
Conflicts=getty@tty1.service
Старый (не очень правильный) способ :
Создаём файл /etc/systemd/system/tty1.service такого содержания:
# This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. [Unit] Description=Start agetty on tty1 Documentation=man:agetty(8) man:systemd-getty-generator(8) Documentation=http://0pointer.de/blog/projects/serial-console.html After=systemd-user-sessions.service plymouth-quit-wait.service After=rc-local.service # If additional gettys are spawned during boot then we should make # sure that this is synchronized before getty.target, even though # getty.target didn't actually pull it in. Before=getty.target IgnoreOnIsolate=yes # On systems without virtual consoles, don't start any getty. Note # that serial gettys are covered by serial-getty@.service, not this # unit. ConditionPathExists=/dev/tty0 [Service] # the VT is cleared by TTYVTDisallocate ExecStart=-/sbin/agetty tty1 linux Type=idle Restart=always RestartSec=0 UtmpIdentifier=tty1 TTYPath=/dev/tty1 TTYReset=yes TTYVHangup=yes TTYVTDisallocate=yes KillMode=process IgnoreSIGPIPE=no SendSIGHUP=yes # Unset locale for the console getty since the console has problems # displaying some internationalized messages. Environment=LANG= LANGUAGE= LC_CTYPE= LC_NUMERIC= LC_TIME= LC_COLLATE= LC_MONETARY= LC_MESSAGES= LC_PAPER= LC_NAME= LC_ADDRESS= LC_TELEPHONE= LC_MEASUREMENT= LC_IDENTIFICATION= [Install] WantedBy=getty.target DefaultInstance=tty1
И даём команды:
systemctl enable tty.service
systemctl start tty.service
И ещё штрихи:
Для того, что-бы первая консоль стартовала сразу при старте: в /etc/systemd/logind.conf задаем:
ReserveVT=1
Для того, что-бы kdm стартовал на седьмой консоле прописываем в /etc/X11/kdm/kdmrc
ServerVTs=-7
(а не 1, как по-умолчанию)