टच पर एक बड़ा रूट विभाजन कैसे प्राप्त करें


9

मैं एक Ubuntu सर्वर के रूप में टच (14.10) काम करने की कोशिश कर रहा हूं। हालांकि रूट विभाजन केवल 2 जीबी है और उन पैकेजों के लिए अपर्याप्त है जिन्हें मुझे स्थापित करने की आवश्यकता है। क्या रूट विभाजन पर अधिक स्थान पाने का कोई तरीका है?

इस प्रकार अब तक मैंने कोशिश की है:

  • resize2fs / dev / loop0 पर काम नहीं करेगा क्योंकि कर्नेल ऑनलाइन आकार बदलने का समर्थन नहीं करता है और मैं रूट को अनमाउंट नहीं कर सकता (आरओ इसे नहीं काटता है, -f के साथ भी)।

  • /Userdata/ubuntu.img कार्यों के अंत में 2 GB जोड़ना, लेकिन फ़ाइल पर resize2fs मदद नहीं करता है।


यह एक नए उपयोगकर्ता के लिए एक बहुत ही दिलचस्प सवाल है। समुदाय में आपका स्वागत है।
अकीवा

जवाबों:


1

मैं एक ऐसी ही समस्या थी, अंत में मैं ले जाने के लिए मेरी निर्णय लिया /usrकरने के लिए /home/usr( /home14G फाइल सिस्टम है, जो मुझे अतिरिक्त संकुल के लिए पर्याप्त जगह देता है से लगाया गया है)।

यह ऐसा करने के लिए एक छोटा सा तरीका है, लेकिन यह मेरे लिए काम करने लगता है। Follwing कोड उदाहरण $यह इंगित करने के लिए उपयोग कर रहे हैं कि कमांड को सामान्य उपयोगकर्ता के रूप में चलाया जाना चाहिए और #रूट उपयोगकर्ता भूमिका (जो या तो sudo या रूट के रूप में loggig द्वारा प्राप्त की जा सकती है) को इंगित करने के लिए है।

  1. रूट उपयोगकर्ता के लिए पासवर्ड सेट करें, आपको अपने साथ कुछ भी खराब करने की स्थिति में रूट के रूप में लॉग इन करने की क्षमता की आवश्यकता होगी /usr/bin/sudo। ऐसा करने के लिए:

    $ sudo su
    # passwd
    
  2. /usrस्वामित्व और अनुमतियां संरक्षित करने की सामग्री की प्रतिलिपि बनाएँ :

    $ cd /usr
    $ sudo find . -depth -print0 | sudo cpio --null --sparse -pvd /home/usr/
    
  3. अगला तार्किक कदम बूट के रूप में fstabमाउंट करने के लिए उपयोग करना होगा , हालांकि सभी परिवर्तन जो मैंने उबंटू को रिबूट करने के बाद गायब करने की कोशिश की थी। इसलिए मैंने माउंटिंग करने के लिए सरल स्क्रिप्ट बनाई है, और इसे इस प्रकार सहेजा है :/home/usr/usrfstab/etc/init.d/bind.sh

    #!/bin/sh
    if [ "X$1" = "Xstart" ]; then
      echo "Binding /home/usr to /usr..."
      chmod 4755 /home/usr/bin/passwd /home/usr/bin/chsh /home/usr/bin/pkexec /home/usr/bin/sudo /home/usr/bin/newgrp /home/usr/bin/gpasswd /home/usr/bin/chfn /home/usr/lib/pt_chown /home/usr/lib/eject/dmcrypt-get-device /home/usr/lib/openssh/ssh-keysign /home/usr/lib/dbus-1.0/dbus-daemon-launch-helper /home/usr/lib/policykit-1/polkit-agent-helper-1 /home/usr/lib/arm-linux-gnueabihf/oxide-qt/chrome-sandbox /home/usr/lib/arm-linux-gnueabihf/lxc/lxc-user-nic
      mount -o bind,suid /home/usr /usr
      echo "...done"
    fi 
    

    Chmod लाइन की जरूरत है, के रूप में मैंने देखा है कि suid bitहै कभी कभी बढ़ते के बाद गायब है। उन फ़ाइलों की सूची जिनके पास suid bitसेट था, # find /usr -user root -perm -4000को मूल /usrनिर्देशिका पर चलाकर पाया जा सकता है । कृपया ध्यान दें, यदि आप बाद में कुछ भी स्थापित करते हैं जिस पर इसका उपयोग किया जा रहा है, suid bitतो जब तक आप इसे सूची में नहीं जोड़ते हैं, यह टूट सकता है।

    आप में प्रतीकात्मक कड़ी बनाने की आवश्यकता होगी /etc/rcS.dके लिए bind.sh:

     # ln -s /etc/init.d/bind.sh /etc/rcS.d/S36bind.sh
    

    नोट: आप अपनी स्थिति के आधार पर 36 से भिन्न संख्या चुन सकते हैं /etc/rcS.d

    वैकल्पिक रूप से आप यहां/lib/init/fstab बताए अनुसार संपादित कर सकते हैं ताकि fstab में लगातार परिवर्तन हो।

  4. प्रणाली रिबूट करने के बाद अब का उपयोग कर किया जाना चाहिए /home/usrके रूप में /usrइसलिए उम्मीद है कि आप अतिरिक्त संकुल के लिए और अधिक स्थान होना चाहिए। ध्यान दें कि पुराना /usrअभी भी मौजूद है, लेकिन जब तक नई निर्देशिका माउंट नहीं हो जाती, तब तक पहुंच से बाहर है।

    यदि कुछ गलत हो जाता है, तो आप प्रतीकात्मक लिंक का नाम बदलकर /etc/rcS.dऔर रीबूट करके पिछले स्थिति में लौट सकते हैं :

     # mv /etc/rcS.d/S36bind.sh /etc/rcS.d/K36bind.sh
    

