systemd에서 init.d 스크립트 비활성화


11

init 시스템을 sysvinit에서 raspbian 설치의 systemd로 변경했습니다. 설치가 정상적으로 부팅되지만 부팅시 lightdm이 시작됩니다. 나는 그것을하고 싶지 않습니다.

lightdm.service부팅시 시작된 것으로 나타났습니다 . 서비스 중지

systemctl stop lightdm.service

잘 작동합니다.

systemctl disable lightdm.service 비활성화해야하지만 나에게줍니다.

Failed to issue method call: No such file or directory

systemctl status lightdm.service 나에게 준다

lightdm.service - LSB: Light Display Manager
      Loaded: loaded (/etc/init.d/lightdm)
      Active: inactive (dead) since Thu, 03 Jul 2014 09:33:00 +0000; 22min ago
     Process: 762 ExecStop=/etc/init.d/lightdm stop (code=exited, status=0/SUCCESS)
     Process: 411 ExecStart=/etc/init.d/lightdm start (code=exited, status=0/SUCCESS)
      CGroup: name=systemd:/system/lightdm.service

lightdm이 시스템 스크립트가 아닌 init.d 스크립트에서 시작되었다고 가정 systemctl disable하고 소스가 init.d 스크립트 인 경우 작동하지 않습니다. 부팅 할 때 lightdm을 비활성화하려면 어떻게해야합니까?

편집 : 추가 정보

출력 $ ls -l /etc/systemd/system:

total 20
lrwxrwxrwx 1 root root   42 Jul  3 09:04 dbus-fi.epitest.hostap.WPASupplicant.service -> /lib/systemd/system/wpa_supplicant.service
lrwxrwxrwx 1 root root   37 Jul  3 13:03 default.target -> /lib/systemd/system/multi-user.target
drwxr-xr-x 2 root root 4096 Jul  3 09:00 getty.target.wants
drwxr-xr-x 2 root root 4096 Jul  3 09:04 graphical.target.wants
drwxr-xr-x 2 root root 4096 Oct 11  2013 local-fs.target.wants
drwxr-xr-x 2 root root 4096 Jul  3 09:04 multi-user.target.wants
drwxr-xr-x 2 root root 4096 Oct 11  2013 sysinit.target.wants
lrwxrwxrwx 1 root root   35 Mar 20  2013 syslog.service -> /lib/systemd/system/rsyslog.service

출력 systemctl --all -t target:

UNIT                LOAD   ACTIVE   SUB    JOB DESCRIPTION
all.target          error  inactive dead       all.target
basic.target        loaded active   active     Basic System
cryptsetup.target   loaded active   active     Encrypted Volumes
emergency.target    loaded inactive dead       Emergency Mode
final.target        loaded inactive dead       Final Step
getty.target        loaded active   active     Login Prompts
local-fs-pre.target loaded active   active     Local File Systems (Pre)
local-fs.target     loaded active   active     Local File Systems
multi-user.target   loaded active   active     Multi-User
network.target      loaded inactive dead       Network
nss-lookup.target   loaded inactive dead       Name Lookups
remote-fs.target    loaded active   active     Remote File Systems
rescue.target       loaded inactive dead       Rescue Mode
shutdown.target     loaded inactive dead       Shutdown
sockets.target      loaded active   active     Sockets
sound.target        loaded active   active     Sound Card
swap.target         loaded active   active     Swap
sysinit.target      loaded active   active     System Initialization
syslog.target       loaded active   active     Syslog
time-sync.target    loaded inactive dead       System Time Synchronized
umount.target       loaded inactive dead       Unmount All Filesystems

출력 ls -l /etc/systemd/system/multi-user.target.wants/:

total 8
drwxr-xr-x 2 root root 4096 Jul  3 09:04 .
drwxr-xr-x 7 root root 4096 Jul  3 13:03 ..
lrwxrwxrwx 1 root root   36 Oct 11  2013 remote-fs.target -> /lib/systemd/system/remote-fs.target
lrwxrwxrwx 1 root root   33 Jul  3 09:04 rsync.service -> /lib/systemd/system/rsync.service
lrwxrwxrwx 1 root root   35 Mar 20  2013 rsyslog.service -> /lib/systemd/system/rsyslog.service
lrwxrwxrwx 1 root root   32 Jul  3 09:04 sudo.service -> /lib/systemd/system/sudo.service
lrwxrwxrwx 1 root root   42 Jul  3 09:04 wpa_supplicant.service -> /lib/systemd/system/wpa_supplicant.service

