
14.10을 systemd로 전환하려고 할 때 다음과 같은 상황이 발생했습니다. 'nvidia-prime' 패키지를 제거할 수 없고 이로 인해 upstart 또는 systemd를 설치할 수 없으므로 이제 컴퓨터가 재부팅되지 않습니다. 어떻게 dpkg가 멍청한 패키지를 제거하도록 강제할 수 있나요?
dpkg --force-all -P nvidia-prime
(Reading database ... 204460 files and directories currently installed.)
Removing nvidia-prime (0.6.7) ...
Failed to issue method call: Unit nvidia-prime.service not loaded.
invoke-rc.d: initscript nvidia-prime, action "stop" failed.
dpkg: error processing package nvidia-prime (--purge):
subprocess installed pre-removal script returned error exit status 5
Failed to issue method call: Unit nvidia-prime.service failed to load: No such file or directory.
invoke-rc.d: initscript nvidia-prime, action "start" failed.
dpkg: error while cleaning up:
subprocess installed post-installation script returned error exit status 6
Errors were encountered while processing:
nvidia-prime
root@Shamaniak:~# dpkg -P nvidia-prime
(Reading database ... 204460 files and directories currently installed.)
Removing nvidia-prime (0.6.7) ...
Failed to issue method call: Unit nvidia-prime.service not loaded.
invoke-rc.d: initscript nvidia-prime, action "stop" failed.
dpkg: error processing package nvidia-prime (--purge):
subprocess installed pre-removal script returned error exit status 5
Failed to issue method call: Unit nvidia-prime.service failed to load: No such file or directory.
invoke-rc.d: initscript nvidia-prime, action "start" failed.
dpkg: error while cleaning up:
subprocess installed post-installation script returned error exit status 6
Errors were encountered while processing:
nvidia-prime
apt-get install -fm upstart
Reading package lists... Done
Building dependency tree
Reading state information... Done
upstart is already the newest version.
upstart set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n]
Setting up nvidia-prime (0.6.7) ...
Failed to issue method call: Unit nvidia-prime.service failed to load: No such file or directory.
invoke-rc.d: initscript nvidia-prime, action "start" failed.
dpkg: error processing package nvidia-prime (--configure):
subprocess installed post-installation script returned error exit status 6
Errors were encountered while processing:
nvidia-prime
E: Sub-process /usr/bin/dpkg returned an error code (1)
apt-get install systemd-sysv
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
nvidia-prime upstart
The following NEW packages will be installed:
systemd-sysv
0 upgraded, 1 newly installed, 2 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 0 B/8 548 B of archives.
After this operation, 700 kB disk space will be freed.
Do you want to continue? [Y/n]
(Reading database ... 204460 files and directories currently installed.)
Removing nvidia-prime (0.6.7) ...
Failed to issue method call: Unit nvidia-prime.service not loaded.
invoke-rc.d: initscript nvidia-prime, action "stop" failed.
dpkg: error processing package nvidia-prime (--remove):
subprocess installed pre-removal script returned error exit status 5
Failed to issue method call: Unit nvidia-prime.service failed to load: No such file or directory.
invoke-rc.d: initscript nvidia-prime, action "start" failed.
dpkg: error while cleaning up:
subprocess installed post-installation script returned error exit status 6
dpkg: upstart: dependency problems, but removing anyway as you requested:
friendly-recovery depends on upstart | systemd-sysv; however:
Package upstart is to be removed.
Package systemd-sysv is not installed.
nvidia-prime depends on upstart.
Removing upstart (1.13.2-0ubuntu2) ...
Processing triggers for man-db (2.7.0.2-2) ...
Errors were encountered while processing:
nvidia-prime
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@Shamaniak:~# apt-get purge nvidia-prime
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
friendly-recovery : Depends: upstart or
systemd-sysv but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
root@Shamaniak:~# apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
upstart
Suggested packages:
graphviz upstart-monitor
The following NEW packages will be installed:
upstart
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 0 B/118 kB of archives.
After this operation, 671 kB of additional disk space will be used.
Do you want to continue? [Y/n]
Selecting previously unselected package upstart.
(Reading database ... 204423 files and directories currently installed.)
Preparing to unpack .../upstart_1.13.2-0ubuntu2_amd64.deb ...
Unpacking upstart (1.13.2-0ubuntu2) ...
Processing triggers for man-db (2.7.0.2-2) ...
Processing triggers for dbus (1.8.8-1ubuntu2.1) ...
Setting up upstart (1.13.2-0ubuntu2) ...
Setting up nvidia-prime (0.6.7) ...
Failed to issue method call: Unit nvidia-prime.service failed to load: No such file or directory.
invoke-rc.d: initscript nvidia-prime, action "start" failed.
dpkg: error processing package nvidia-prime (--configure):
subprocess installed post-installation script returned error exit status 6
Errors were encountered while processing:
nvidia-prime
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@Shamaniak:~# sudo apt-get install --reinstall nvidia-prime
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
E: Internal Error, No file name for nvidia-prime:amd64
답변1
내가 해냈어. 실제로 해당 패키지 스크립팅을 파헤쳐야 했습니다.
cat /var/lib/dpkg/info/nvidia-prime.postinst
거기에서 /etc/init.d/nvidia-prime의 존재를 확인하는 것을 보고 그것을 만들었습니다.
touch /etc/init.d/nvidia-prime
그런 다음 패키지가 자체적으로 다시 설치되고 삭제되도록 허용했습니다.
답변2
다음은 귀하의 의도에 거의 동일한 답변의 링크입니다.
nvidia-prime 패키지는 완벽하게 작동합니다. 귀하의 NVIDIA 설치가 어떻게든 "과도하게 완료"되었다는 것은 분명한 사실입니다. 여기 단계에 설명된 것과 같습니다.
설치가 약간 과장된 경우 다음을 시도해 보겠습니다.
sudo apt-get 설치 ppa-purge
sudo apt-get purge nvidia*
sudo ppa-purge ppa:xorg-edgers/ppa
sudo 재부팅
터미널로 돌아가서 다음만 시도해 보세요.
sudo add-apt-repository ppa:그래픽-드라이버/ppa
sudo apt-get 업데이트
그럼 여기 있어요:
sudo apt-get 설치 nvidia-358 nvidia-prime
sudo apt-get install --xserver-xorg 다시 설치
sudo 재부팅
귀하의 상황에 도움이 되셨다면 댓글로 답변 부탁드립니다.
(참조: