विभाजन का आकार और df आउटपुट अलग क्यों हैं?


16

मेरे पास एक विभाजन / देव / sda1 है।
डिस्क यूटिलिटी से पता चलता है कि इसमें 154 जीबी की क्षमता है।
df -h शो

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             123G  104G   14G  89% /
devtmpfs             1006M  280K 1006M   1% /dev
none                 1007M  276K 1006M   1% /dev/shm
none                 1007M  216K 1006M   1% /var/run
none                 1007M     0 1007M   0% /var/lock
none                 1007M     0 1007M   0% /lib/init/rw

परिणाम अलग-अलग क्यों हैं? कहां गायब हैं 31 जीबी?


3
कृपया fdisk -l /dev/sda(रूट के रूप में चलाएँ) का आउटपुट पोस्ट करें ।
गिलेस एसओ- बुराई को रोकना '

2
आप किस फाइलसिस्टम का उपयोग कर रहे हैं? यदि यह ext2 / 3/4 है, तो आप tune2fs -l /dev/sda1इसे जांचने के लिए उपयोग कर सकते हैं । ब्लॉक काउंट और ब्लॉक आकार को देखें और उन्हें फाइल सिस्टम का आकार प्राप्त करने के लिए गुणा करें। इसके अलावा, fdisk -s /dev/sda11k- ब्लॉक में विभाजन आकार प्राप्त करने के लिए। बाइट में आकार प्राप्त करने के लिए 1024 से गुणा करें। यह संख्या केवल फाइलसिस्टम से थोड़ी बड़ी होनी चाहिए। मेरे 40GB ext4 विभाजन पर, यह 3072 बाइट्स बड़ा है। यदि आपका फ़ाइल सिस्टम विषम रूप से छोटा है, तो आप इसे आकार देने का प्रयास कर सकते हैं। Ext2 / 3/4 के लिए, का उपयोग करें resize2fs /dev/sda1। आप सामान्य रूप से कंप्यूटर का उपयोग करते समय ऐसा कर सकते हैं।
पेंग्विन 359

@ गिल्स सूदो fdisk -l / dev / sda शो (मैं केवल sda1 विभाजन पोस्ट कर रहा हूं, क्योंकि अन्य लोग हमें रुचि नहीं देते हैं)। डिवाइस बूट प्रारंभ अंत ब्लॉक आईडी सिस्टम / देव / sda1 1 18706 150253568 83 लिनक्स
xralf

@ penguin359 मेरे पास ext4 फाइलसिस्टम है। block count = 32668162, block size = 4096, 32668162 * 4096 = 133808791552, fdisk -s / dev / sda1 * 1024 = 153859653632। यह अजीब से छोटा लगता है। क्या मैं डेटा के नुकसान के बिना इसका आकार बदल सकता हूं? क्या कारण है कि यह छोटा है?
xralf

@xralf: आकार बदलना सुरक्षित होना चाहिए, मैंने ऐसा करने में कभी डेटा नहीं खोया है। यह एक बेजोड़ विभाजन के लिए करने के लिए थोड़ा सुरक्षित हो सकता है, उदाहरण के लिए एक जीवित सीडी के साथ। लेकिन फिर भी, अपने आप को पहले एक बैकअप प्राप्त करें। प्रमुख sys admin सामान करने से पहले हमेशा बैकअप लें।
फहीम मिता

जवाबों:


25

विभाजन की क्षमता भिन्न हो सकती है एक कारण यह है कि कुछ स्थान रूट के लिए आरक्षित है, इस घटना में विभाजन पूर्ण हो जाते हैं। यदि रूट के लिए कोई स्थान आरक्षित नहीं है, और विभाजन पूर्ण हो जाते हैं, तो सिस्टम कार्य नहीं कर सकता है। हालाँकि, यह अंतर आमतौर पर 1% के क्रम का होता है, जिससे आपके मामले में अंतर स्पष्ट नहीं होता है। Df के लिए मैन पेज से

यदि कोई तर्क डिस्क फ़ाइल नोड का एक पूर्ण फ़ाइल नाम है जिसमें एक माउंटेड फ़ाइल सिस्टम है, तो df उस फाइल सिस्टम पर उपलब्ध फाइल सिस्टम के बजाय डिवाइस नोड (जो हमेशा रूट फाइल सिस्टम है) पर उपलब्ध स्थान को दर्शाता है।

तो df वास्तव में आपके फाइलसिस्टम का आकार दिखा रहा है, जो आमतौर पर डिवाइस का आकार है, लेकिन यह आपके मामले में सही नहीं हो सकता है। क्या आपका फ़ाइल सिस्टम आपके पूरे विभाजन पर विस्तृत है?

कर देता है

resize2fs /dev/sda1

कोई फर्क पड़ता है? यह कमांड पूरे विभाजन को कवर करने के लिए आपके फाइल सिस्टम को बढ़ाने की कोशिश करता है। लेकिन सुनिश्चित करें कि आपके पास एक बैकअप है यदि आप यह कोशिश करते हैं।


>> क्या आपका फाइलसिस्टम पूरे विभाजन पर विस्तार करता है? मुझे ऐसा लगता है। यह ext4 है। <br> मुझे क्या बैकअप देना चाहिए? बड़ा बैकअप बनाने के लिए मेरे पास कोई माध्यमिक डिस्क नहीं है।
xralf

@xralf: (ठीक है, यह इस प्रश्न के संदर्भ में विषय है, लेकिन ...) यदि बैकअप नहीं है, तो तुरंत एक सेट करें। एक अच्छा बैकअप का एकमात्र विकल्प (और यह एक अच्छा विकल्प नहीं है) एक वितरित संस्करण नियंत्रण प्रणाली का व्यवस्थित उपयोग है, और इसे कुछ दूरस्थ स्थान पर धकेलता है। लेकिन निश्चित रूप से, आप सब कुछ संस्करण नियंत्रण जैसे उदाहरण के लिए नहीं रख सकते। मीडिया। अगर मैं व्यस्त हूं तो कृपया बहाना करें।
फहीम मीठा

@xralf: मैं प्रश्न में ही आपके आउटपुट परिणाम पोस्ट करूंगा, यह देखना, और पढ़ना आसान है।
फहीम मीठा

resize2fs काफी सुरक्षित संचालन है, इसके लिए बैकअप की आवश्यकता नहीं है (यदि आपके पास स्थिर शक्ति है और आप स्थिर सॉफ़्टवेयर का उपयोग करते हैं)। BTW, डिफ़ॉल्ट आरक्षित ब्लॉक गिनती ext * filesystems के लिए 5% है।
आरवी

@ आरवीएस: फिर से असहमत। आप कम से कम डेबियन पर 5% के बारे में सही हैं। मैं गलत समझ रहा था। लेकिन मुझे नहीं पता कि सभी वितरणों में यह मानक है या नहीं।
फहीम मीठा

5

मुख्य अंतर इसलिए है क्योंकि कुछ चीजें कहती हैं कि 1 किलोबाइट 1000 बाइट्स है, और दूसरों का कहना है कि 1 किलोबाइट 1024 बाइट्स है।

गनोम डिस्क उपयोगिता 1 किलोबाइट = 1000 बाइट्स का उपयोग करके क्षमता दिखाती है, क्योंकि डिस्क निर्माता डिस्क के आकार का इस तरह से वर्णन करते हैं। इसका मतलब है कि आपकी डिस्क क्षमता 154,000,000,000 बाइट्स के करीब है ।

दूसरी ओर, अधिकांश ऑपरेटिंग सिस्टम कहते हैं 1 किलोबाइट = 1024 बाइट्स। सभी उपकरण इस सम्मेलन को पसंद करते हैं dfऔर fdiskइसका उपयोग करते हैं। तो 154,000,000,000 बाइट्स / 1024/1024/1024 = 143.4 जीबी

जैसा कि jlliagre सही ढंग से इंगित करता है (और आपके fdiskआउटपुट के लिए पूछने पर गिलेज़ निकलता है ), डिस्क उपयोगिता आपको अपनी पूरी हार्ड डिस्क का आकार बता रही है। लेकिन /dev/sda1आपकी हार्ड डिस्क पर एक ही पार्टीशन है। उदाहरण के लिए, आपकी हार्ड डिस्क में संभवतः कुछ अन्य विभाजन हैं जैसे कि स्वैप के लिए 4-8 जीबी विभाजन (जिसे वर्चुअल मेमोरी के रूप में भी जाना जाता है), और एक बूट पार्टीशन जो आमतौर पर 100 एमबी के आसपास होता है।

आपने का आउटपुट पोस्ट नहीं किया fdisk -l /dev/sda, तो मान लें कि आपका स्वैप विभाजन 8 जीबी है। अब हम 135 जीबी पर आ गए हैं

फिर, कुछ अन्य चीजें हैं जो अंतर में योगदान करती हैं।

उदाहरण के लिए, फ़ाइल सिस्टम मेटाडेटा के लिए कुछ डिस्क विभाजन का उपयोग करता है। मेटाडेटा फाइल नेम, फाइल परमिशन जैसी चीजें होती हैं, जो पार्टीशन के किन हिस्सों से जुड़ी होती हैं, कौन सी फाइलों में होती हैं और कौन से हिस्से में पार्टीशन फ्री होते हैं। मेरे सिस्टम पर, इसके लिए लगभग 2% विभाजन का उपयोग किया जाता है। आपका मानना ​​समान है, यह मुफ्त जगह को लगभग 132 जीबी तक लाएगा ।

फ़ाइल सिस्टम कुछ स्थान भी आरक्षित कर सकता है जो केवल रूट उपयोगकर्ता द्वारा उपयोग किया जा सकता है। मेरे सिस्टम पर, यह विभाजन का 5% है, इसलिए आपके मामले में, इसका मतलब होगा कुल क्षमता लगभग 125 जीबी

सटीक संख्या इस बात पर निर्भर करती है कि आप ext2, ext3, ext4, fat, ntfs, btrfs, आदि का उपयोग कर रहे हैं, और विभाजन को प्रारूपित करते समय किन सेटिंग्स का उपयोग किया गया था।

यदि आप ext2 या ext3 का उपयोग कर रहे हैं, तो sudo tune2fs -l /dev/sda1यह समझने में मदद कर सकता है कि अंतरिक्ष कहाँ जा रहा है।


डिस्क उपयोगिता बिल्कुल क्षमता 154 जीबी (153,859,653,632 बाइट्स) दिखाती है।
xralf

>> sudo tune2fs -l / dev / sda1 << कौन से पैरामीटर बताएं कि अंतरिक्ष कहां जा रहा है?
xralf

2

संभवतः इनोड्स द्वारा इनका उपयोग किया जाता है। कुछ राशि का उपयोग एमबीआर द्वारा किया जा सकता है।


1
MBR दिखाई नहीं देता है क्योंकि यह सिलेंडर 0 में है (पहले विभाजन में भी नहीं, जो अक्सर सेक्टर 2048 से शुरू होता है)। हालांकि, सुपरब्लॉक की प्रतियां हैं। फिर भी, यह इनोडेस है। इन्हें भी देखें: unix.stackexchange.com/questions/13547/… और कमांड्स "lsblk / dev / sdX" और "dipe2fs -h / dev /
sdX

1

sda1 आपकी पूरी डिस्क नहीं है, लेकिन इसका पहला प्राथमिक विभाजन है। आपने अन्य अनमाउंट विभाजन बनाए होंगे जो डीएफ आउटपुट में दिखाई नहीं देते हैं या बस sda1 में किसी कारण के लिए सभी उपयोग करने योग्य स्थान नहीं भरते हैं या फाइल सिस्टम के विभाजन में सभी उपलब्ध स्थान का उपयोग नहीं करते हैं।

fdisk -l आपको बताएगा कि आपकी विभाजन तालिका कैसी दिखती है।


बेशक। हम केवल / dev / sda1 विभाजन के बारे में बात कर रहे हैं, संपूर्ण डिस्क नहीं।
xralf

यह आपके प्रश्न से स्पष्ट नहीं था क्योंकि आप इसका आउटपुट दिखाए बिना डिस्क उपयोगिता को संदर्भित करते हैं। इसे स्पष्ट करने के लिए आपको इसे संपादित करना चाहिए। यह बताना कि आपने / फ़ाइल सिस्टम कैसे बनाया, यह भी उपयोगी होगा।
jlliagre

डिस्क उपयोगिता के आउटपुट का प्रासंगिक हिस्सा "sda1 विभाजन की क्षमता = 154 जीबी" है।
xralf

कृपया यह स्पष्ट करने के लिए अपने मूल प्रश्न को संपादित करें।
jlliagre
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.