Pagpapasadya ng isang Pag-ayosDisk: Ang Daan sa LFS

Marami ang mga oras na kinailangan nating ayusin ang isang sistema mula sa isang LiveCD, at sa ilang mga punto sa proseso ay nahanap namin ang aming sarili na kulang sa isang tool at kapag nais naming i-install ito, sinabi sa amin ng LiveCD OS na naubusan ito ng puwang at bawang at tubig ( upang magkantot at hawakan).

Ang problemang ito ay talagang dumating sa akin dahil sa pagpunta sa LFS (LinuxFromScratch), na isang gabay (HINDI isang pamamahagi mismo) upang mag-install ng isang pasadyang Linux. Ang punto ng "pamamahagi" na ito ay mula sa anumang LiveCD, at sa mga naaangkop na tool, nai-download mo ang kernel code at iba pang mga tool upang mabuo ang iyong sariling system (pinagsama-sama ang lahat nang paunti-unti). Kung nais mong sundin ang sunud-sunod na gabay, kailangan mo ng maraming mga tool at compiler, at walang liveCD sa lahat, kaya kailangan mong ipasadya ang isa.

Gawin natin. Gagamitin namin ang SystemRescueCD, na nag-aalok ng isang medyo komprehensibong kapaligiran na nakabatay sa Gentoo.

Sa aming halimbawa (pag-install ng isang Linux mula sa simula na sumusunod sa aklat ng Linux From Scratch) nawawala namin ang mga programa ng Bison at Makeinfo, kaya't lilikha kami ng isang bagong imahe ng ISO ng disk na ito ngunit may mga bagong tool.

PAUNAWA: Ang Gentoo ay isang pamamahagi na nag-iipon sa lugar ng kinaroroonan lahat ng mga pakete na mai-install, samakatuwid ang proseso ng pagdaragdag at pag-update ng mga programa ay mabagal.

Bagaman ginagamit ang isang tagapamahala ng package (tulad ng apt-get ni Debian), sa halip na mag-download ng mga package, na-download ang source code upang maipon ito sa iyong machine.

Para sa proseso kakailanganin mo ang isang Linux na pagkahati (halimbawa ng ext4) na may hindi bababa sa 1.5G libre, kahit na higit na inirerekumenda. Kung hindi mo nais na kumubkob sa iyong mga partisyon, gumawa ng isang virtual machine. Siyempre, ipinapayong ang pagkahati ay may maraming mga gigabyte dahil sa panahon ng mga proseso ng pagtitipon, pag-install, pag-synchronize ng mga repository ... kailangan ng pansamantalang puwang; Pinapayuhan ko ang paggamit ng isang 8G + 2G swap na pagkahati (na may 4G + 1G dapat itong sapat, ngunit iyan ang tinitiyak namin, kung nawawala ang RAM / swap ang proseso ay magiging mas mabagal)

Ipagpalagay na nakalikha ka ng isang virtual machine na may isang 10G disk, sinisimulan mo ito sa pamamagitan ng pagsasabi sa iyo na mag-boot mula sa bagong nai-download na SystemRescueCd. Sa sandaling nasa loob kami ay nahahati sa tautisk (kung sinimulan mo ang grapikong sesyon maaari mo itong gawin sa gparted, ngunit ang layunin ng post na ito ay upang turuan ang paggamit ng mga pangunahing tool). Ang fdisk ay isang interactive na utos:

  • sa pagpipiliang "n" lumilikha kami ng isang bagong pagkahati
  • sa pagpipiliang "t" binabago namin ang uri ng filesystem na mapupunta sa pagkahati
  • kasama ang pagpipiliang «w» sumulat kami sa disk
  • sa pagpipiliang «q» umalis kami nang hindi sinusulat ang mga pagbabago

Kapag ginamit namin ang pagpipiliang "n" magbibigay ito sa amin ng maraming mga pagpipilian, sa lahat ng oras ay gagamitin namin ang default, maliban kung itinatakda ang huling sektor sa unang pagkahati, na susulatin namin ang "+ 8G", sa gayon ay ipinapahiwatig sa programa na nais namin ang aming pagkahati sakupin ang 8GB.

