การปรับแต่ง RepairDisk: ถนนสู่ LFS

หลายครั้งที่เราต้องซ่อมแซมระบบจาก LiveCD และในบางจุดในกระบวนการเราขาดเครื่องมือและเมื่อเราต้องการติดตั้ง LiveCD OS บอกเราว่าพื้นที่หมดและ กระเทียมและน้ำ (เพื่อปิดและพักไว้)

ปัญหานี้เกิดขึ้นจริงกับฉันเพราะการเข้าสู่ LFS (LinuxFromScratch) ซึ่งเป็นแนวทาง (ไม่ใช่การแจกจ่ายเอง) ในการติดตั้ง Linux ที่กำหนดเอง ประเด็นของ "การแจกจ่าย" นี้คือจาก LiveCD ใด ๆ และด้วยเครื่องมือที่เหมาะสมคุณจะดาวน์โหลดโค้ดเคอร์เนลและเครื่องมืออื่น ๆ เพื่อสร้างระบบของคุณเอง (รวบรวมทุกอย่างทีละเล็กทีละน้อย) หากคุณต้องการทำตามคำแนะนำทีละขั้นตอนคุณต้องมีเครื่องมือและคอมไพเลอร์หลายตัวและไม่มี LiveCD พร้อมทุกอย่างดังนั้นคุณต้องกำหนดเอง

ลงมือทำกันเลย เราจะใช้ไฟล์ SystemRescueCdซึ่งนำเสนอสภาพแวดล้อมแบบ Gentoo ที่ค่อนข้างครอบคลุม

ในตัวอย่างของเรา (การติดตั้ง Linux ตั้งแต่เริ่มต้นตามหนังสือ Linux From Scratch) เราไม่มีโปรแกรม Bison และ Makeinfo ดังนั้นเราจะสร้างอิมเมจ ISO ใหม่ของดิสก์นี้ แต่ใช้เครื่องมือใหม่

ข้อสังเกต: Gentoo เป็นการแจกจ่ายที่รวบรวม ในแหล่งกำเนิด แพ็คเกจทั้งหมดที่จะติดตั้งดังนั้นกระบวนการเพิ่มและอัปเดตโปรแกรมจึงช้า

แม้ว่าจะใช้ตัวจัดการแพ็คเกจ (เช่น apt-get ของ Debian) แทนที่จะดาวน์โหลดแพ็คเกจ แต่ซอร์สโค้ดจะถูกดาวน์โหลดเพื่อรวบรวมลงในเครื่องของคุณ

สำหรับกระบวนการนี้คุณจะต้องมีพาร์ติชัน Linux (เช่น ext4) ที่มีอย่างน้อย 1.5G ฟรีแม้ว่าจะแนะนำมากกว่านี้ก็ตาม หากคุณไม่ต้องการเล่นกับพาร์ติชันของคุณให้ใช้เครื่องเสมือน แน่นอนขอแนะนำให้พาร์ติชันมีกิ๊กหลายตัวตั้งแต่ในระหว่างกระบวนการคอมไพล์การติดตั้งการซิงโครไนซ์ที่เก็บ ... จำเป็นต้องมีพื้นที่ชั่วคราว ฉันแนะนำให้ใช้พาร์ติชันสว็อป 8G + 2G (ด้วย 4G + 1G ก็น่าจะเพียงพอ แต่ดังนั้นเราจึงมั่นใจได้ว่าหาก RAM / swap หายไปกระบวนการจะช้าลง)