आपके प्रस्तावित समाधान में "Xstart" देखकर मुझे लगा कि यह ऐसा कुछ नहीं है जो आपने उबंटू टच डिवाइस पर किया है, क्या ऐसा है?
क्रिस जैस

4

इस समाधान ने मेरे लिए काम किया:

https://github.com/plasma-mobile/plasma-phone-dev-setup/blob/master/usr/bin/resize-root-partition

असल में, यह केडीई प्लाज़्मा मोबाइल की सुपर-सिंपल इंस्टॉल स्क्रिप्ट है। बस इसे चलाएं, एक झपकी लें, और आपके पास 6 जीबी रूट विभाजन होना चाहिए।


मूल संसाधन से लिंक टूटने के बाद से यहां एक
पर्मलिंक है

2

यहाँ मैं इसे करने के लिए सबसे तेज़ तरीका है।

चेतावनी : गलत तरीके से टाइप करने पर यह आपके फोन को तोड़ सकता है। सुनिश्चित करें कि आपके पास शुरुआत से पहले पूर्ण बैकअप है और यदि आप अपने फोन पर सभी डेटा खो देते हैं तो गलती करने के लिए तैयार हैं। यह उदाहरण कमांड रूट फाइल सिस्टम को 6GB में बदल देता है, इसलिए यदि यह पहले से ही बड़ा है तो इसे छोटा कर दिया जाएगा और आपके फोन की संभावना अनबूटेबल (फिर से नकल होने तक) हो जाएगी। यदि आपकी रूट फाइल सिस्टम छवि 6GB से कम है (केवल उबंटू टच डिफॉल्ट 2GB है) तो केवल इस कमांड का उपयोग करें।

$ sudo -s
# dd if=/dev/null of=/userdata/ubuntu.img bs=1M seek=6000 count=0
# resize2fs -f /userdata/ubuntu.img
# reboot

क्या आप मुझे थोड़ा बेहतर समझा सकते हैं कि यह कैसे काम करता है?
अलको सेप

@Alko, यहां टच के लिए अधिक संपूर्ण जानकारी युक्त उत्तर भी दिया गया है।
स्क्रूज मैकडक

0

ठीक है, यहाँ वह तरीका है जो मैंने अपने meizu pro5 पर किया था। आपका माइलेज भिन्न हो सकता है।

ओ और आप अपने फोन को ईंट कर सकते हैं

अपने मार्ग का अनुसरण करने के लिए इस मार्गदर्शिका को एक संकेत के रूप में लें। रोते हुए वापस मत आना।

Ubuntu-device-flash द्वारा बनाया गया एक नया फोन है। फोन में आपके पास एसडी कार्ड बड़ा होना चाहिए ताकि कस्टम और कैश विभाजन के लिए यूजरडेटा विभाजन प्लस 512M प्लस 700M से fs पकड़ सके।

  • वसूली छवि के रूप में twrp3.0 रखो।
  • विभाजन देखने के लिए fdisk -l / dev / block / sda का उपयोग करें।
  • उस रिपोर्ट को सहेजें। आपके पास सिस्टम, कस्टम, कैश और उपयोगकर्ताडेटा के रूप में अंतिम 4 विभाजन होना चाहिए।
  • mkdir / tmp / userdata
  • माउंट / देव / ब्लॉक / sda44 (मेरे लिए यह 44 था) / tmp / userdata
  • सीडी / टीएमपी
  • tar -czf /external_sd/userdata.tar.gz userdata
  • umount / tmp / userdata
  • dd if = / dev / block / sda43 of = / externa_sd / cache.img
  • dd if = / dev / block / sda42 of = / externa_sd / custom.img

