LINUX.ORG.RU

SystemD, что ты себе позволяешь?

 ,


1

1

Дома шуршит ArchLinux в качестве сервачка на стареньком ноуте.

Добавлял я блог как systemd-unit путем симлинка из /home/bvn13/dev/myblog.service в /etc/systemd/system/myblog.service, как говорила инструкция на арчевики. Все работало, пока я не захотел перезагрузиться.

И вот после перезагрузки я не смог удаленно по ssh зайти. Благо, автологин стоит и тимвувер в автозапуске. И что же я вижу? а sshd не запущен. И блог мой тоже. Делаю # systemctl start myblog.service, а оно говорит, мол, нет такого юнита! КАК?! Делаю # systemctl daemons-reload, и - о, чудо! - мой юнит найден и запущен. Вслед я запустил sshd.

Это что же, получается, я не туда свой юнит засунул? Или это-таки systemd виноват?

★★★★★

1) что ты такого понаписал в юните, что sshd стал от него зависеть?

2) после следующей перезагрузки ситуация повторилась? тогда вероятно systemd не видит твой /home в процессе загрузки

alpha ★★★★★
()
Ответ на: комментарий от bvn13

откуда я знаю, ты же не пишешь. но зная прошаренных линуксоидов, /home 80% что отдельный раздел.
может же myblog.service грузится раньше монтирования\расшифровки /home

system-root ★★★★★
()
Ответ на: комментарий от system-root

когда я ставил монджару, она глючила при разбивке диска. поэтому, я ставил без нее:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
dev             1,9G     0  1,9G   0% /dev
run             1,9G  1,1M  1,9G   1% /run
/dev/sda3       458G   20G  437G   5% /
tmpfs           1,9G   16K  1,9G   1% /dev/shm
tmpfs           1,9G     0  1,9G   0% /sys/fs/cgroup
tmpfs           1,9G   37M  1,9G   2% /tmp
/dev/sda3       458G   20G  437G   5% /home
/dev/sda1       472M   47M  401M  11% /boot
tmpfs           380M  8,0K  380M   1% /run/user/1000

bvn13 ★★★★★
() автор топика
Ответ на: комментарий от alpha

1)

$ cat myblog.service
[Unit]
Description=myapp
After=syslog.target

[Service]
User=bvn13
#ExecStart=/home/bvn13/dev/blog/myblog.sh
ExecStart=/usr/bin/java -jar /home/bvn13/dev/blog/SpringBlog-2.7.0.jar
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

2) у меня еще монга не стартует, поэтому я делаю pacman -Syu, как советуют тут

bvn13 ★★★★★
() автор топика

Извини, но больше похоже на бред. Единственное объяснение которое сейчас мне приходит в голову, это тот что SSH стартует раньше, чем ты получаешь ip по DHCP, а он висит у тебя на конкретном ip, а не 0.0.0.0

anonymous_sama ★★★★★
()
Ответ на: комментарий от bvn13

Systemd читает список юнитов при старте, а монтирование /home происходит на более позднем этапе. Соответственно, если файл юнита - симлинк на еще еще не примонтированную файловую систему, то systemd обломается прочитать его. Для того, чтобы этого избежать, файлы юнитов надо скопировать на доступную при загрузке фс, а не просто кинуть симлинки. Кроме того, файлы мало просто кинуть, юниты еще надо включить командой systemctl enable.

anonymous
()
Ответ на: комментарий от alpha

2) после обновления - sshd не поднялся, по тимвуверу зайти не удается. говорит, что не подключен к маршрутизатору

bvn13 ★★★★★
() автор топика
Ответ на: комментарий от bvn13

sshd и твой сервис скорее всего не связаны, надо разбираться по отдельности, свой сервис пока убрать и починить ssh

alpha ★★★★★
()

Тред не читал, боже, жесть, они уже через системду блоги пишут?!

Bruce_Lee ★★
()
Ответ на: комментарий от bvn13

у меня нет syslog.target, но если systemd-analyze critical-chain myblog.service покажет, что local-fs.target идёт ниже, наверное чёт фигово с dependency.
хотя лучше кастануть сертифицированного специалиста системд intelfx

system-root ★★★★★
()

путем симлинка из /home

Не надо так

xDShot ★★★★★
()
Ответ на: комментарий от bvn13

ты бы хоть хомяк в зависимости добавил. Так например RequiresMountsFor=/path/to/script А лучше перенести на рутовый раздел.

Dred ★★★★★
()
Ответ на: комментарий от redgremlin

Я так делал, в смысле монтировал одно устройство 2 раза в разные места, вполне работоспособно. Хотя данный конкретный случай, конечно, жесть.

anonymous
()

симлинка из /home/bvn13/dev/myblog.service в /etc/systemd/system/myblog.service

Что, в арчевики действительно написано делать симлинк на хомяк ? Ересь какая

Dred ★★★★★
()
Ответ на: комментарий от redgremlin

как грится, в 5 звёзд смог, в fstab не смог.
с другой стороны, systemd может игнорировать такой треш.
пусть mount показывает.

Deleted
()
Последнее исправление: Lifun (всего исправлений: 1)
Ответ на: комментарий от massimus

Ну да, я просто на твой коммент ответил. Но то было ТСу, есличо.

ozz_is_here
()

Это что же, получается, я не туда свой юнит засунул?

Да. Все юниты должны быть доступны сразу.

intelfx ★★★★★
()

Добавлял я блог как systemd-unit путем симлинка из /home/bvn13/dev/myblog.service в /etc/systemd/system/myblog.servic

systemctl enable /home/bvn13/dev/myblog.service
Radjah ★★★★★
()
Ответ на: комментарий от Radjah

Делал это, когда ставил.

По сабжу - комп сейчас не доступен, поэтому все эксперименты вечером.

bvn13 ★★★★★
() автор топика

сервер

ноутбук

арчлинукс

блог на

системдэ

.jar

/0

anonymous
()
Ответ на: комментарий от DonkeyHot

в общем.

после рестарта ссх, тимвувер, постгрес не поднялись. постгрес был даунгрейжен с 10.1 до 9.6 из кеша пакмана, для тимвувера поставлен пакет по инструкции https://bbs.archlinux.org/viewtopic.php?id=230675 , а ссх - в списке юнитов он включен, работает... даже к локалхосту могу законнектиться... но не пускает по локалке. хз почему.

bvn13 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.