จำเป็นต้องใช้คำสั่งใดเพื่อติดตั้ง Ubuntu Core


18

หน้า wikiของ Ubuntu Core มีคำแนะนำในการติดตั้ง Ubuntu Core บนสื่อเป้าหมาย:

  1. Uncompress (ไม่แกะ) rootfs
  2. สื่อเป้าหมายรูปแบบ: อย่างน้อยหนึ่งพาร์ทิชันที่ควรจะเป็นext2, ext3หรือext4
  3. แกะ Ubuntu Core ออกจากext{2,3,4}พาร์ติชั่น
  4. ติดตั้งบูตโหลดเดอร์
  5. ติดตั้ง Linux
  6. หากเคอร์เนล Linux ต้องการโมดูลให้เพิ่มสิ่งเหล่านี้/lib/modules/$(uname -r)ในext{2,3,4}ระบบไฟล์
  7. บู๊ตอุปกรณ์เป้าหมาย
  8. ติดตั้งซอฟต์แวร์ที่จำเป็นเพิ่มเติมโดยใช้ apt-get

แต่คำสั่งเฉพาะที่ต้องทำด้านบนคืออะไร? สิ่งที่ฉันสับสนเป็นพิเศษคือ:

  1. การคลายการบีบอัดและแกะกล่องแตกต่างกันอย่างไรและฉันจะทำอย่างไร
  2. ฉันควรติดตั้งแพคเกจใดหากฉันต้องการเคอร์เนลทั่วไปในการติดตั้ง Ubuntu ปกติ
  3. ฉันจะไม่ติดตั้งไดรเวอร์ใด ๆ หรือสิ่งที่เกี่ยวข้องกับเคอร์เนลนอกเหนือจากที่ระบุไว้ใน repos ฉันต้องกังวลเกี่ยวกับการเพิ่มโมดูลเคอร์เนลด้วยตนเองหรือไม่?

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

คำตอบ:


19

คำสั่งเหล่านั้นทั้งหมดจะต้องการสิทธิ์ผู้ดูแลระบบ ที่ง่ายที่สุดคือทำsudo suเพื่อรับรูทคอนโซล

  1. ไฟล์เก็บถาวรเช่น core ของคุณ. tar.gz (นี่คือ oneiric, beta แม่นยำอยู่ที่นี่ ) จะรวมกันในไฟล์เดียว (บรรจุแล้ว) และลดขนาด (บีบอัด)

    gzip -d ubuntu-core-11.10-core-i386.tar.gz

    จะคลายการบีบอัดคอร์ไปที่ ubuntu-core-11.10-core-i386.tar (ไม่. gz อีกต่อไป; ไฟล์ขนาดใหญ่หนึ่งไฟล์)

  2. ในการแบ่งพาร์ติชันอุปกรณ์สำหรับคอร์เป็นเรื่องง่ายที่สุดในการใช้เครื่องมือกราฟิกเช่น gparted เมื่อไม่สามารถใช้งานได้ ดูที่นี่ สรุป - สมมติว่าคุณต้องการแบ่งพาร์ติชันอุปกรณ์ / dev / sda:

    fdisk /dev/sdaจากนั้นกดn p 1 <Return> <Return> a 1 w(สำหรับรายละเอียดโปรดดูลิงค์)

    สิ่งนี้จะสร้างพาร์ติชั่น / dev / sda1

    mkfs.ext4 /dev/sda1

    สิ่งนี้จะสร้างระบบไฟล์ ext4 บนพาร์ติชันใหม่ คุณสามารถในการใช้หลักสูตรmkfs.ext3, mkfs.ext2เช่นกัน

    ติดมันmount /dev/sda1 /mntและไปที่นั่นcd /mnt

  3. tar -xf /path/to/where/you/put/ubuntu-core-11.10-core-i386.tar

    จะคลายแกนออก (หลายไฟล์)

  4. grub-install --root-directory=/mnt /dev/sda

    จะติดตั้ง bootloader (นี่เป็นเพียงหนึ่งในตัวเลือกมากมาย)

  5. cp /etc/resolv.conf /mnt/etc/resolv.conf

    จะอนุญาตการเข้าถึงเครือข่ายหลังจาก chroot-ing (ในขั้นตอนที่ 7) โดยการคัดลอกการกำหนดค่าตัวแก้ไข DNS

  6. for f in /sys /proc /dev ; do mount --rbind $f /mnt/$f ; done ; chroot /mnt

    จะไปที่ chroot ดูที่วิธีการ chroot ง่ายกว่าการติดตั้งผูกหรือเปล่า? สำหรับรายละเอียดเกี่ยวกับ mount rbind

  7. apt-get update && apt-get install linux-{headers,image}-generic

    จะติดตั้งเคอร์เนล ("linux")

    หมายเหตุ: เป็นไปได้ที่apt-get updateจะไม่ทำงานเพราะไม่มีเครือข่าย

  8. reboot และคุณก็พร้อมที่จะไป