आपने अब डेटा सहेज लिया है, अब उन विभाजनों को फिर से करने के लिए हम ubuntu से fdisk का उपयोग करेंगे क्योंकि twrp से fdisk काफी अच्छा नहीं है।

  • mkdir / tmp / ubuntu
  • माउंट-लूप / सिस्टम //v/lib/lxc-andoid/system.img / tmp / ubuntu
  • मकनोड -एम ६६६ बी / ० / tmp / ubuntu / dev / sda
  • चुरोट / tmp / ubuntu / sbin / fdisk / dev / sda

आप 41,42,43,44 विभाजन हटाते हैं और बनाते हैं:

  • एक ही जगह से शुरू एक नया 41 लेकिन बड़ा।
  • पुराने 42 के समान आकार के साथ 41 के बाद एक नया 42 शुरू।
  • पुराने 43 के समान आकार के साथ 42 के बाद एक नया 43 शुरू।
  • 43 के बाद एक नया 44 शुरू होता है और पुराने 44 के समान सेक्टर पर समाप्त होता है।
  • नई पार्टीशन टेबल को सेव करें
  • umount / tmp / ubuntu

उपयोगकर्ताडेटा, कस्टम और कैश वापस डालें।

  • dd if = / externa_sd / cache.img of = / dev / block / sda43
  • dd if = / externa_sd / custom.img of = / dev / block / sda42
  • 44 पर एक नया ext4 बनाएँ: mke2fs / dev / block / sda44
  • माउंट / देव / ब्लॉक / sda44 / tmp / userdata
  • सीडी / टीएमपी
  • tar -xzf /external_sd/userdata.tar.gz
  • umount / tmp / userdata
  • umount / tmp / ubuntu
  • umount / प्रणाली
  • अब सिस्टम विभाजन बढ़ाएँ: resize2fs / dev / block / sda41

आप चाहिए अब अपनी ubuntu स्पर्श प्रणाली में एक बड़ा जड़ विभाजन है।

मज़े करो।


0

यहाँ कुछ और खेलने के बाद आपको वह जानने और करने की आवश्यकता है।

उबंटू टच एक एंड्रॉइड डिवाइस से बूट हो रहा है, इसलिए विभाजन को फिर से खोलना होगा।

एंड्रॉइड सिस्टम विभाजन लेबल द्वारा विभाजन की पहचान कर रहा है ।

आपके पास meizu Pro 5 के लिए यह विभाजन है: सिस्टम (रूट विभाजन), कैश (उबंटू द्वारा upgrates के लिए उपयोग किया जाता है, आपके पास इसके बारे में 1G होना चाहिए), कस्टम (कोई विचार नहीं है कि इसके लिए क्या उपयोग किया जाता है), userdata (/ घर के लिए उपयोग किया जाता है) बहुत से अन्य फ़ोल्डर जो रूट के विभिन्न भागों से जुड़े होते हैं)

phablet@ubuntu-phablet:~$ sudo fdisk /dev/sda

Welcome to fdisk (util-linux 2.25.2).

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.


Command (m for help): x

Expert command (m for help): p
Disk /dev/sda: 58.2 GiB, 62537072640 bytes, 15267840 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 16384 bytes
I/O size (minimum/optimal): 16384 bytes / 8192 bytes
Disklabel type: gpt
Disk identifier: 00042021-0408-4601-9DCC-xxxxxxxxxxx
First LBA: 6
Last LBA: 15267834
Alternative LBA: 15267839
Partitions entries LBA: 2
Allocated partition entries: 128