สมมติว่าคุณได้สร้างเครื่องเสมือนด้วยดิสก์ 10G คุณเริ่มต้นด้วยการบอกให้บูตจาก SystemRescueCd ที่ดาวน์โหลดมาใหม่ เมื่ออยู่ภายในเราแบ่งพาร์ติชันด้วย fdisk (หากคุณเริ่มเซสชันกราฟิกคุณสามารถทำได้ด้วย gparted แต่จุดประสงค์ของโพสต์นี้คือการสอนการใช้เครื่องมือพื้นฐาน) fdisk เป็นคำสั่งแบบโต้ตอบ:

  • ด้วยตัวเลือก "n" เราสร้างพาร์ติชันใหม่
  • ด้วยตัวเลือก "t" เราเปลี่ยนประเภทของระบบไฟล์ที่จะไปในพาร์ติชัน
  • ด้วยตัวเลือก« w »เราเขียนลงในดิสก์
  • ด้วยตัวเลือก« q »เราออกโดยไม่ต้องเขียนการเปลี่ยนแปลง

เมื่อเราใช้ตัวเลือก "n" มันจะทำให้เรามีหลายตัวเลือกตลอดเวลาเราจะใช้ค่าเริ่มต้นยกเว้นเมื่อตั้งค่าเซกเตอร์สุดท้ายในพาร์ติชันแรกซึ่งเราจะต้องเขียน "+ 8G" จึงเป็นการระบุไปยังโปรแกรม ที่เราต้องการให้พาร์ติชันของเราครอบครอง 8GB

เมื่อสร้างพาร์ติชันที่สองเราจะใช้ตัวเลือกเริ่มต้นเนื่องจากพื้นที่ที่เหลือจะถูกครอบครอง นอกจากนี้หากต้องการบอก fdisk ว่าพาร์ติชันที่สองจะเป็นประเภท swap ให้ใช้ตัวเลือก "t" (hexcode สำหรับ swap คือ 82) อินเทอร์เฟซมีลักษณะดังนี้:

คำสั่ง% fdisk / dev / sda (m สำหรับความช่วยเหลือ):

เมื่อทุกอย่างเสร็จสิ้นเราใช้ตัวเลือก "w" เพื่อเขียนการเปลี่ยนแปลงลงในดิสก์และออก
ตอนนี้ถึงเวลาจัดรูปแบบพาร์ติชัน เราจะเริ่มต้นด้วยการแลกเปลี่ยนเพื่อใช้ประโยชน์ได้ทันที:

% mkswap / dev / sda2% swapon / dev / sda2

เราได้ฟอร์แมตพาร์ติชัน swap แล้วและด้วยคำสั่ง สวอปปอน เราได้เริ่มใช้มัน ตอนนี้เราจัดรูปแบบพาร์ติชันแรกใน ext4:

% mkfs.ext4 /dev/sda1

เราสามารถเริ่มทำตามขั้นตอนที่อธิบายไว้ใน http://www.sysresccd.org/Sysresccd-manual-en_How_to_personalize_SystemRescueCdที่นี่ฉันแปล / อธิบายด้วยคำอธิบายประกอบแปลก ๆ

เราติดตั้งพาร์ติชันเข้าที่ (LiveCD มาพร้อมกับโฟลเดอร์ / mnt / กำหนดเองแล้วซึ่งจะต้องติดตั้งพาร์ติชันที่เราจะทำการเปลี่ยนแปลงที่เหมาะสม) หลังจากติดตั้งแล้วเราจะต้องแตกไฟล์จากดิสก์ซึ่งทำได้ด้วยสคริปต์ที่เตรียมไว้แล้ว สคริปต์จะใช้เวลาสักครู่ (เนื่องจากมันทิ้งหน่วยความจำหลายร้อยเมกะไบต์) หากคุณต้องการตรวจสอบว่าใช้งานได้จริงให้ไปที่เทอร์มินัลอื่น (เช่น Alt + F4) และทำ df -h.

% mount / dev / sda2 / mnt / custom% / usr / sbin / sysresccd- สารสกัดที่กำหนดเอง

หากคุณนำทางภายใน / mnt / กำหนดเอง / customcdคุณจะเห็นหลายโฟลเดอร์ ใน / mnt / กำหนดเอง / customcd / ไฟล์ พบระบบไฟล์รูท ตอนนี้ถึงเวลาที่จะพัฒนาระบบใหม่ในอนาคต ที่นี่ฉันจะใส่คำสั่งสำหรับข้อมูลเพิ่มเติมเกี่ยวกับ chroot คุณสามารถดูได้ บทแนะนำนี้ฉันเขียนเมื่อเดือนที่แล้ว

