2012-02-25

FreeBSD шинэчлэхэд хялбар болж

Өмнө нь FreeBSD-ийн ямар нэг аюулгүй байдлын эсвэл тогтвортой ажиллагааны алдаа илрэх бүрт, эсвэл ашиглаж буй хувилбарын дэмжлэг дуусч шинэ хувилбар руу шилжих шаардлагатай болоход чамгүй мэдлэг чадвар, эр зориг шаарддаг байв. Хүн л хийсэн юм болохоор програмд алдаа гарах бөгөөд энэ бүрт чамгүй болдог байсан нь freebsd-update багаж гарснаар их хялбар болжээ.

Хуучин цагт FreeBSD суулгахдаа заавал эх кодыг суулгах шаардлагатай (одоо ч гэсэн суулгачихвал зүгээр) бөгөөд алдааг зассан нөхөөсийг (patch) ашиглан эх кодыг өөрчлөх ба засагдсан эх кодоос алдаа гарсан програм, багажыг шинээр байгуулан (build) суулгаж байж програмыг алдаагүй, системийг аюул багатай болгодог байв. Энэ маягаар ганц нэг програмын алдааг засахад гайгүй боловч олон систем дээр хийхэд тийм ч амар бус. Харин хувилбар ахиулах үед шинэ хувилбарын эх кодыг бүтнээр нь татаж аваад системийн нэгж ширхэг бүрийг цоо шинээр байгуулан суулгах тул цаг хугацаа их орохоос гадна алдаа гарвал томоохон асуудал үүсгэнэ гээч. Тийм болохоор л эр зориг шаардлагатай гээд байгаа хэрэг. Би туршилтаар хэд хийж үзээд больсон.

Аль ч хувилбараас юм freebsd-update гэх цаг хэмнэж, эрсдэл багасгасан багаж бий болсон байна. freebsd-update fetch тушаалыг ажиллуулахад таны системийг шинжээд шаардлагатай шинэчлэл, өөрчлөлтүүдийг татаж авна. Хэрэв ямар нэг юм татаж авсан бол freebsd-update install тушаалаар суулгана. Шинэлэлтүүдээ суулгасны дараагаар асуудал үүсвэл freebsd-update rollback тушаалаар буцаачихаж болно. Ямар ч эх код, нөхөөс, байгуулах ажил шаардлагагүй, цаг хэмнэсэн бас аюул, эрсдэл үнэхээр бага. Гэхдээ үүнийг хийхээсээ өмнө ямар алдаа илэрсэн, ямар асуудал үүсч болохыг уншихад илүүдэхгүй шүү.

freebsd-update -r 9.0-RELEASE upgrade тушаалыг ашиглан 9.0 хувилбар руу шилжүүлж болно. Энэ маягаар аль ч хувилбар руу ахиулж болох боловч шилжих гэж буй хувилбарт юу юу өөрчлөгдсөн талаар сайтар судлах хэрэгтэй, дээрээс нь суулгасан бараг бүх програмуудаа эх кодоос шинээр суулгах шаардлагатай болох учир цаг завтай үедээ эсвэл тусгайлан цаг гарган хийх шаардлагатай.

Энэхүү багаж нь цаг хэмжэж, эрсдлийн бууруулж байгаа ч огт арилгахгүй тул ямар нэг шинэчлэлт, өөрчлөлт хийхдээ өөрчлөлтүүдийн талаар нарийн судлах, хийхдээ няхуур байх хэрэгтэй юм. Амжилт хүсье.

1 comment:

Ganbold said...

Саяхан FreeBSD 9-CURRENT байсан системээ FreeBSD 10-CURRENT болгосон, гэхдээ энэ тохиолдолд эх кодоос бүтээхээс өөр арга байхгүй. Портуудаа устгаж байгаад дахин бүтээх бас шаардлагатай байсан, сая нэг юм дууслаа :)