Kapag lumilikha ng pangalawang pagkahati gagamitin namin ang mga default na pagpipilian dahil ang natitirang espasyo ay masasakop. Gayundin, upang sabihin sa fdisk na ang pangalawang pagkahati ay magiging uri ng pagpapalit, gamitin ang pagpipiliang "t" (ang hexcode para sa swap ay 82). Ganito ang interface:

% fdisk / dev / sda Command (m para sa tulong):

Kapag tapos na ang lahat, ginagamit namin ang pagpipiliang "w" upang isulat ang mga pagbabago sa disk at exit.
Ngayon ay oras na upang mai-format ang mga partisyon. Magsisimula kami sa pagpapalit upang magamit ito kaagad:

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

Mayroon na kaming naka-format na partisyon ng swap, at kasama ang utos swapon sinimulan na namin itong gamitin. Ngayon ay nai-format namin ang unang pagkahati sa ext4:

% mkfs.ext4 /dev/sda1

Maaari nating simulang sundin ang mga hakbang na inilarawan sa http://www.sysresccd.org/Sysresccd-manual-en_How_to_personalize_SystemRescueCd, narito isalin / ilalarawan ko ang mga ito sa kakaibang anotasyon.

Inilalagay namin ang pagkahati sa lugar nito (ang LiveCD ay handa nang handa na may isang folder / mnt / pasadyang kung saan dapat na mai-mount ang pagkahati kung saan gagawin namin ang mga naaangkop na pagbabago). Matapos din ang pag-mount kailangan nating kunin ang mga file mula sa disk, nakakamit ito sa isang script na handa na. Ang script ay magtatagal (dahil nagtatapon ito ng daan-daang mga megabyte ng memorya), kung nais mong suriin na ito ay talagang gumagana, pumunta sa ibang terminal (halimbawa, ang Alt + F4) at gumawa ng isang df -h.

% mount / dev / sda2 / mnt / custom% / usr / sbin / sysresccd-custom na katas

Kung nag-navigate ka ngayon sa loob / mnt / pasadyang / customcd, makakakita ka ng maraming mga folder. Sa / mnt / pasadyang / customcd / mga file natagpuan ang root filesystem. Ngayon ay oras na upang chroot ang hinaharap na bagong system. Dito ko ilalagay ang mga utos, para sa karagdagang impormasyon tungkol sa chroot na makikita mo ang tutorial na ito na isinulat ko isang buwan na ang nakakaraan

% 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 / custom / customcd / files / bin / bash # gcc-config $ (gcc-config -c)

Nasa chrooted system na kami, na kung saan ay magiging sistemang LiveCD sa sandaling ma-boot namin ito. I-install namin ang mga nawawalang mga pakete (bison at texinfo) gamit ang utos sumulpot (na humahawak ng parsela ng portage mula sa gentoo).

Una naming sinasabay ang puno ng portage (ang katumbas ng apt-makakuha ng update)
# emerge-webrsync TANDAAN: ginagamit namin ang utos na ito sa halip na "emerge –sync" sapagkat ito ay mas mabilis, dahil nagda-download ito ng isang tar pack mula sa web. Kailangan ang hakbang na ito, dahil kung hindi ka lalabas awtomatiko itong lalabas –sync, pinabagal ito.

Pagkatapos i-synchronize ang puno ng portage maaari kaming magpatuloy upang mai-install ang mga pakete:

# emerge sys-devel / bison # emerge sys-devel / texinfo
magtatagal si bison upang makapag-ipon, maging matiyaga

Iniwan namin ang chroot:# exit

Inaalis namin ang "/ proc" upang ang mga bagong naka-install na pakete ay nakaimbak sa mga squashf. Inaalis din namin ang "/ dev" at "/ sys" upang hindi natin makalimutan sa paglaon
% umount /mnt/custom/customcd/files/proc
% umount /mnt/custom/customcd/files/dev
% umount /mnt/custom/customcd/files/sys

Tulad ng mayroon kaming handa na bagong sistema ng file ng squash, nilikha namin ito sa sumusunod na utos
% /usr/sbin/sysresccd-custom squashfs
Kung nais naming magdagdag ng isang file sa ISO na imahe ngunit nais naming ito ay nasa labas ng mga squashf, dapat namin itong ilagay sa folder «/ mnt / custom / customcd / isoroot»

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

