लॉक करने में सक्षम नहीं / var / lib / dpkg / लॉक (केवल पढ़ें)


11

मैं अपने दूरस्थ सर्वर पर माणिक स्थापित करने की कोशिश कर रहा था (यह एक esxi सर्वर में एक vm मशीन (डेबियन) है।) मुझे कोई त्रुटि नहीं मिली है:

आदेश:

sudo apt-get install रूबी 1.8

त्रुटि:

W: Not using locking for read only lock file /var/lib/dpkg/lock
E: Unable to write to /var/cache/apt/
E: The package lists or status file could not be parsed or opened.

फिर मैंने कोशिश की:

sudo dpkg --configure -a 

आउटपुट:

dpkg: unable to access dpkg status area: Read-only file system 

अपडेट करें:

माउंट का उत्पादन

/dev/sda3 on / type ext4 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sda1 on /boot type ext4 (rw)
/dev/sdb1 on /home type ext4 (rw)

mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).
       It's possible that information reported by mount(8) is not
       up to date. For actual information about system mount points
       check the /proc/mounts file.

UPDATE2:

cat /proc/mounts


rootfs / rootfs rw 0 0
none /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
none /proc proc rw,nosuid,nodev,noexec,relatime 0 0
none /dev devtmpfs rw,relatime,size=1553128k,nr_inodes=216450,mode=755 0 0
none /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
/dev/disk/by-uuid/cf4fb4ae-6d12-407b-bf43-3b0daaaaaf74 / ext4 ro,relatime,errors=remount-ro,barrier=1,data=ordered 0 0
tmpfs /lib/init/rw tmpfs rw,nosuid,relatime,mode=755 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev,relatime 0 0
/dev/sda1 /boot ext4 rw,relatime,barrier=1,data=ordered 0 0
/dev/sdb1 /home ext4 rw,relatime,barrier=1,data=ordered 0 0

UDPDATE 3

आउटपुट dmesg(कुछ अंतिम भाग)

[1968636.237601] JBD2: Detected IO errors while flushing file data on sdb1-8
[1968772.229102] JBD2: Detected IO errors while flushing file data on sdb1-8
[1968789.799409] IPv6 addrconf: prefix with wrong length 56
[1968990.325125] IPv6 addrconf: prefix with wrong length 56
[1969190.801848] IPv6 addrconf: prefix with wrong length 56
[1969192.245363] JBD2: Detected IO errors while flushing file data on sdb1-8
[1969197.698223] IPv6 addrconf: prefix with wrong length 56
[1969223.105506] JBD2: Detected IO errors while flushing file data on sdb1-8
[1969349.119764] JBD2: Detected IO errors while flushing file data on sdb1-8
[1969398.205686] IPv6 addrconf: prefix with wrong length 56
[1969598.713179] IPv6 addrconf: prefix with wrong length 56
[1969607.241633] JBD2: Detected IO errors while flushing file data on sdb1-8
[1969799.220758] IPv6 addrconf: prefix with wrong length 56
[1969825.462909] JBD2: Detected IO errors while flushing file data on sdb1-8
[1969831.231049] JBD2: Detected IO errors while flushing file data on sdb1-8
[1969999.728348] IPv6 addrconf: prefix with wrong length 56
[1970200.247944] IPv6 addrconf: prefix with wrong length 56
[1970221.321558] JBD2: Detected IO errors while flushing file data on sdb1-8
[1970253.105491] JBD2: Detected IO errors while flushing file data on sdb1-8

/var/log/syslog उत्पादन:

यहाँ छवि विवरण दर्ज करें


का आउटपुट mountविश्वसनीय नहीं है, खासकर जब से आपका रूट एफएस केवल पढ़ने के लिए प्रतीत होता है। आप के cat /proc/mountsरूप में अच्छी तरह से उत्पादन पोस्ट कर सकते हैं ?
mrb

कृपया अपडेट 2 की जांच करें
मिश्रा