Device       Start      End Sectors Type-UUID                            UUID                                 Name      Attrs
/dev/sda1     1024     1279     256 EBD0A0A2-B9E5-4433-87C0-xxxxxxxxxxxx D117F98E-6F2C-D04B-A5B2-xxxxxxxxxxxx private   
/dev/sda2     1280     1343      64 EBD0A0A2-B9E5-4433-87C0-xxxxxxxxxxxx 25718777-D0AD-7443-9E60-xxxxxxxxxxxx proinfo   
/dev/sda3     1344     1407      64 EBD0A0A2-B9E5-4433-87C0-xxxxxxxxxxxx 8A4BB8B4-E304-AE48-8536-xxxxxxxxxxxx misc      
/dev/sda21    2048     3071    1024 EBD0A0A2-B9E5-4433-87C0-xxxxxxxxxxxx 08992135-13C6-084B-9322-xxxxxxxxxxxx param     
/dev/sda22    3072     5119    2048 EBD0A0A2-B9E5-4433-87C0-xxxxxxxxxxxx 333A128E-D3E3-B94D-92F4-xxxxxxxxxxxx efs       
/dev/sda23    5120     5631     512 EBD0A0A2-B9E5-4433-87C0-xxxxxxxxxxxx F20AA902-1C5D-294A-9177-xxxxxxxxxxxx pnv       
/dev/sda24    5632     6655    1024 EBD0A0A2-B9E5-4433-87C0-xxxxxxxxxxxx DB88503D-34A5-3E41-836D-xxxxxxxxxxxx ldfw      
/dev/sda25    6656     7679    1024 EBD0A0A2-B9E5-4433-87C0-xxxxxxxxxxxx 012B3303-34AC-284D-99B4-xxxxxxxxxxxx dtb       
/dev/sda26    7680    13823    6144 EBD0A0A2-B9E5-4433-87C0-xxxxxxxxxxxx FAEC2ECF-8544-E241-B19D-xxxxxxxxxxxx bootimg   
/dev/sda27   13824    22015    8192 EBD0A0A2-B9E5-4433-87C0-xxxxxxxxxxxx F13A0978-B1B5-1A4E-8821-xxxxxxxxxxxx recovery  
/dev/sda28   22016    30207    8192 EBD0A0A2-B9E5-4433-87C0-xxxxxxxxxxxx B710EB04-45B9-E94A-8D0B-xxxxxxxxxxxx bootlogo  
/dev/sda29   30208    35327    5120 EBD0A0A2-B9E5-4433-87C0-xxxxxxxxxxxx AD5EC4B6-2D9F-8544-9417-xxxxxxxxxxxx rstinfo   
/dev/sda30   35328    40447    5120 EBD0A0A2-B9E5-4433-87C0-xxxxxxxxxxxx CCEB0B18-39CB-D547-9DB7-xxxxxxxxxxxx mnv       
/dev/sda31   40448    45567    5120 EBD0A0A2-B9E5-4433-87C0-xxxxxxxxxxxx D4981A2B-0478-544E-9607-xxxxxxxxxxxx reserved1 
/dev/sda32   45568    50687    5120 EBD0A0A2-B9E5-4433-87C0-xxxxxxxxxxxx 6D6C9A36-E919-264D-A9EE-xxxxxxxxxxxx reserved2 
/dev/sda33   50688    55807    5120 EBD0A0A2-B9E5-4433-87C0-xxxxxxxxxxxx 60B98C0E-BEAD-B043-9CC6-xxxxxxxxxxxx reserved3 
/dev/sda41   65536  7929855 7864320 EBD0A0A2-B9E5-4433-87C0-xxxxxxxxxxxx F2ECCD60-9303-46B1-B193-xxxxxxxxxxxx system    
/dev/sda42 7929856  8060927  131072 EBD0A0A2-B9E5-4433-87C0-xxxxxxxxxxxx DD8D25F3-92F2-4B24-9558-xxxxxxxxxxxx custom    
/dev/sda43 8060928  8323071  262144 EBD0A0A2-B9E5-4433-87C0-xxxxxxxxxxxx 01573816-7EBF-4860-8AB7-xxxxxxxxxxxx cache     
/dev/sda44 8323072 15267834 6944763 EBD0A0A2-B9E5-4433-87C0-xxxxxxxxxxxx E15F5427-031C-4BB0-89D5-xxxxxxxxxxxx userdata  


Expert command (m for help): 

क्योंकि आपके पास बहुत सारे बाइंड्स हैं जो आपको विभाजन को संशोधित करने के लिए हैं।

पहला नुकसान , उबंटू के लिए डिफ़ॉल्ट पुनर्प्राप्ति छवि सक्षम नहीं है। मैंने TWRP 3.0 का उपयोग किया।

दूसरा नुकसान , TWRP fdisk उपयोगिता काफी अच्छी नहीं है, यह व्यस्त बॉक्स संस्करण है और इसमें संशोधन आदेश नहीं हैं। तो बस एसडी कार्ड पर सिस्टम विभाजन के एक कॉपी (dd के साथ सिस्टम इमेज से फाइल में ताकि आप एक लूप डिवाइस के रूप में माउंट कर सकते हैं), इसे माउंट करें, इस माउंट में mknod / dev / sda और chroot / mbin के साथ बनाएं fdisk

अब आप विभाजन के साथ खेल सकते हैं। बस कुछ भी गड़बड़ करने के लिए सावधान रहें लेकिन चार लक्ष्य विभाजन नहीं। विभाजन के लेबल के नाम रखना मत भूलना।

सभी चार विभाजन ext4 फाइलसिस्टम बनाते हैं और फिर आपको उन्हें TWRP मेनू से माउंट करने में सक्षम होना चाहिए। यदि आपने सिस्टम विभाजन को विकसित कर लिया है, तो आपको fs का आकार बदलने में सक्षम होना चाहिए।

आप विभाजन को फिर से कर सकते हैं और फिर उबंटू-डिवाइस-फ्लैश के साथ उबंटू प्रणाली को फिर से चालू कर सकते हैं।

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