ডেস্কটপ লাইভসিডি থেকে এলভিএম রুটে আনবুটযোগ্য ইনস্টলেশন ঠিক করা


9

আমি মাত্র 10.10 ডেস্কটপ লাইভসিডি থেকে একটি ইনস্টলেশন করেছি, মূল ভলিউমটিকে একটি এলভিএম এলভি বানিয়েছি।

স্পষ্টতই এটি সমর্থিত নয়; জিইউআই ইনস্টলার অ্যাপ্লিকেশন শুরু করার আগে আমি এই পদক্ষেপগুলি গ্রহণ করে পরিচালনা করেছি:

  • lvm2চলমান সিস্টেমে প্যাকেজ ইনস্টল করা
  • সিস্টেম হার্ড ড্রাইভে একটি LVM- জাতীয় পার্টিশন তৈরি করা হচ্ছে
  • LVM সরঞ্জামগুলি ব্যবহার করে একটি ভৌত ​​ভলিউম, একটি ভলিউম গ্রুপ এবং একটি রুট এলভি তৈরি করা। আমি এর জন্য একটি দ্বিতীয় এলভিও তৈরি করেছি /var; এটি আমি প্রাসঙ্গিক বলে মনে করি না।
  • দুটি এলভিতে প্রতিটিতে একটি ফাইল সিস্টেম (এক্সট্রা 4) তৈরি করা হচ্ছে।

এই পদক্ষেপগুলি নেওয়ার পরে, জিইউআই ইনস্টলারটি দুটি এলভিকে ইনস্টলেশন লক্ষ্য হিসাবে প্রস্তাব দেয়; আমি আনন্দের সাথে স্বীকার করে /bootনিয়েছি, এলভিএম বিভাজন থেকে পৃথক একটি প্রাথমিক বিভাজন রেখেছি ।

ইনস্টলেশনটি সহজেই চলেছে বলে মনে হয়েছে এবং আমি যাচাই করেছি যে মূল এবং ভার্চু উভয় খণ্ডে গ্রহণযোগ্য-বর্ণনীয় ডিরেক্টরি কাঠামো রয়েছে।

তবে, বুটিং ব্যর্থ হয়; যদি আমি সঠিকভাবে বুঝতে পারি তবে কী ঘটেছিল, আমাকে আরআরআরডিডি ফাইল সিস্টেমে একটি ব্যস্তবক্সে ফেলে দেওয়া হয়েছিল।

যদিও আমি এখনও গ্রুব 2 ডক্সের পুরোটা জুড়ে কাজ করি নি, মনে হচ্ছে এমন এন্ট্রি যা আমার নতুন সিস্টেমটি বুট করার চেষ্টা করে তা সঠিক:

menuentry 'Ubuntu, with Linux 2.6.35-22-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos3)'
    search --no-floppy --fs-uuid --set $UUID_OF_BOOT_FILESYSTEM
    linux   /vmlinuz-2.6.35-22-generic root=/dev/mapper/$LVM_VOLUME_GROUP-root ro   quiet splash
    initrd  /initrd.img-2.6.35-22-generic
}

মনে রাখবেন যে $ VARS প্রকৃত grub.cfgক্ষেত্রে তাদের সম্পর্কিত মানগুলির সাথে প্রতিস্থাপিত হয় ।

আমি লাইভসিডিটিতে পুনরায় বুট করেছি এবং আরআরডি চিত্রটি একটি অস্থায়ী ডিরেক্টরিতে প্যাক করেছি। দেখে মনে হচ্ছে যে initrd চিত্রটিতে LVM কার্যকারিতা নেই। উদাহরণস্বরূপ, আমি যদি পড়ছি /usr/share/initramfs-tools/hooks/lvm2( lvm2লাইভসিডি-বুটেড সিস্টেমে ইনস্টল করা, ইনস্টল হওয়াটিতে উপস্থিত নেই) সঠিকভাবে কার্যকর করা যায় তবে একটি lvmএক্সিকিউটেবলের মধ্যে থাকা উচিত /sbin; ব্যাপার সেটা না.

এই পরিস্থিতি প্রতিকারের সর্বোত্তম উপায় কী? আমি বুঝতে পেরেছি যে কেবলমাত্র বিকল্প ইনস্টল সিডি ব্যবহার করা আরও সহজ হবে যা স্পষ্টতই LVM সমর্থন করে তবে আমি এটি ডাউনলোড করার জন্য অপেক্ষা করতে এবং তারপরে পুনরায় ইনস্টল করতে চাই না।

উত্তর:


9

