문제가 발생할 것으로 예상되므로 경고하지 마세요 ;-). 나는 경고가 아닌 지침을 찾고 있습니다.
systemd
나는 오래된 Arch 노트북을 교체하고 싶어서 OpenRC
그걸로 달렸습니다 pacman -S openrc
. 아름다운. 이제 제거하려는 lvm2-openrc
대상 openrc
및 제거하려는 패키지 와 같은 여러 패키지가 있습니다 libsystemd
. 나는 pacman
전적으로 동의하지 않습니다.
pacman -S lvm2-openrc
resolving dependencies...
looking for conflicting packages...
:: device-mapper-nosystemd and device-mapper are in conflict. Remove device-mapper? [y/N] y
:: libeudev and libsystemd are in conflict (libudev.so). Remove libsystemd? [y/N] y
:: lvm2-nosystemd and lvm2 are in conflict. Remove lvm2? [y/N] y
:: eudev and systemd are in conflict (udev). Remove systemd? [y/N] y
error: failed to prepare transaction (could not satisfy dependencies)
:: accountsservice: removing systemd breaks dependency 'systemd'
:: ceph: removing libsystemd breaks dependency 'libsystemd'
:: colord: removing systemd breaks dependency 'systemd'
:: crda: removing systemd breaks dependency 'systemd'
:: cups: removing systemd breaks dependency 'systemd'
:: dhcpcd: removing libsystemd breaks dependency 'libsystemd'
:: lib32-systemd: removing systemd breaks dependency 'systemd'
:: libatasmart: removing libsystemd breaks dependency 'libsystemd'
:: libgudev: removing libsystemd breaks dependency 'libsystemd'
:: libinput: removing systemd breaks dependency 'systemd'
:: libmbim: removing systemd breaks dependency 'systemd'
:: libpulse: removing systemd breaks dependency 'systemd'
:: libusb: removing libsystemd breaks dependency 'libsystemd'
:: libwacom: removing systemd breaks dependency 'systemd'
:: mariadb: removing libsystemd breaks dependency 'libsystemd'
:: mkinitcpio: removing systemd breaks dependency 'systemd'
:: modemmanager: removing systemd breaks dependency 'systemd'
:: netctl: removing systemd breaks dependency 'systemd'
:: openvpn: removing libsystemd breaks dependency 'libsystemd'
:: pcmciautils: removing systemd breaks dependency 'systemd'
:: pcsclite: removing systemd breaks dependency 'systemd'
:: plymouth: removing systemd breaks dependency 'systemd'
:: procps-ng: removing libsystemd breaks dependency 'libsystemd'
:: rpcbind: removing libsystemd breaks dependency 'libsystemd'
:: rtkit: removing systemd breaks dependency 'systemd'
:: subversion: removing systemd breaks dependency 'systemd'
:: upower: removing systemd breaks dependency 'systemd'
:: util-linux: removing libsystemd breaks dependency 'libsystemd'
:: xdg-user-dirs: removing systemd breaks dependency 'systemd'
:: xf86-input-evdev: removing libsystemd breaks dependency 'libsystemd'
:: xf86-input-wacom: removing libsystemd breaks dependency 'libsystemd'
이러한 충돌을 어떻게 해결합니까? 설치 한 후에 systemd
는 어떻게 제거하나요? 완전히 제거할 수 있습니까? 아니면 일부를 유지해야 합니까(얼마나 많이)?
지금까지 저는 한 컴퓨터에 Arch와 OpenRC만 설치했는데 아무런 문제도 없었습니다. 나는 systemd만을 사용하는 기계에서 거기에 가고 싶습니다. 지금까지 내 주머니에 있는 유일한 대답은 모든 것을 다시 설치하는 것입니다. 그러나 강제하지 않는 한, 알아내기 쉬운 이유로 그것을 피하는 것이 가능합니까? 어떻게?
답변1
그것은 엉망으로 판명되었습니다. 내 경험상 전환하는 것이 더 쉽습니다.도착하다비교하다~에서systemd...적어도 Arch에서는요. 나는 이것이 바람직하지 않은 효과라고 생각하지 않습니다.
일부 튜토리얼에서는 더 이상 존재하지 않는(404 오류 포함) 저장소를 참조하고, 일부 튜토리얼에서는 더 이상 적용되지 않는 단계를 지시하고, 다른 튜토리얼에서는 혼란스러운 시스템에 갇히게 됩니다. 제가 따랐던 튜토리얼에서는 그래픽 시스템과 키보드, 터치패드, 마우스가 더 이상 작동하지 않게 되었습니다. 단기적으로는 사용할 수 없습니다.
Arch/Manjaro부터 다음까지도 있습니다.애티커스. 하지만 마이그레이션 튜토리얼을 따랐더니 시스템이 너무 엉망이어서 수정할 수 없다는 사실을 알게 되었습니다.
그러다가 내가 봤어동영상(프랑스어) Manjaro Architect를 사용하여 OpenRC를 통해 Manjaro를 설치하는 방법을 보여줍니다. 그래서 나는 다음 단계를 따르기로 결정했습니다. 어느 시점에서 기본 패키지를 구성할 때 openrc
vs를 선택하라는 메시지가 표시됩니다 systemd
. 불행하게도 설치 중에 실수를 해서 재부팅하면 된다고 생각해서 재부팅했습니다. 이유는 모르겠지만 - 설치를 7번이나 다시 시작했습니다. - 다음 openrc
사이 systemd
의 옵션이 사라지고 다음 중 하나의 선택만 남았습니다: systemd
. 모든 시도에도 불구하고 옵션을 되돌릴 수 없었습니다. USB 설치 미디어를 덮어써도 도움이 되지 않습니다. 그래서 설치 프로그램이 업데이트되었을 수 있으며 openrc
더 이상 Manjaro의 옵션이 아니라고 결론을 내렸습니다.
Gentoo는 나에게 선택권과 제어권을 제공하는 유일한 시스템이었기 때문에 결국 Gentoo를 설치하게 되었습니다. Gentoo는 2004년에 나의 첫 배포판이었기 때문에 Alien 영역에는 속하지 않습니다. 그리고 이에 대해 Gentoo 개발자들에게 감사드립니다 openrc
.
그것은 나쁜 여행의 끝이었습니다.
답변2
몇 가지 유용한 플래그가 있습니다.pacman
이렇게 하면 패키지를 더 쉽게 제거할 수 있습니다.
그냥 핵무기를 사용 systemd
하고 필요한 모든 libsystemd
패키지를 남겨둘 수 있습니다.systemd
pacman -Rdd systemd libsystemd
systemd
또는 의존하는 패키지를 제거해 볼 수도 있습니다.
pacman -R systemd libsytemd $(pacman -Qi systemd | grep "Req" | sed -e 's/Required By\s*://') $(pacman -Qi libsystemd | grep "Req" | sed -e 's/Required By\s*://')
물론, 무엇을 설치하느냐에 따라 몇 가지 레벨을 더 올려야 할 수도 있지만, 문제가 발생할 것으로 예상할 수 있습니다.