Участник:HihinRuslan/Systemd

Материал из ALT Linux Wiki

< Участник:HihinRuslan(Различия между версиями)
Перейти к: навигация, поиск
(Ссылки)
(И ещё штрихи:)
 
(13 промежуточных версий не показаны.)
Строка 14: Строка 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>
Строка 38: Строка 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>
 +
 
 +
=== Реанимируем консоль /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>
</source>
 +
(а не 1, как по-умолчанию)
=== Ссылки ===
=== Ссылки ===

Текущая версия на 09:51, 11 апреля 2017

Содержание

Улучшаем Systemd

Источники:

archwiki Systemd_(Русский)

archwiki Fstab_(Русский)

Ограничение размера журнала:

Максимальный объем постоянного журнала задаёт переменная 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, как по-умолчанию)

Ссылки

systemd

Journald

 
Личные инструменты