Everything gets installed in the root directory
Я предполагаю, что вы имеете в виду «в корневом разделе». «Корневой каталог» — это домашний каталог root , привилегированного пользователя.
the following sub drives
Вероятно, вы имели в виду «разделы».
16gb for switch
Я предполагаю, что это "своп".
Вы не можете устанавливать пакеты из диспетчера пакетов на «домашний» раздел; это пространство, посвященное вашим личным файлам и данным.
Поскольку у вас явно нет опыта работы с Linux (без обид ), лучшее, что вы можете сделать, это попросить человека, который сделал для вас разметку, и потребовать, чтобы он расширил корневой раздел, возможно, добавив диск.
systemd no protege los programas de servicio contra la adquisición de una terminal de control. Deben protegerse cuando abren archivos de registro especificados por el usuario -, mediante el uso de la bandera O_NOCTTY
.
$ rpm -q systemd
systemd-238-8.git0e0aa59.fc28.x86_64
$ systemctl cat test
# /etc/systemd/system/test.service
[Service]
Type=simple
ExecStart=/bin/sh -c "exec cat </dev/tty10 >/dev/tty10"
$ systemctl status test
● test.service
Loaded: loaded (/etc/systemd/system/test.service; static; vendor preset: disabled)
Active: active (running) since Fri 2018-06-01 11:28:41 BST; 1min 35s ago
Main PID: 12173 (cat)
Tasks: 1 (limit: 4915)
Memory: 180.0K
CGroup: /system.slice/test.service
└─12173 cat
Jun 01 11:28:41 alan-laptop systemd[1]: Started test.service.
$ ps -ejf
UID PID PPID PGID SID C STIME TTY TIME CMD
...
root 12173 1 12173 12173 0 11:28 tty10 00:00:00 cat
También confirmé que cambiar a tty10 y presionar Ctrl+C detiene el proceso cat
.
Does systemd provide some protection against this […]?
Usted está asumiendo que debería. Por el contrario, considere configuraciones como TTYPath
y servicios como getty@.service
. La capacidad de obtener un terminal de control es en realidad necesaria , para que la gestión de servicios pueda abarcar los servicios de inicio de sesión de TTY, que deben hacer precisamente eso.
Lo que realmente protege contra esto es alejarse de la asignación automática de un terminal de control en open()
y descartar la semántica antigua. O protegería contra ella. No es el caso en Linux, pero en FreeBSD, NetBSD, OpenBSD y Hurd hoy en día la bandera O_NOCTTY
a open()
es completamente superflua. La única forma de adquirir una terminal de control es exigiéndola explícitamente, con ioctl(…TIOSCTTY)
. Este ha sido el caso durante casi un cuarto de siglo, desde los días de 4.4BSD.
Mientras tanto, el hábito de entrar en Linux es el hábito que también ha sido el caso durante mucho tiempo, mucho antes de systemd:O_NOCTTY
en todas partes . & #9786;
(Sí, las bibliotecas GNU y musl C no te dan esto por fopen()
. Esta es una de varias razones por las que fdopen()
sigue siendo un mecanismo útil.)
La gestión de servicios con el conjunto de herramientas de nosh service-manager
toma un rumbo ligeramente diferente en esto. En lugar de convertir siempre los procesos daemon en líderes de sesión, a cada servicio se le asigna su propio objeto de sesión del kernel que luego no tiene uso, solo los servicios específicos también se encadenan a través de setsid
explícitamente; tales como ttylogin@*
servicios que utilizan open-controlling-tty
, agetty@*
servicios donde, por supuesto, agetty
configura el terminal de control y getty@*
servicios. (Como se indica en la fuente del servicio, mgetty
se llama setsid()
a sí mismo.)
setsid
.Guía de comida . Softwares. open-controlling-tty
. Guía de comida . Softwares. service
. nosh blurb. Softwares. fork()
para 'poner el demonio en segundo plano'. ". Errores a evitar al diseñar programas daemon Unix . Respuestas dadas con frecuencia.