ฉันไม่ได้มีเครื่องที่จะทดสอบสิ่งนี้ดังนั้นคำตอบอาจจะไม่สมบูรณ์ ฉันจะเปลี่ยนคำตอบถ้าคุณเจอปัญหา


ฉันคิดว่าฉันสามารถสร้างผู้ใช้โดยใช้chrootสภาพแวดล้อมได้หรือไม่
Oxwivi

ใช่แน่นอน! จำไว้ว่าให้ใช้adduserตรงกันข้ามกับuseraddมันสะดวกกว่า
เทอร์โบ

1
ฉันจะไม่สามารถลองใช้สิ่งเหล่านี้ได้ในทันทีเช่นกัน แต่ฉันยอมรับมันเนื่องจากความรู้ของฉันมันจะทำงานได้อย่างสมบูรณ์แบบ ฉันจะแสดงความคิดเห็นและแก้ไขหากฉันเจออาการสะอึกใด ๆ
Oxwivi

1
คู่มือที่ยอดเยี่ยม ฉันพบว่านี่เป็นกระบวนการที่ง่ายกว่ากระบวนการใน Ubuntu ของ wiki ที่นี่: wiki.ubuntu.com/Core/InstallationExample.Howeverเมื่อฉันเสร็จฉันไม่สามารถเข้าสู่ระบบในฐานะผู้ใช้ปกติหรือแม้กระทั่ง su เพื่อผู้ใช้ปกติจากราก . ฉันได้รับข้อผิดพลาด "ไม่สามารถดำเนินการ / bin / bash: ปฏิเสธการอนุญาต" และ "ผู้ใช้ที่ไม่รู้จักโมดูลการตรวจสอบสิทธิ์พื้นฐาน" ปัญหาคือว่าไดเรกทอรีราก (/) ไม่ได้อ่านหรือดำเนินการอนุญาตสำหรับกลุ่มหรืออื่น ๆ การรันchmod go+rx /ในฐานะ root แก้ไขปัญหานี้ สิ่งที่ต้องระวัง!
อเล็กซ์

@ เทอร์โบในแต่ละขั้นตอนคุณจะอธิบายว่ามันทำอะไร ยกเว้นสำหรับขั้นตอนที่ห้า "ไปที่ chroot:" ไม่ได้อธิบายสิ่งที่คุณกำลังทำที่นี่ คุณช่วยอธิบายรายละเอียดได้ไหม?
สำรองข้อมูล Pro

2

คุณสามารถตรวจสอบสิ่งนี้เพื่อติดตั้ง Ubuntu Core ไปยัง USB stick

Ubuntu Core ให้การเริ่มต้นที่ดีสำหรับการเล่นกับ Linux มันประหยัดเวลามากมายในการสร้างรูตซึ่งอาจต้องใช้ความพยายามอย่างมากในการทำงาน

อาจมีหลายวิธีในการเล่นกับ rootfs วิธีที่ง่ายที่สุดคือใช้ chroot เพื่อเปลี่ยนเป็น Ubuntu Core ชั่วคราว สาธารณูปโภคส่วนใหญ่ที่คุณคุ้นเคยควรใช้งานได้ แต่เครือข่ายไม่ควรเป็นเพราะไม่มีการกำหนดค่าเครือข่าย ทั้ง devfs หรือ sysfs ถูกสร้างขึ้นยูทิลิตี้จำนวนมากขึ้นอยู่กับอินเตอร์เฟสของเคอร์เนล inode ไม่ควรทำงาน

ยังคงเป็นไปได้ที่จะติดตั้งแพ็กเกจลงในรูท Ubuntu Core

ตัวอย่างการติดตั้ง

ติดตั้งรูท Ubuntu Core และภาพเคอร์เนล

sudo bash
cd / media / duzy / Root
tar xzvf ~ / Downloads / ubuntu-core-15.10-core-amd64.tar.gz
cp -vf /boot/vmlinuz-4.*-generic / media / duzy / Boot
cp -vf /boot/initrd.img-4.*-generic / media / duzy / Boot
useradd - รูท / สื่อ / duzy / รูท -s '/ bin / bash' -m duzy
passwd - รูท / สื่อ / duzy / รูท duzy
ป้อนรหัสผ่าน UNIX ใหม่: ......
พิมพ์รหัสผ่าน UNIX ใหม่อีกครั้ง: ......
cp /etc/resolv.conf /media/duzy/Root/resolv.conf
สำหรับ s ใน proc sys dev; do mount --rbind / dev / media / duzy / Root / $ s; เสร็จแล้ว
chroot / media / duzy / Root
apt-get update

ติดตั้งด้วง ( ด้วงติดตั้ง )

sudo grub-install --boot-directory=/media/duzy/Boot /dev/sdf  
sudo grub-mkconfig -o /media/duzy/Boot/grub/grub.cfg  

ทดสอบ USB ด้วย KVM ( ลิงก์ )

kvm -hdb /dev/sde # NOT the partition (/dev/sde1)!  

หรือทดสอบกับ VirtualBox

VBoxManage internalcommands createrawvmdk -filename VirtualBox/usbdisk.vmdk -rawdisk /dev/sde
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.