उबंटू 16.04 टूटे हुए कर्नेल पैकेज मुझे एप्ट-गेट के साथ कुछ भी स्थापित या हटाने नहीं देंगे


11

जब भी मैं एप्टीट्यूड के साथ कुछ भी करने की कोशिश करता हूं, चाहे वह इंस्टॉल हो, रिमूव हो, पर्जिंग हो, अपडेट हो, अपग्रेड मैं हमेशा एक ही त्रुटि के साथ हिट हो जाता हूं।

ses@ses-VirtualBox:~/Downloads$ sudo apt-get install ssh
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  linux-headers-4.4.0-45 linux-headers-4.4.0-45-generic linux-image-4.4.0-45-generic linux-image-extra-4.4.0-45-generic
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  ncurses-term openssh-server openssh-sftp-server ssh-import-id
Suggested packages:
  ssh-askpass rssh molly-guard monkeysphere
The following packages will be REMOVED:
  linux-image-extra-4.4.0-38-generic linux-image-extra-4.4.0-42-generic
The following NEW packages will be installed:
  ncurses-term openssh-server openssh-sftp-server ssh ssh-import-id
0 upgraded, 5 newly installed, 2 to remove and 0 not upgraded.
10 not fully installed or removed.
Need to get 0 B/643 kB of archives.
After this operation, 320 MB disk space will be freed.
Do you want to continue? [Y/n] y
Preconfiguring packages ...
(Reading database ... 308434 files and directories currently installed.)
Removing linux-image-extra-4.4.0-38-generic (4.4.0-38.57) ...
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic
run-parts: executing /etc/kernel/postinst.d/dkms 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic
update-initramfs: Generating /boot/initrd.img-4.4.0-38-generic
run-parts: executing /etc/kernel/postinst.d/pm-utils 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic
run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic
run-parts: executing /etc/kernel/postinst.d/update-notifier 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic
run-parts: executing /etc/kernel/postinst.d/vboxadd 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic
run-parts: failed to exec /etc/kernel/postinst.d/vboxadd: Exec format error
run-parts: /etc/kernel/postinst.d/vboxadd exited with return code 1
dpkg: error processing package linux-image-extra-4.4.0-38-generic (--remove):
 subprocess installed post-removal script returned error exit status 1
Removing linux-image-extra-4.4.0-42-generic (4.4.0-42.62) ...
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.4.0-42-generic /boot/vmlinuz-4.4.0-42-generic
run-parts: executing /etc/kernel/postinst.d/dkms 4.4.0-42-generic /boot/vmlinuz-4.4.0-42-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.4.0-42-generic /boot/vmlinuz-4.4.0-42-generic
update-initramfs: Generating /boot/initrd.img-4.4.0-42-generic
run-parts: executing /etc/kernel/postinst.d/pm-utils 4.4.0-42-generic /boot/vmlinuz-4.4.0-42-generic
run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.4.0-42-generic /boot/vmlinuz-4.4.0-42-generic
run-parts: executing /etc/kernel/postinst.d/update-notifier 4.4.0-42-generic /boot/vmlinuz-4.4.0-42-generic
run-parts: executing /etc/kernel/postinst.d/vboxadd 4.4.0-42-generic /boot/vmlinuz-4.4.0-42-generic
run-parts: failed to exec /etc/kernel/postinst.d/vboxadd: Exec format error
run-parts: /etc/kernel/postinst.d/vboxadd exited with return code 1
dpkg: error processing package linux-image-extra-4.4.0-42-generic (--remove):
 subprocess installed post-removal script returned error exit status 1
Errors were encountered while processing:
 linux-image-extra-4.4.0-38-generic
 linux-image-extra-4.4.0-42-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)

मैंने इस सवाल का अनुसरण करने की कोशिश की, लेकिन कोई किस्मत नहीं: एप आंशिक रूप से स्थापित कर्नेल को हटाने में विफल रहता है और किसी भी अन्य पैकेज को स्थापित नहीं कर सकता है

dpkg स्टेटस फाइल की जाँच कर रहा हूँ कि दोनों पैकेज आधे-अधूरे हैं

Package: linux-image-extra-4.4.0-38-generic
Status: deinstall ok half-installed
Priority: optional
Section: kernel
Installed-Size: 158607
Maintainer: Ubuntu Kernel Team <kernel-team@lists.ubuntu.com>
Architecture: amd64
Source: linux
Version: 4.4.0-38.57
Depends: linux-image-4.4.0-38-generic, crda | wireless-crda
Description: Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 This package contains the Linux kernel extra modules for version 4.4.0 on
 64 bit x86 SMP.
 .
 Also includes the corresponding System.map file, the modules built by the
 packager, and scripts that try to ensure that the system is not left in an
 unbootable state after an update.
 .
 Supports Generic processors.
 .
 Geared toward desktop and server systems.
 .
 You likely do not want to install this package directly. Instead, install
 the linux-generic meta-package, which will ensure that upgrades work
 correctly, and that supporting packages are also installed.

** संपादन

उपयोगकर्ता के निर्देश के अनुसार कर्नेल पैकेज को मैन्युअल रूप से हटाने के बाद paste.ubuntu.com/23487716

इस बीच sudo apt-get install -f Ubuntu के दौरान मुझे सिस्टम एरर के बारे में अलर्ट किया गया यहाँ छवि विवरण दर्ज करें


क्या होता है जब आपका रन sudo apt-get install -f?
नकारात्मक

मुझे एक ही मुद्दा मिलता है
दिनांक