আপনি সমস্যাটি সরাসরি মাথার উপরে চাপান: ইনিরামফদের কাছে এলভিএম সমর্থন নেই। এটি ঠিক করার উপায় এখানে:

  1. লাইভসিডি আবার বুট করুন
  2. lvm2লাইভ পরিবেশে আবার ইনস্টল করুন
  3. ভলিউম গ্রুপ আনুন (যদি -২০ চেষ্টা করে না - হ্যাঁ)

    vgchange -a y
    
  4. পৃথক গাছের নীচে রুট এলভি, / বুট এবং / ডিভ মাউন্ট পান

    mkdir /newroot
    mount /dev/yourVG/rootLV /newroot
    mount /dev/yourbootpartition /newroot/boot
    mount -o bind /dev /newroot/dev
    
  5. প্রয়োজনীয় প্যাকেজগুলি / নিউরুট ট্রিতে অনুলিপি করুন

    cp /var/cache/apt/archives/*deb /newroot/tmp/
    
  6. নতুন গাছের মধ্যে ক্রট করুন এবং প্যাকেজগুলি ইনস্টল করুন

    chroot /newroot
    cd /tmp
    dpkg -i *.deb
    

এই মুহুর্তে, জিনিসগুলি স্বাভাবিক অবস্থায় ফিরে আসা উচিত (যেহেতু lvm2 ইনস্টল হওয়ার পরে initramfs পুনরায় জেনারেট করা হবে)। যদি তা না হয় তবে আপনি update-initramfs -uক্রোটের ভিতরে দৌড় দিয়ে খেলতে পারেন ।


বাইন্ড-মাউন্টিং / দেবের কারণ কী?
অনুভূত

গ্রাব পুনরায় রান হয়ে যায় এবং বুট ড্রাইভগুলি কোথায় অবস্থিত তা নির্ধারণ করতে চেয়েছি / ডিভ যোগ করেছি। নেটওয়ার্কিং শেষ না হওয়ার ক্ষেত্রে বা অন্যথায় অদ্ভুতভাবে অদ্ভুতরূপে ব্যবহার করার ক্ষেত্রে আমি dpkg ব্যবহার করেছি। নেটওয়ার্কিং যদি কাজ করে তবে আমি সুপারিশ করছি "অ্যাপটিক্যড" ওভার "প্রবণতা" যেহেতু এটি আজকের দিনে আরও ভাল ডিপ রেজোলিউশন করে।
কিস কুক

টিপটির জন্য ধন্যবাদ apt-get, কী কী তা ট্র্যাক করা শক্ত। আপনার কি আরও তথ্যের লিঙ্ক আছে?
intuited

1

হার্ড ডিস্কে সিস্টেম ইনস্টল করার পরে, বুট করার আগে আপনাকে সেই সিস্টেমে lvm2 ইনস্টল করতে হবে। আপনি যদি লাইভসিডি তে lvm2 ইনস্টল করেন তবে প্যাকেজগুলি এখনও / var / cache / apt / সংরক্ষণাগারগুলিতে থাকবে। ডিরেক্টরিতে পরিবর্তন করুন, হার্ড ডিস্ক মাউন্ট করুন এবং dpkg --root = / mnt * .deb ব্যবহার করে প্যাকেজগুলি হার্ড ডিস্কে ইনস্টল করুন। আপনার ক্ষেত্রে, আপনাকে / mnt থেকে মূল fs এবং তারপরে var fs / mnt / var এ মাউন্ট করতে হবে।

এছাড়াও আপনার পৃথক / বুট পার্টিশনের প্রয়োজন নেই এবং পৃথক / var পার্টিশন প্রশ্নবিদ্ধ।


ভাল .. এটা chroot-িংয়ের চেয়ে সহজ । আমি অনুমান করি aptitudeযে এটি স্পষ্টভাবে ইনস্টল করা প্যাকেজগুলির ডিবিতে নিবন্ধভুক্ত হবে না , সুতরাং আমার সম্ভবত সম্ভবত এইভাবে ইনস্টল করা উচিত lvm2এবং এর নির্ভরতাগুলি। আলাদা ব্যবহার করার জন্য কোন ডাউনসাইড /var? অতিরিক্ত 'স্ল্যাক' স্থান বরাদ্দ থাকার বিষয়টি বাদে? আমি এটি স্ন্যাপশট করতে সক্ষম হতে চাই, তাই আমি অন্যান্য বড় চলক ফাইলের সাথে এটি মিশ্রিত করতে চাই না; আমি /dataসিস্টেমটি চালু ও চলার পরে, সংগীত এবং এই জাতীয় অনুষ্ঠানের জন্য তৈরি করতে একটি পৃথক ভলিউমে আমার হোম ডিরেক্টরিটি একটি ডিরেক্টরিতে সিমলিংক বা বাঁধাই করার পরিকল্পনা করছি ।
intuited

এছাড়াও: আমারও বুট এফএস মাউন্ট করতে হবে /mnt/boot, না? আমি সংগ্রহ করি যা lvm2ইনস্টলেশনের ক্ষেত্রে একটি নতুন আরআরডি তৈরি করে।
অনুপ্রেরণা

@ চিহ্নিত না, এটি হ'ল বরাবরের মতো ম্যানুয়ালি ইনস্টল হিসাবে রেকর্ড করা হবে। হ্যাঁ, আপনার যদি পৃথক পৃথক একটি থাকে তবে আপনার / বুট লাগানোও দরকার। আলাদা / ভের থাকা স্ন্যাপশট তৈরি করতে সাহায্য করে না।
psusi

একটি পৃথক /varপার্টিশন স্ন্যাপশটগুলির সাহায্য করবে না, না, তবে এটি উদাহরণস্বরূপ, রুট এফএসকে অপ্রত্যাশিতভাবে পূরণ করা থেকে বিরত রাখতে সহায়তা করবে। আপনি কি বলছেন যে এটি স্ন্যাপশট নেওয়ার ক্ষেত্রে সমস্যাগুলির পরিচয় দেবে? ওহ, অপেক্ষা করুন, এটি অন্য প্রশ্ন মন্তব্য থ্রেডে আপনি। কিছুই নয় ..
অনুভূত

1

আমি এই ওয়াকথ্রুটির চূড়ান্ত বিভাগ থেকে কিছু সহায়তায় কিস কুকটি সুন্দরভাবে আউট দিয়ে যা করেছি তা শেষ করেছিলাম । যাহোক:

  • আমি বাঁধাই-মাউন্ট করিনি /dev। দেখে মনে হচ্ছে এটি পরে কিছু ত্রুটি বার্তা নিয়েছে; নিচে দেখ.
  • আমি আমার /varভলিউম এছাড়াও নতুন রুটে মাউন্ট করেছি /boot
  • আমি /tmpনতুন মূলের মধ্যে ডিবস অনুলিপি করিনি । পরিবর্তে, আমি ing # apt-get install aptitude; aptitude install lvm2পরে দৌড়ে chroot

    • অ্যাপটি ডাটাবেসে এই ক্রিয়াগুলি নিবন্ধ করার জন্য আমি এটি করেছি: উদাহরণস্বরূপ aptitude, এবং সম্ভবত এটিও সনাক্ত apt-getকরবে যে কোন প্যাকেজগুলি সুস্পষ্টভাবে ইনস্টল করা হয়েছিল এবং কোনটি নির্ভরতা হিসাবে স্বয়ংক্রিয়ভাবে ইনস্টল হয়েছিল।
    • যেহেতু আমি আমার প্যাকেজগুলি স্থানীয় অ্যাপল প্রক্সি (চলমান apt-cacher-ng) এর মাধ্যমে পেয়ে যাচ্ছি , তাই তাদের আবার ডাউনলোড করার জন্য আমার অপেক্ষা করতে হয়নি। আমি একটি ফাইল করতে হবে/etc/apt/apt.conf.d/02proxy ধারণকারী Acquire::http::Proxy "http://local-apt-proxy-server:3142";চালানোর আগে apt-get। লাইভসিডিটি ইনস্টল করার আগে প্যাকেজ ইনস্টল করার আগে আমি একই কাজটি করেছি।
    • আমি কয়েকবার উল্লেখ করে একটি ত্রুটি বার্তা বা সতর্কতা পেয়েছি

      Can not write log, openpty() failed (/dev/pts not mounted?)
      

** মাউন্ট -o বাঁধাই / দেব / pts / mnt / YouNameIt / dev / pts

    This did not prevent the appropriate lines from being added to `/var/log/dpkg.log`.

    I suspect that this issue could have been averted by bind-mounting `/dev`, but I don't really understand what it means, i.e. I don't know what log it's referring to, or why it would need to access a pty in order to write to a log.

আমি আমার নিজের উত্তরটি গ্রহণ করছি কারণ এটি আমার পক্ষে ভাল কাজ করেছে; অনুরূপ সমাধানের জন্য কিসের উত্তর দেখুন যা কিছু পরিস্থিতিতে আরও নির্ভরযোগ্য হতে পারে।
অনুপ্রেরণা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.