% mount -o bind / proc / mnt / custom / customcd / files / proc% mount -o bind / dev / mnt / custom / customcd / files / dev% mount -o bind / sys / mnt / custom / customcd / files / sys% chroot / mnt / กำหนดเอง / customcd / files / bin / bash # gcc-config $ (gcc-config -c)

เราอยู่ในระบบ chrooted แล้วซึ่งจะเป็นระบบ LiveCD เมื่อเราบู๊ต เราจะติดตั้งแพ็คเกจที่หายไป (bison และ texinfo) โดยใช้คำสั่ง ออกมา (ผู้ดูแลพัสดุของ การขนส่ง จาก gentoo)

ก่อนอื่นเราซิงโครไนซ์ทรีพอร์ตเทจ (เทียบเท่ากับ ปรับปรุง apt-get)
# emerge-webrsync หมายเหตุ: เราใช้คำสั่งนี้แทน "Emerge –sync" เพราะเร็วกว่าเนื่องจากดาวน์โหลดแพ็ค tar จากเว็บ ขั้นตอนนี้จำเป็นเพราะถ้าคุณไม่โผล่ออกมามันจะโผล่ขึ้นมาโดยอัตโนมัติ –sync ทำให้ช้าลง

หลังจากซิงโครไนซ์ทรีพอร์ตเทจแล้วเราสามารถดำเนินการติดตั้งแพ็คเกจต่อไป:

# โผล่ sys-devel / bison # โผล่ sys-devel / texinfo
วัวกระทิงจะใช้เวลาสักครู่ในการรวบรวมอดทน

เราออกจาก chroot:# exit

เรายกเลิกการต่อเชื่อม "/ proc" เพื่อให้แพ็กเกจที่ติดตั้งใหม่ถูกเก็บไว้ใน squashfs เรายังยกเลิกการต่อเชื่อม "/ dev" และ "/ sys" เพื่อไม่ให้ลืมในภายหลัง
% umount /mnt/custom/customcd/files/proc
% umount /mnt/custom/customcd/files/dev
% umount /mnt/custom/customcd/files/sys

เนื่องจากเราได้เตรียมระบบไฟล์สควอชใหม่แล้วเราจึงสร้างด้วยคำสั่งต่อไปนี้
% /usr/sbin/sysresccd-custom squashfs
หากเราต้องการเพิ่มไฟล์ในอิมเมจ ISO แต่ต้องการให้อยู่นอก squashfs เราต้องใส่ไว้ในโฟลเดอร์« / mnt / custom / customcd / isoroot »

% cp -a my-files /mnt/custom/customcd/isoroot

ในตอนนี้คำแนะนำอย่างเป็นทางการจะแจ้งให้คุณทราบว่าคุณสามารถตั้งค่าคีย์แมปให้บูตด้วยแป้นพิมพ์เริ่มต้น (เช่น "es" สำหรับแป้นพิมพ์ภาษาสเปน) แต่ทำการทดสอบหลายครั้งสคริปต์ที่ใช้สำหรับฉันไม่ทำงานและส่งผลให้เกิดข้อผิดพลาดเมื่อโหลดเคอร์เนลดังนั้นฉันจะข้ามขั้นตอนนี้ไป

ช่วงเวลาแห่งความรุ่งโรจน์มาถึงแล้วตอนนี้เราสามารถสร้างภาพ ISO ใหม่ด้วยระบบที่เรากำหนดเองได้แล้ว!
% /usr/sbin/sysresccd-custom isogen my_srcd
"My_srcd" คือชื่อที่เราตั้งให้กับโวลุ่มคุณสามารถเรียกมันว่าอะไรก็ได้ที่คุณต้องการ ภาพจะถูกบันทึกใน« / mnt / custom / customcd / isofile »นอกจากนี้ยังสร้างไฟล์. md5 ด้วย🙂

