無法將 /boot/initrd.img-3.2.0-24-generic 符號連結到 initrd.img:檔案存在

無法將 /boot/initrd.img-3.2.0-24-generic 符號連結到 initrd.img:檔案存在

自從今天運行升級以來,我無法再使用 apt-get。

例證:

sudo apt-get install curl
Reading package lists... Done
Building dependency tree       
Reading state information... Done
curl is already the newest version.
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]? Y
Setting up linux-image-3.2.0-24-generic (3.2.0-24.38) ...
Running depmod.
Failed to symbolic-link /boot/initrd.img-3.2.0-24-generic to initrd.img: File exists
dpkg: error processing linux-image-3.2.0-24-generic (--configure):
 subprocess installed post-installation script returned error exit status 17
Errors were encountered while processing:
 linux-image-3.2.0-24-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)

據我所知,這就是它失敗的原因:

sudo dpkg --configure linux-image-3.2.0-24-generic
Setting up linux-image-3.2.0-24-generic (3.2.0-24.38) ...
Running depmod.
Failed to symbolic-link /boot/initrd.img-3.2.0-24-generic to initrd.img: File exists
dpkg: error processing linux-image-3.2.0-24-generic (--configure):
 subprocess installed post-installation script returned error exit status 17
Errors were encountered while processing:
 linux-image-3.2.0-24-generic

然而,當我運行這個時,一切似乎都正常...

/var/lib/dpkg/info/linux-image-3.2.0-24-generic.postinst
echo $?
0

到底發生了什麼事?我有點害怕亂搞,因為我認為這是至關重要的事情...

答案1

initrd通過運行從根目錄中刪除了符號鏈接

sudo rm /initrd.img

但如果你想有一個故障保護,當然可以initrd.img在刪除之前備份現有的。

然後運行

sudo apt-get -f install [package] 

並且應該能夠成功運行。

答案2

嘗試

sudo apt-get -f install [package]

這將強制升級。至少值得一試。做一個

sudo apt-get update

也不會受傷。

相關內容