Tingali daghan sa mga tiggamit sa GNU/Linux Tungod sa bag-o nga mga inisyatibo sa gobyerno aron makamugna og usa ka "soberano" nga Internet, nabalaka kami sa tumong nga mapanalipdan ang among kaugalingon kung adunay mga repositoryo sa mga sikat nga distribusyon sa GNU.Linux.
Kinsa ang nag-download sa mga repository? CentOS, Ubuntu, Debian, ang ubang mga tawo nagtukod sa ilang kaugalingong mga distribusyon base sa kasamtangang mga distribusyon, samtang ang uban adunay mga libro sa LFS (Linux Gikan sa Wala) ug BLFS (Labaw pa Linux Gikan sa Wala) nagsugod na sa pag-compile sa iyang mga distribusyon gikan sa source code, tungod kay nagtuo siya nga sa mga kondisyon sa usa ka "soberano" nga Internet, ang mga pag-atake sa hacker, mga epidemya sa virus, mga pagtulo sa datos dili kalikayan nga mahitabo, ug ang mga binary mahimong karaan na pagkahuman sa pipila ka panahon.
Bag-ohay lang ko nakahimo sa pag-compile og virtual machine gikan sa source code gamit ang mga instruksyon sa libro. Linux From Scratch Systemd Edition v.8.3. Ganahan ko nga ipaambit ang mga resulta kanimo.
Процесс сборки Linux
Процесс сборки Linux Ang source code mahimong bahinon sa tulo ka yugto:
- Ang usa ka palibot sa pagtukod sa LFS gitigum base sa naglungtad nga operating system.
- Ang pagtukod sa palibot maghimo usa ka imahe sa virtual nga makina sa LFS.
- Ang dugang nga mga pakete gikan sa libro sa BLFS nga wala sa libro sa LFS gi-install sa virtual machine.
Static nga mga file sa script
Kung nagtrabaho kauban ang build environment, sayon gamiton ang clipboard ug SSH: Gikopya nako ang mga sugo gikan sa libro ug gipapilit kini sa build environment console.
Pagkahuman sa paglansad sa gibuhat nga virtual machine, ang mga seryoso nga problema nagpakita. Dili sama sa terminal window, dili nimo ma-paste ang code ngadto sa virtual machine client window. Ang pag-type sa mga command gamit ang keyboard dili kombenyente ug adunay taas nga risgo sa mga typo. Ang kapeligrohan sa mga typo mao nga dili kini makita dayon, apan sa kadugayan ug mosangpot sa seryoso nga mga problema.
Nahibal-an nga ang mga sugo mahimong masulod dili lamang gikan sa keyboard kondili gikan usab sa standard stream (STDIN). Ang tinubdan sa standard stream mahimong serial port, ingon man ang resulta sa script program, ang gitawag nga standard output (STDOUT).
Daghang mga tawo ang nahibal-an nga ang wget nga mando mahimo’g ma-output ang sulud sa usa ka na-download nga file sa standard output (STDOUT):
wget http://example.com -O -Kung ang output sa wget nga sugo ipadala ngadto sa tighubad, ang arbitraryong code mahimong ipatuman. Ang code ipatuman ingon nga kini gi-type sa keyboard o gikopya gikan sa clipboard:
wget http://umvirt.com/linux/helloworld.sh -O - | bashNiining paagiha, mahimo nimong ibutang ang mga file nga adunay mga command sa pipila ka Web server ug ipadala ang mga sulud niini sa tighubad.
Dynamic nga mga file sa script
Ang mga static nga file usa ka maayong butang, siyempre, kung nahibal-an nimo kung unsa ang kinahanglan buhaton, apan kung ang usa ka pakete gi-install, kung ang mga dependency dili klaro nga na-install o dili, unsa man?
Ang dinamikong site nga gibase sa moabut sa pagluwas LAMP Web server (Linux-Apache-MySQL-PHP). Kon ang usa ka site makahimo og mga panid (mga HTML file) ug mga imahe nga dinamiko, nan kinahanglan nga makahimo kini sa pagdumala sa regular nga mga text file.
Ug mao ni nahitabo. Gisulat ang website nga nagmugna og mga script para sa Bash interpreter. Ang database sa site adunay kasayuran bahin sa mga pakete, dependency, mga patch, pagdugang ug mga mando sa pagtukod.
Karon aron i-install ang mc (midnight commander) package mahimo nimong isulod ang command:
wget --no-check-cerificate https://umvirt.com/linux/packages/0.1/mc/install -O - | bashAng site script mismo makadawat og data gikan sa database ug makamugna og dependency checking code ug script code alang sa pag-instalar sa package. Ang tighubad moproseso sa mga instruksyon gikan sa script.
Aron mahimo kini nga posible, ang impormasyon bahin sa na-install nga mga pakete gitipigan sa usa ka database sa virtual machine disk.
Ang database sa na-install nga mga pakete nahimutang sa direktoryo /var/cache/ulfs-packages usa ka lista sa mga walay sulod nga mga file nga adunay mga ngalan nga katumbas sa mga ngalan sa mga pakete.
Kung ang package dili makit-an sa database, ang mga dependency gi-install nga recursively.
Mga pasalig
Aron mas sayon ang pag-instalar sa mga pakete, laing site ang misulat sa chimp script , gamit ang base UmVirt LFS Packages. Ang nag-unang buluhaton UmVirt LFS Assistant - kini mao ang pagpatuman sa ubang mga sugo.
Uban sa chimp, ang pag-instalar sa mga pakete nahimong mas sayon:
chimp install mcPagpakita
Aron masinati ang trabaho sa mga serbisyo UmVirt LFS Packages и UmVirt LFS Assistant mahimo nimo i-download ang base nga imahe . I-install ang Xorg gamit ang usa ka command:
chimp install XSamtang ang script nagdagan, 141 nga mga pakete ang awtomatikong i-install. Aron makadaginot sa oras sa paghugpong, mahimo nimong ilisan ang bili sa baryable sa MAKEFLAGS sa /etc/profile file gikan sa “-j1” (usa ka hilo) ngadto sa, pananglitan, “-j6” (unom ka mga hilo).
Desentralisasyon ug pag-customize
Alang sa katuyoan sa pagsiguro sa seguridad, awtonomiya ug pag-customize, ang source code sa UmVirt LFS Packages ug UmVirt LFS Assistant nga mga serbisyo gipatik sa publikong domain. Bisan kinsa mahimong mag-download niini, mag-deploy ug mag-tweak sa mga serbisyo sa sulod sa ilang imprastraktura.
Source: www.habr.com