Sa puntong ito, sasabihin sa iyo ng opisyal na patnubay na maaari mong itakda ang keymap upang mag-boot gamit ang isang default na keyboard (halimbawa "es" para sa mga Spanish keyboard). Ngunit sa paggawa ng maraming pagsubok, ang script na ginagamit nila para sa akin ay hindi gumana at nagresulta ito sa isang error kapag naglo-load ng kernel, kaya't lalaktawan ko ang hakbang na ito.

Dumating na ang maluwalhating sandali, maaari na kaming makabuo ng bagong imahe ng ISO sa aming na-customize na system!
% /usr/sbin/sysresccd-custom isogen my_srcd
Ang "My_srcd" ay ang pangalang ibinibigay namin sa dami, maaari mo itong tawagan kahit anong gusto mo. Ang imahe ay nai-save sa «/ mnt / custom / customcd / isofile», bilang karagdagan isang .md5 file ay nabuo din 🙂

Kung nagtatrabaho ka sa isang virtual disk, mananatili ang mahalagang hakbang: kunin ang ISO imahe ng virtual system. Mayroong maraming mga paraan upang gawin ito, ipapaliwanag ko ang isang simpleng (sa VirtualBox) upang maiwasan ang pag-install ng "mga pagdaragdag ng panauhin" o anumang katulad nito.
Gagamitin namin ang kliyente upang makuha ang file sa pamamagitan ng isang ssh tunnel. Upang magawa ito, dapat muna nating i-configure ang system ng bisita sa isang root password. Awtomatikong nagsisimula ang ssh server, i-restart pa rin namin ito kung sakali.
% passwd
% /etc/init.d/sshd restart

Kailangan nating i-configure ang pagpapasa ng port ng virtual machine. Sa VirtualBox tapos ito tulad ng sumusunod:

  1. Ina-access mo ang pagsasaayos ng virtual machine
  2. Sa seksyon ng network na na-configure mo ang isang adapter sa NAT
  3. Hanapin ang pagpipilian sa pagpapasa ng port
  4. Nagdagdag ka ng isang bagong panuntunan, na may lamang mga parameter na "host port" at "port ng panauhin"
  5. host = 3022 at panauhin = 22

Sa pamamagitan nito nakamit namin na ang port 3022 ng aming PC ay 22 ng virtual machine. Sinimulan namin ang Filezilla client:

  1. Sumusulat kami sa parameter ng server: sftp: // localhost
  2. Sa parameter ng username nagsusulat kami ng: root
  3. Sa parameter ng password inilalagay namin ang ginagamit namin sa «passwd»
  4. Isinasulat namin ang parameter ng port na: 3022
  5. Mag-click sa «Mabilis na koneksyon»

Kung ang lahat ay naging maayos sa kaliwa maaari kaming mag-navigate sa aming PC at sa kanan sa virtual machine. Sapat na upang ma-access (sa virtual machine) ang folder «/ mnt / custom / customcd / isofile» at i-drag ang imahe ng ISO sa lugar na gusto namin sa aming PC.

!! Binabati kita !! Kung naging maayos ang lahat, handa na ang iyong ISO imahe na may isang pasadyang SystemRescueCD at handa nang mag-boot mula sa isang CD, USB ...


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   Leo dijo

    Napakagandang gabay, medyo kumplikado ngunit kapaki-pakinabang.
    Magandang tampo

  2.   Leper_Ivan dijo

    Pagkatapos ay may kaunting oras, at walang labis na kakulangan sa ginhawa sa mga mata, babasahin ko ito nang lubusan. Tila napaka kapaki-pakinabang at kawili-wili.

  3.   carlos sanchez dijo

    Hello woqer, napakagandang post!

    Nakasama ko ang LFS ng ilang taon at lumikha ako ng sarili kong iso na maaaring maghatid sa iyo, mayroon itong lahat ng kailangan mong iipon dahil isa itong LFS. 😀 Inaasahan kong kapaki-pakinabang ito sa iyo

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