หากคุณกำลังทำงานบนดิสก์เสมือนขั้นตอนสำคัญยังคงอยู่: ดึงอิมเมจ ISO ของระบบเสมือน มีหลายวิธีในการทำฉันจะอธิบายวิธีง่ายๆ (ใน VirtualBox) เพื่อหลีกเลี่ยงการติดตั้ง "การเพิ่มผู้เยี่ยมชม" หรืออะไรทำนองนั้น
เราจะใช้ไคลเอนต์เพื่อรับไฟล์ผ่านอุโมงค์ ssh ในการดำเนินการนี้เราต้องกำหนดค่าระบบเกสต์ด้วยรหัสผ่านรูทก่อน เซิร์ฟเวอร์ ssh เริ่มต้นโดยอัตโนมัติเรายังคงรีสตาร์ทในกรณีนี้
% passwd
% /etc/init.d/sshd restart

เราต้องกำหนดค่าการส่งต่อพอร์ตของเครื่องเสมือน ใน VirtualBox จะทำดังนี้:

  1. คุณเข้าถึงการกำหนดค่าเครื่องเสมือน
  2. ในส่วนเครือข่ายคุณได้กำหนดค่าอะแด็ปเตอร์ใน NAT แล้ว
  3. มองหาตัวเลือกการส่งต่อพอร์ต
  4. คุณเพิ่มกฎใหม่โดยมีพารามิเตอร์ "พอร์ตโฮสต์" และ "พอร์ตแขก" เท่านั้น
  5. โฮสต์ = 3022 และแขก = 22

ด้วยเหตุนี้เราจึงได้รับพอร์ต 3022 ของพีซีของเราเป็น 22 ของเครื่องเสมือน เราเริ่มไคลเอนต์ Filezilla:

  1. ในพารามิเตอร์เซิร์ฟเวอร์เราเขียน: sftp: // localhost
  2. ในพารามิเตอร์ชื่อผู้ใช้ที่เราเขียน: root
  3. ในพารามิเตอร์รหัสผ่านเราใส่รหัสที่เราใช้ใน« passwd »
  4. ในพารามิเตอร์พอร์ตเราเขียน: 3022
  5. คลิกที่«การเชื่อมต่อด่วน»

หากทุกอย่างไปทางซ้ายได้ดีเราสามารถนำทางบนพีซีของเราและไปทางขวาในเครื่องเสมือนได้ เพียงพอที่จะเข้าถึง (ในเครื่องเสมือน) โฟลเดอร์« / mnt / custom / customcd / isofile »และลากอิมเมจ ISO ไปยังตำแหน่งที่เราต้องการบนพีซีของเรา

!! ยินดีด้วยครับ !! หากทุกอย่างเป็นไปด้วยดีคุณมีอิมเมจ ISO ของคุณพร้อมกับ SystemRescueCD ที่กำหนดเองและพร้อมที่จะบูตจากซีดี USB ...


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   ราศีสิงห์ dijo

    คำแนะนำที่ดีค่อนข้างซับซ้อน แต่มีประโยชน์มาก
    ผลงานที่ดี

  2.   Leper_Ivan dijo

    จากนั้นให้เวลาเพิ่มขึ้นเล็กน้อยและโดยไม่รู้สึกไม่สบายตามากนักฉันจะอ่านอย่างละเอียด ดูเหมือนมีประโยชน์และน่าสนใจมาก

  3.   คาร์ลอสซานเชซ dijo

    สวัสดี woqer โพสต์ที่ดีมาก!

    ฉันอยู่กับ LFS มาหลายปีแล้วและฉันได้สร้าง iso ของตัวเองที่สามารถให้บริการคุณได้มีทุกสิ่งที่คุณต้องรวบรวมเนื่องจากเป็น LFS 😀ฉันหวังว่ามันจะเป็นประโยชน์สำหรับคุณ

    http://vegnux.org.ve/files/isos/neonatox-06.2rc6.linux-i686-xfce4.iso