우리는 RPi / raspian을 Server Fault의 의미에 대해 국소적인 것으로 간주하지 않습니다. 이 장치의 열정은 Unix & Linux , Super User 또는 Unix와 관련이없는 질문 인 Raspberry Pi에 더 적합합니다 .

감사. 이상한 질문, 각 사이트의 정확한 범위를 읽을 수있는이 다른 사이트의 정확한 범위를 어디에서 찾을 수 있습니까?
Martijn

어려워요. 투어도움말 센터 는 시작하기에 좋은 곳입니다. 또한 메타에 대한 특정 요점과 특히 meta.serverfault.com/questions/5586/… 와 관련이 있습니다 .

으르렁 나는 그것에 동의하지 않지만, 나는 그 의견이 무게를 지니기에는 너무 많은 새로운 이민자입니다. 동시에 유닉스와 리눅스에 관한 주제에 대해서는 적어도 많은 주제가 있습니다. 마이그레이션을 요청합니다.
Martijn

답변:


5

(루트로) 시도하십시오 :-

systemctl disable graphical.target

다시 시작한 후 multi-user와는 반대로 모드에 있어야합니다 graphical.

실패하면 기본 대상이 무엇인지 확인하십시오.

ls -l /lib/systemd/system/default.target
# or, depending on your distro
ls -l /etc/systemd/system/default.target

경로의 유일한 차이점은 최상위 디렉토리 인 /lib또는 /etc입니다.

위의 링크는 소프트 링크 여야합니다 multi-user.target. 그것이 가리키는 경우 graphical.target(루트로)를 사용하여 변경하십시오.

ln -sf /lib/systemd/system/multi-user.target /lib/systemd/system/default.target
# or
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

이전 ls -l명령 에서 소프트 링크가 발견 된 위치에 따라

재부팅하면 디스플레이 관리자가 시작되지 않습니다.

어떤 목표가 있는지 보려면 다음을 실행하십시오.

systemctl --all -t target

어쩌면 놀랍게도, 그것은 여전히 ​​저를 lightdm에 착륙시킵니다
Martijn

흠. 놀랍습니다. 좀 더 파고 들었습니다. 문제는 현재 VPS에만 SSH를 사용할 수 있으며 내 생각을 확인하기 위해 '앞에'그래픽 시스템이 없다는 것입니다!
garethTheRed

실제 시스템에 액세스 할 수있게되었습니다.
garethTheRed

이상하게도 /etc/systemd/system/default.target의 default.target이 /lib/systemd/system/multi-user.target에 심볼릭 링크되어 있고 systemctl list-units == type = target does graphic.target을 활성으로 표시하지 않습니다. 특정 폴백 init.d 스크립트가 존재한다는 느낌이 듭니다. 아직 문제의 원인을 찾지 못했지만 개인 문제는 유용한 범용 질문이 아니라 "내 문제를 해결하는 데 도움이되는"포럼 질문이되었습니다. 더 많은 도움을 주셔서 감사하지만 더 이상 스택 교환에 속하지 않습니다.
Martijn

1
올바른 방법은systemctl set-default multi-user
Majenko

7

systemctl disable소스가 init.d스크립트 인 경우 작동하지 않습니다 . lightdm부팅 할 때 비활성화하려면 어떻게해야 합니까?

아이러니하게도,이 작업을 수행하는 "공식적인"방법은 지금까지 어떤 대답에서도 언급되지 않았습니다. 완전성을 위해 여기에 있습니다 :

서비스를 "마스크"하십시오.

systemctl mask lightdm.service

또는 자신 만의 유닛 파일을 생성 한 /etc/systemd/system/lightdm.service다음 enableand disable명령을 사용하여 활성화 및 비활성화 할 수있는 적절한 일류 시스템 시민이 됩니다. 단위 파일 init.d은 동일한 기본 이름의 파일을 대체 합니다. 원한다면 lightdm.service데비안 사람들이 쓴 것을 닉시킬 수 있습니다 . ☺

추가 자료


2

update-rc.d데비안에서 init 스크립트를 활성화하거나 비활성화 할 수 있습니다 . 사용하십시오 update-rc.d lightdm disable.

graphic.target을 비활성화해도 작동하지 않는 이유는 lightdm에 graphic.target에 대한 지식이 없기 때문입니다. init 스크립트이며 모든 다중 사용자 런레벨 (2-5)에서 시작합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.