जवाबों:


11

आपका रूट फाइल सिस्टम ( /) शो /dev/disk/...में केवल पंक्ति के रूप में पढ़ा जाता है /proc/mounts। इसका कारण यह हो सकता है कि बूट ( errors=remount-roविकल्प) या बाद में I / O त्रुटि पर एक डिस्क त्रुटि पाई गई थी ।

dmesgकमांड के साथ किसी भी त्रुटि के लिए कर्नेल लॉग की जाँच करें और ( /var/log/syslogया /var/log/messagesध्यान दें कि इन फ़ाइलों में अंतिम लॉग प्रविष्टियाँ शामिल नहीं हैं)। यदि कोई I / O त्रुटियां हैं, तो आपको डिस्क को बदलने की आवश्यकता हो सकती है। यदि नहीं, तो एकल उपयोगकर्ता मोड में बूट करें और fsck.ext4 UUID=cf4fb4ae-6d12-407b-bf43-3b0daaaaaf7त्रुटियों को ठीक करने के लिए प्रयास करें।

यदि fsckरिपोर्ट में कोई त्रुटि नहीं है और यह अभी भी केवल रिबूट पर है, तो आप चला सकते हैं:

sudo mount / -o remount,rw 

पढ़ने-लिखने के लिए डिस्क को माउंट करने का प्रयास करें।

लॉग फ़ाइलों को देखने से /var/log/बहुत मदद नहीं मिलती है, क्योंकि यह इस समय केवल पढ़ने के लिए है।


अक्सर, जिस कारण /var/lib/dpkg/lockसे लॉक नहीं किया जा सकता है, वह यह है कि पृष्ठभूमि में एक स्वचालित सिस्टम अपडेट चलता है, लेकिन आपके मामले में यह विशेष रूप से केवल-पढ़ने के लिए फाइल सिस्टम के बारे में शिकायत कर रहा है।


मैं यह करने जा रहा था, +1लेकिन यह खतरनाक है कि जब तक आप जानते हैं कि यह पहली जगह पर आरओ क्यों नहीं है, तब तक आंख मूंदकर रवआउट करें। बेहतर है कि केवल सिंगल यूजर मोड में रिबूट करें और चलाएं fsck। यदि यह साफ है (या निश्चित है) तो आपको rw स्थिति में वापस बूट करना चाहिए। यदि यह साफ है और अभी भी बढ़ते आरओ है, तो शायद चीजों को मजबूर करने की कोशिश करें।
बहमट

@Bhamat आपकी टिप्पणी के लिए धन्यवाद, मैंने अपना उत्तर तदनुसार बदल दिया।
जोफेल

@jofel कृपया अपडेट 3 की जांच करें - dmesg का आउटपुट, यह अपनी io समस्या की तरह सीम करता है। मेरा अगला कदम क्या होना चाहिए?
सुभ्रांशु मिश्रा ३०'१२

@ जोफेल को मुझे करना चाहिए tune2fs -c 0 -i 0d /dev/sda3और सिस्टम को रिबूट करना चाहिए ?
सुभ्रांसु मिश्रा ३०'१२

@Subhransu आपके रूट सिस्टम विभाजन पर डेटा कितना महत्वपूर्ण है, इसके आधार पर, मैं पहले बैकअप बनाने की कोशिश करूंगा। मैं तब सिंगल यूजर मोड (रिकवरी मोड) में बूट करूंगा और फिर मैन्युअल रूप से fsck चलाऊंगा। स्वचालित fsck अक्सर केवल त्रुटियों की रिपोर्ट करता है, लेकिन उन्हें ठीक नहीं करता है। इसलिए एक संभावित टूटी हुई डिस्क पर अनावश्यक आईओ से बचें। डिस्क का स्मार्ट-फीचर कभी-कभी यह पता लगाने में मदद करता है कि डिस्क वास्तव में टूटी हुई है या नहीं।
जोफेल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.