1
क्या आपने हाल ही में VirtualBox स्थापित किया है? समस्या लाइन है run-parts: failed to exec /etc/kernel/postinst.d/vboxadd: Exec format errorvboxaddजब भी आप कर्नेल जोड़ते या हटाते हैं, तो हर बार चलाया जाएगा और हर बार इंस्टॉलेशन या निष्कासन को बाधित करता रहेगा। Exec format errorआमतौर पर इसका मतलब है कि निष्पादन योग्य उल्लेख गलत वास्तुकला के लिए संकलित किया गया था। का आउटपुट क्या है file /etc/kernel/postinst.d/vboxadd?
चाई टी। रेक्स

/etc/kernel/postinst.d/vboxadd: खाली
दिनांक

मुझे आश्चर्य है कि sudo apt-get install sshउन लिनक्स-छवि-अतिरिक्त पैकेज को हटाने की कोशिश क्यों की जाती है।
जर्नो

जवाबों:


11

नोट: जैसा कि ChaiT.Rex ने नीचे टिप्पणी की, समस्या को ठीक करने के लिए केवल 4 और 5 चरणों की आवश्यकता है।

मैं किसी भी व्यक्ति को मैन्युअल रूप से कुछ पैकेज निकालने की आवश्यकता हो सकती है, के लिए प्रलेखित 1,2 और 3 को छोड़ देता हूं। लेकिन पहले यह प्रयास करें /ubuntu//a/490677/26246 जो आसान दिखता है।

  1. उन्हें मैन्युअल रूप से निकालें, सावधान रहें यदि आप नीचे दिए गए आदेशों rm -rfको फिर से देख रहे हैं तो यह एक खतरनाक कमांड है जब इसे रूट के रूप में चलाया जाता है।

    sudo rm -rf /lib/modules/4.4.0-38-generic /lib/modules/4.4.0-42-generic
    sudo rm -rf /usr/share/doc/linux-image-extra-4.4.0-38-generic /usr/share/doc/linux-image-extra-4.4.0-42-generic
    sudo rm /var/lib/dpkg/info/linux-image-extra-4.4.0-38-generic* /var/lib/dpkg/info/linux-image-extra-4.4.0-42-generic*
    
  2. Dpkg स्थिति फ़ाइल में उनकी स्थिति बदलें।

    केवल मामले में बैकअप बनाएं

    sudo cp /var/lib/dpkg/status /var/lib/dpkg/status.backup0
    

    संबंधित प्रविष्टियाँ प्राप्त करें (अपेक्षित आउटपुट के साथ कमांड, लाइन नंबर अलग होगा):

    ~$ grep -n -e "linux-image-extra-4.4.0-38-generic" -e "linux-image-extra-4.4.0-42-generic" /var/lib/dpkg/status
    18488:Package: linux-image-extra-4.4.0-42-generic
    77123:Package: linux-image-extra-4.4.0-38-generic
    

    पैकेज की स्थिति को संपादित करने और बदलने के लिए स्थिति फ़ाइल खोलें:

    sudo nano +18488 /var/lib/dpkg/status
    

    से:

    Package: linux-image-extra-4.4.0-38-generic
    Status: install ok installed
    

    सेवा:

    Package: linux-image-extra-4.4.0-38-generic
    Status: deinstall ok config-files
    

    Ctrl+ oबचाने के लिए। Ctrl+ xबाहर निकलने के लिए।

    Linux-image-extra-4.4.0-42-generic में समान परिवर्तन करें।

  3. मैन्युअल रूप से linux-image-4.4.0-38-generic और linux-image-4.4.0-42-generic भी हटा दें

    sudo rm -f *4.4.0-38-generic *4.4.0-42-generic
    sudo rm -rf /usr/share/doc/linux-image-4.4.0-38-generic /usr/share/doc/linux-image-4.4.0-42-generic
    

    इससे पहले कि उनकी स्थिति को संपादित करें deinstall ok config-files

    $ grep -n -e "Package: linux-image-4.4.0-38-generic" -e "Package: linux-image-4.4.0-42-generic" /var/lib/dpkg/status
    61217:Package: linux-image-4.4.0-38-generic
    98051:Package: linux-image-4.4.0-42-generic
    
  4. उस परेशानी वाले वर्चुअलबॉक्स फ़ाइल को निकालें

    sudo rm /etc/kernel/postinst.d/vboxadd
    
  5. अद्यतन dpkg स्थिति और ग्रब मेनू

    sudo dpkg --audit
    sudo apt-get install -f
    sudo update-grub
    

ठीक है, मैं आपके निर्देशों का पालन करने के बाद एक पैकेज को सफलतापूर्वक स्थापित करने और निकालने में सक्षम था। हालाँकि मुझे
सूडो एप

@dses, ने मेरे उत्तर को अपडेट किया, इसे चरण एक से शुरू कर सकते हैं।
user.dz

इसलिए आपके कदमों का अनुसरण करने से मुझे सामान्य रूप से उपयुक्त उपयोग करने की अनुमति मिली। बस समस्या है कि मुझे अब अतिरिक्त कर्नेल पैकेज त्रुटियां मिलती हैं और उबंटू ने "apt install -f" के दौरान एक सिस्टम त्रुटि प्रदर्शित की जैसा कि प्रश्न के संपादन अनुभाग में दिखाया गया है।
21

1
@ user.dz मुझे लगता है कि, अगर हटाने /etc/kernel/postinst.d/vboxaddसे काम चलता है, तो वास्तव में इसकी जरूरत है। उस निर्देशिका में सब कुछ हर बार चलाया जाता है जब एक कर्नेल स्थापित या हटाया जाता है, और उस फ़ाइल में Exec format errorहर बार उन गुठली को हटाने में बाधा उत्पन्न होती है।
चाई टी। रेक्स

1
@ ChaiR.Rex, आप सही हैं, मैंने शुरुआत में यह नहीं देखा।
user.dz
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.