ভুয়া ডিস্ক পূর্ণ ত্রুটি: অ্যাপ্লিকেশন ইনস্টল করতে বা সরাতে অক্ষম


24

আমার উবুন্টু 12.04 সার্ভারটি আপগ্রেড করার সময় আমি নিম্নলিখিত ত্রুটির মুখোমুখি হয়েছি। এখন apt-getকোনও প্যাকেজ ইনস্টল করতে বা সরাতে অক্ষম।

লিনাক্স-শিরোলেখগুলি আন-প্যাক করা হচ্ছে - 3.13.0-62 (থেকে ... / লিনাক্স-শিরোলেখ -3.13.0-62_3.13.0-62.102 ~ নির্ভুল 1_all.deb) ...
dpkg: ত্রুটি প্রক্রিয়াকরণ /var/cache/apt/archives/linux-headers-3.13.0-62_3.13.0-62.102~pcise1_all.deb (--unpack):
 us /usr/src/linux-headers-3.13.0-62/arch/arm/incolve/asm/ptrace.h.dpkg-new 'তৈরি করতে অক্ষম 
(একই প্রক্রিয়া `./usr/src/linux-headers-3.13.0-62/arch/arm/include/asm/ptrace.h '): কোন স্থান ডিভাইস বাম 
কোন apport লিখিত রিপোর্ট কারণ ত্রুটির বার্তা একটি ডিস্ক ইঙ্গিত সম্পূর্ণ ত্রুটি
 dpkg-deb: ত্রুটি: সাবপ্রসেস পেস্ট সিগন্যাল দ্বারা মারা হয়েছিল (ব্রোকন পাইপ)
প্রক্রিয়া করার সময় ত্রুটিগুলি সম্মুখীন হয়েছিল:
 /var/cache/apt/archives/linux-headers-3.13.0-62_3.13.0-62.102~precise1_all.deb
ই: উপ-প্রক্রিয়া / usr / বিন / dpkg একটি ত্রুটি কোড ফেরত দিয়েছে (1)

যদিও আমি সত্যিই ডিস্কের জায়গার বাইরে নই,

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       6.8G  4.7G  1.8G  69% /  

যাইহোক আমার ইনোডগুলি পূর্ণ,

# df -i
Filesystem     Inodes   IUsed  IFree IUse% Mounted on
/dev/sda1      458752  455214   3538  100% /

আমার কাছে দশটিরও বেশি পুরানো কার্নেল রয়েছে তবে আমি apt-getনিজে অপ্রস্তুত হওয়ায় আমি সেগুলি সরাতে অক্ষম । সুতরাং আমি এই পোস্টটি অনুসরণ করতে অক্ষম যা অনুরূপ সমস্যার রিপোর্ট করে।

একমাত্র বিকল্পটি কয়েক পুরানো কার্নেলগুলি নিজেই মুছে ফেলবে বলে মনে হচ্ছে। এটি কোনও সমস্যা সৃষ্টি করবে?

এর বাইরে আর কি উপায় আছে? আমি কি আপাতত মূলের জন্য সংরক্ষিত স্থান ব্যবহার করতে এবং পুরানো কার্নেলগুলি সরাতে পারি?


1
প্রকৃতপক্ষে আমি /usr/srcপরিস্থিতি থেকে মুক্তি পেতে ম্যানুয়ালি কয়েকটি পুরানো কার্নেলগুলি সরিয়েছি । ভাগ্যক্রমে সবকিছু ঠিকঠাক হয়ে গেছে এবং aptআবার কাজ শুরু করে। তবে আমি আপনাকে অনুরোধ করব কোনও প্রোডাকশন মেশিনে এ জাতীয় কাজ করার আগে ব্যাক আপ নিতে। আমি এটি ভার্চুয়াল মেশিনে করেছিলাম যার সম্পূর্ণ ব্যাকআপ ছিল।
সৌরভসি

এটি কাজ করে! কার্নেল ৪.৪.০-৫১১-জেনেরিক আপডেট করতে আমি এখানে (ইউবুতু 14.04.1) একই কাজ করেছি। এটি ভবিষ্যতে কোনও সমস্যা সৃষ্টি করবে কিনা তা আমি নিশ্চিত নই। ধন্যবাদ।
মোরেনো

উত্তর:


36

আমি জানি এই পোস্টটি কিছুটা পুরানো, তবে আমি এই পোস্টে হোঁচট খেতে পারে এমন যে কোনও ব্যক্তির জন্য আমি এখানে একটি উত্তর পেয়েছি: https://help.ubuntu.com/commune/RemoveOldKernels

সেই লিঙ্কটি নষ্ট হয়ে গেলে, এখানে প্রাসঙ্গিক স্নিপেট রয়েছে:

পুরানো কার্নেলগুলি নিরাপদে অপসারণ করা হচ্ছে

এলভিএম সিস্টেম, এনক্রিপ্ট করা সিস্টেম বা সীমিত-স্টোরেজ সিস্টেমের ব্যবহারকারীদের ক্ষেত্রে, / বুট পার্টিশনটি সম্পূর্ণরূপে পূর্ণ হয় problem স্থানের অভাবে প্যাকেজ পরিচালকটি মুলতুবি আপগ্রেড ইনস্টল করতে পারবেন না। তবুও, ভাঙ্গা নির্ভরতার কারণে অ্যাপেট-গেট কোনও প্যাকেজ অপসারণ করতে পারে না।

এই সমস্যাটি শেল থেকে দ্রুত এবং সহজেই সংশোধন করা যেতে পারে। ম্যানুয়ালি অপসারণ করতে কেবল এক বা দুটি পুরানো কার্নেলগুলি সনাক্ত করুন, যা প্যাকেজ ম্যানেজারকে সারিবদ্ধ আপগ্রেড ইনস্টল করার জন্য পর্যাপ্ত জায়গা সরবরাহ করবে।


$ sudo rm -rv ${TMPDIR:-/var/tmp}/mkinitramfs-*  
                                  ## In Ubuntu 16.04 and earlier there may be leftover temporary
                                  ## files to delete.
                                  ## See: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=814345

$ uname -r                        ## This command identifies the currently-running kernel
4.2.0-21-generic                  ## This is the current kernel.
                                  ## DO NOT REMOVE it!

$ dpkg -l | tail -n +6 | grep -E 'linux-image-[0-9]+' | grep -Fv $(uname -r)
                                  ## This command lists all the kernels excluding the booted
                                  ## kernel in the package database, and their status.
rc  linux-image-4.2.0-14-generic  ## The oldest kernel in the database
                                  ## Status 'rc' means it's already been removed
ii  linux-image-4.2.0-15-generic  ## The oldest installed kernel. Eligible for removal.
                                  ## Status 'ii' means Installed.
ii  linux-image-4.2.0-16-generic  ## Another old installed kernel. Eligible for removal
ii  linux-image-4.2.0-18-generic  ## Another old installed kernel. Eligible for removal
ii  linux-image-4.2.0-19-generic  ## The previous good kernel. Keep
iU  linux-image-4.2.0-22-generic  ## DO NOT REMOVE. Status 'iU' means it's not installed,
                                  ## but queued for install in apt.
                                  ## This is the package we want apt to install.

                                  ## Purge the oldest kernel package using dpkg instead of apt.
                                  ## First you need to remove the image initrd.img file manually
                                  ## due to Bug #1678187.
$ sudo update-initramfs -d -k 4.2.0-15-generic
$ sudo dpkg --purge linux-image-4.2.0-15-generic linux-image-extra-4.2.0-15-generic
                                  ## If the previous command fails, some installed package
                                  ## depends on the kernel. The output of dpkg tells the name
                                  ## of the package. Purge it first.

                                  ## Also purge the respective header package.
$ sudo dpkg --purge linux-headers-4.2.0-15-generic
                                  ## Try also purging the common header package.
$ sudo dpkg --purge linux-headers-4.2.0-15
                                  ## Do not worry, if the previous command fails.

$ sudo apt-get -f install         ## Try to fix the broken dependency.

আমি এর সাথে অনুসরণ করেছি:

sudo apt-get autoremove --purge

9

আমি পরিস্থিতি থেকে বেরিয়ে আসার উপায় খুঁজে পেয়েছি এবং পরিস্থিতি থেকে /usr/srcমুক্তি পাওয়ার জন্য কয়েকটি পুরানো কার্নেল সরিয়েছি removed ভাগ্যক্রমে সবকিছু ঠিকঠাক হয়ে গেছে এবং উপযুক্ত আবার কাজ শুরু করেছে।

কোনও প্রোডাকশন মেশিনে পুরানো কার্নেলগুলি সরিয়ে নেওয়ার আগে এটি ব্যাক আপ নেওয়া বাঞ্ছনীয়।


আরও ভাল সমাধান এখনও স্বাগত। আমি এই মন্তব্যটিকে উত্তর হিসাবে পোস্ট করি কারণ এটি কারওর পক্ষে সহায়তা করতে পারে।
16'7

1
কিছু পুরানো কার্নেলগুলি সরানোর পরে apt-get autoremove কিছুটা নির্ভরশীল চালানো এবং ইনস্টল করে apt-get -f installআমার সমস্যাগুলি স্থির করে
Thamaraiselvam

ধন্যবাদ. আমি সমস্ত লিনাক্স- * এর নীচে সরিয়ে ফেললাম /bootতবে ব্যবহার করি নি dkpgতাই এখনও *-headerফাইলগুলি ছিল/usr/src
ডিলান পিয়ার্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.