tag:blogger.com,1999:blog-196405832024-02-21T11:29:47.970+09:00Bayaraa's WORK NOTES<b>Ямар нэгэн ажил хийхдээ хийж байгаа зүйлээ тэмдэглэж авахыг хичээдэг юм аа, тэгээд нэг мэдсэн зөндөө тийм тэмдэглэл файлтай болсон байх юм. Тэр тэмдэглэлүүдээсээ нөхдүүдэд, өөр бас хэн нэгэнд нь хэрэг болох байх гэж бодоод энэ БЛОГ дээрээ тавиж байна, зөв үү дээ? аан ... Сэдэвийн хувьд өөрийн сонирхдог ЛИНҮКС үйлдлийн систем, ... холбоотой байх болно. Мэдээж онол бичихгүй, өөрөө хийж үзсэн юмаа л тавина даа.</b>BAYARAAhttp://www.blogger.com/profile/08697118399362221457noreply@blogger.comBlogger21125tag:blogger.com,1999:blog-19640583.post-46004304409178396452009-02-14T19:08:00.009+09:002009-02-14T19:30:13.638+09:00<span style="FONT-WEIGHT: bold; COLOR: rgb(51,51,255)">Япон хүнд байдаг сайн шинжүүд, бид тэднээс нь суралцъя</span><br /><br />Нэлээн удаан завсарласны дараа нэг бичлэг оруулж байна, сэдвийн хувьд арай өөр зүйл рүү хадуурсан ч гэсэн энийг уншиж байгаа танд тун хэрэгтэй байх болов уу. Мэддэг ч гэсэн анхааралдаа авахаар хэдэн зүйл бичсэн юм. Жаахан урт урт байх шүү, дуустал нь уншаарай, дамаа сүүлийн хэсгийг сайн тогтож уншаад, ойлгож аваараа.<br /><br />Эхлээд жаахан оршил бичье гэж бодож байна: Би бээр сүүлийн 6.5 жил Японд нэгэн дунд зэргийн IT –ийн компанид программист хийсэн юм. Тэнд ажиллаж амьдарч байхдаа Япон хүмүүсийн талаарбагагүй ойлголттой болсон гэхүү, өөрийн ажигласан дээрээ тулгуурлаад тэдэнд байдаг сайн талуудыг бичье гэж бодож байна. Мэдээж муу гэхээр сул талаад тэдэнд байгаа л даа, тэр нь бидэнд хамаа байж үү. Хүний сайн , хүчтэй, дэвшилттэй зүйлийг өөртөө, амьдралдаа, ажилдаа хэрэгжүүлэх нь бидэнд л хэрэгтэй шүү дээ, тийм үү дээ.<br /><br />Япон хүнд байдаг сураад авахаар нэлээн олон чанар байдгаас энд дурдаж, өөрийн бодлыг нэмэрлээд бичиж байна. Зөвлөгөөнүүд бол бас л Япончуудтай ажиллаж байхдаа тэднээс миний олж харсан зүйлүүдийг жаахан нэмж хачирлав. Мэдээж би бүгдийг нь мөрдөж, амьдрал болгож чадаагүй, чадахгүй байгаа ч гэсэн, энэ тэмдэглэлийг уншигч ТА чадна гэдэгтэй би итгэлтэй байна.<br /><br />1. Япончууд хүнтэй мэндлэх соёл өндөртэй, бас тийм үг хэллэгүүд ч элбэг байх юм. Япон хүнтэй нь холбоотой юм үү, хэл, ёс заншилтай нь холбоо байна уу, тэд мэндлэх хүндлэх үг хэллэг тун сайн хэрэглэж сурч ээ. Мэдээж зарим нэг нь хэлэх дургүй л байх шиг харагддаг ч, бүүр хэлээд сурсан, хэлэх ёстой гэхээр байх юм. Энэ бол том соёл гэж бодож байна.<br /><br /><div class="scode">Зөвлөгөө -1: Өглөө болгон гэрийнхэндээ, ангийнхандаа, ажлынхандаа мэндчилгээний үг хэлж бай, орой ажил, хичээл тарахдаа бас баяртай гээд сайхан инээх ч гоё харагддаг шүү дээ. Баярлалаа гэдэг үгийг байнга хэрэглэж бай.</div><br />2. Цаг баримтлахдаа тун сайн.Цаг барих бол аливаа хүний хэн бэ гэдгийг тодорхой харуулдаг нэг эд шүү дээ. Тэд бол цагийг мундаг барина, дамаа бизнес хийж байгаа бол тухайн уулзалт энэ тэрд тохирсон цагаасаа хамаагүй эрт ирээд хүлээж байх жишээтэй.<br /><br /><div class="scode">Зөвлөгөө -2: Бугуйндаа цаг зүүж бай. Хүн цаг зүүснээр аливаа ажилд баримжаатай, төлөвлөсөн хугацаандаа байгааг хянаж байх, хугацаат цагтаа ажлаа амжуулах нэг төрлийн мэдрүүр болдог. Тэгээд мэдээж цаг сайн баримталж сурах нь хэрэгтэй гэдгийг надаар хэлүүлэлтгүй биз дээ.</div><br />3. Ажлын төлөвлөгөө, хувийн цагын, ажлын хуваарь, төлөвлөгөө боловсруулах, тэрийгээ яг амьдрал дээр мөрдлөгөө болгохдоо үнэхээр мундаг. Япон хүмүүс жил болгон нэг тэмдэглэлийн дэвтэр эхлүүлнэ, тэрэн дээрээ хийх ажил, уулзах хүн, бүгдийг цаг нартай нь бичиж тэмдэглээд, тэрнийхээ дагуу ажлаа, амьдралаа зохицуулна.<br /><br /><div class="scode">Зөвлөгөө -3: Хийх ажлаа, хэнтэй хаана, хэдэн цагт уулзахаа ядаж 7 хоногоор нь бичиж тэмдэглэж бай, ядаж нүдэндээ ил харагдахаар, ширээн дээрээ бичээд байнга харж бай. Ажил хэрэгч байдал яг тэрнээс эхлэнэ.</div><br />4. Аливаа зүйлийг бичиж тэмдэглэж авах, хувийн, ажлын тэмдэглэл хөтлөх, хүнээс юм асуух, сурахдаа бүүр ажил хэрэг болгоод дэвтэр гараад, тэрэн дээрээ бичдэг, бичгийн соёл өндөр ард түмэн. Угаасаа суурин амьдралаар олон жил болсон болоод тэрүү бичгийн соёл, тэмдэглэл, баримтжуулах, үлдээж авах, хадгалахдаа мундаг даа.<br /><br /><div class="scode">Зөвлөгөө -4: Ямарваа нэг ажил хийхдээ, хийсэн ажлаа заавал тэмдэглэж, бичлэг үлдээж сур, дараа заавал хэрэг болдог юм. Хүнээс юм асуусан бол ажил хэрэг болгож тэмдэглэж бай. Компьютерын дэсктоп дээр нэг теxт файл нээчих, тэрэндээ мэдсэн, сурсан, шинэ зүйлээ бүгдийг нь бичиж байхад, эргээд хэрэг болох нь их байдаг юм. Тэгээд нөгөө файлаасаа “CTRL+F” даралтаар хайх үгээ оруулаад хайгаад л олно шүү дээ.</div><br />5. Аливаа ажилийг дуустал, бүүр цаашаа юм гарахгүй болтол нь хийхийг, хөгжөөлэхийг хичээдэг. Жижиг ч гэсэн нэг санааг цааш нь ажил болгоно, тэр ажлаа байнга сайжруулахдаа мундаг мэргэжсан ард түмэн. Японы хөгжсөн нэг түлхүүр бол энэ гэдэг юм. Аливаа нэг санааг тултал нь сайжруулна, нэмэгдүүлнэ, хөгжүүлнэ. Угаасаа Япончууд шинэ зүйлд дуртай юм, олон хүнтэй юм, хийсэн санаа оноо нь бизнес болох юм. Нэг ажлыг сайн хийж байж л энд амьдрал нь баталгаатай болдог нийгэм юм байна.<br /><br /><div class="scode">Зөвлөгөө –5: Ямар нэгэн ажлыг сайн хийж чаддаг бол. Би энэ ажлыг л хийж чадна гэж хэлдэг болохоор хийж сур. Тэрийгээ байнга давтаж, сэргээж, сайжруулж, хөгжүүлж бай. Тэр л чиний хоол болно шүү.</div><br />6. Багаар ажиллахдаа сайн. Япон хүн их бүрэг гэхээр, дуу цөөн, хүнтэй харилцахдаа хойрго, ерөнхийдөө хүйтэн гэхээр хүмүүс л дээ. Тэгэхдээ бизнес, ажил дээр бол багаар ажиллахыг үзүүлж өгнө шүү дээ. Угаасаа багаар ажиллах нь хэрэгтэй, үр бүтээлтэй гэдгийг аль эрт мэдсэн болохоор тэгдэг байх даа. Манай ухаант өвгөд хүртэл бидэнд сургасан байдаг шүү дээ: “Цувж явсан бараас, цуглаж суусан шаазгай дээр” гээд. Багаар ажиллахын даваа талыг л магтан дуулсан хэрэг шүү дээ.<br /><br /><div class="scode">Зөвлөгөө -6: Аливаа ажлыг бага гэхгүй багаар ажиллаж сур. Багаар ажиллаж байхдаа байнга хуралд, хуралдаж байж ажлын асуудал шийдэгдэнэ, хүний асуудал шийдэгдэнэ, цаг хожно, шийдвэр хурдан гарна, дараа дараагын арга замуудыг хурдан шийднэ.</div><br />7. Аливаа зүйлийг бататган баталгаажуулан асууж авахдаа гаргуу сайн. Ямар нэг ажил хийж байхдаа, хүнээс ажил аваад, хүнээс үг дуулаад заавал тэр хэлсэн, ярьсан зүйлийг нь дахин нэг асууж баталгаажуулж авдаг хүмүүс дээ. Жишээлбэл нэг хүнээс ажил авлаа, үүрэг авсан бол, үүрэг өгсөн бол ярианы сүүлд нь заавал баталгаажуулж асуудаг, хэлдэг. Тэр нь буруу зүйл хийхгүй, нөгөө бидний хэлдэг 7 хэмжиж 1 огтол гэдэг шиг л юм болов уу даа.<br /><br /><div class="scode">Зөвлөгөө -7: Ямар нэг ажил, асуусан зүйлээ бичиж аваад, тэгээд тэр хүнийхээ яриад, хэлээд дуусахаар нь энэ таны хэлсэн мөн үү, ингэж хийх юм байна тийм үү гэж бататган асууж сур.</div><br />8. Япон хүн амласандаа хүрэхийг хичээдэг зантай, итгэсэн хүндээ туслахдаа ч дуртай байдаг юм. Угаасаа ёс заншил, түүх нь тэднийг тийм байлгах хүчтэй нөлөө болдог. Жишээ нь САМУРАЙ гэхээр ихэнх хүмүүс цэргийн талын хүн гэж боддог байх, угтаа бол энэ үг Япон хүнд сонсогдохдоо “Нэр төр, үнэнч байдал, итгэлтэй ёс суртахуун” гэж сонсогддог болохоор тэр утгаараа итгэл дааж чаддаг, итгэл хүлээлгээд, итгэсэн хүндээ бас үнэнч байдаг.<br /><br /><div class="scode">Зөвлөгөө – 8: Хүнд амласан бол тэр зүйлээ мартахгүйн тулд нүдэндээ хамгийн ойр бичээд наачих, эсвэл Компьютерын дэсктоп дээрээ ил байлгаж бай. Ядаж мартаад худлаа хэлсэн болохгүй шүү дээ. Амлаад тэр нь биелэхгүй, амжихгүй бол заавал тэр хүндээ чадахгүй нээ гээд хэлээд сурах, тэгвэл тэр хүний ажил бас цаашаагаа ахих болохоор, заавал холбоо бариж бай. Амласанаа биелүүлээгүй ч гэсэн тэр хүнд үнэн байдлаа хэлэх нь амласанаа биелүүлээгүйгээс хамаагүй дээр.</div><br /><strong>------- HORENSO -------<br /></strong><br />Сүүлийн үд Япончууд бизнестээ их хэрэглэж байгаа тухайн компаний АЖИЛ-ыг амжилттай урагшлах, хурдан шуурхай болгох нэг суурь болсон гэхээр “HORENSO” гэгдэх арга техникийн талаар жаахан бичье гэж бодож байна. Мэдээж Интернетээс энэ үгээр нь хайвал зөндүүн л юм гарч ирнэ. “HORENSO” нь 3 үгний товчилсон хэлбэр : HO-Hokoku (Reporting), RE-Renraku (Connecting), SO-Sodan (Consultation). Би зүгээр эхлэл, ойлголт өгөх зорилгоор өөрийн санаа оноогоо оруулаад бичиж байна, та харин дэлгэрүүлж судлаараа, ажил-амьдралдаа хэрэглээрэй. Гацаад байгаа ажил, эхлүүлж байгаа ажил тань мэдэгдэхүйц урагшаа ахиж, хурдан шуурхай болохыг та МЭДРЭХ болно шүү.<br /><br /><strong>- HO-Hokoku (Reporting):</strong>Энэ бол энгийн бидний хийдэг л зүйл, ажил болговол түн хэрэгтэй гэдгийг хэн ч мэддэг гэж бодож байна. Энгийн үгээр тайлбарлавал: Ямар ч ажил үйл хийж байхдаа, хамтрагчдаа, даргадаа өөрийн ажил, хийж байгаа зүйлээ байнга тайлагнаж, мэдээлж байх, мэдээж хэзээ хэрхэн яаж гэдгийг нь ярилцаад тогтоно шүү дээ. Ингэж тайлагнаж, хамтрагч, даргадаа мэдэгдэж байх нь тухайн тайлан тавьж байгаа хүний ажлын явц тодорхой харагдахаас гадна асуудал үүссэн, хийж чадахгүй байгаа зүйл нь ил тод болж тэрийг нь чаддаг хүнд нь өгөх, хамтаар ярьж арга замыг хайх, ажлыг хурдан урагшлуулах эх үндэс болдог байна. (Би чадна гээд нухаад байх нь цаг алдана, тэгээд үр дүн муу) Шуурхай ажил биш бол 7 хоногоор, шуурхай ажил хийж байгаа бол өдөр бүр хуралдаж, тайлагнаж байх нь ажил амжилттай урагшлахын нэг түлхүүр болдог байна.<br /><br /><strong>- RE-Renraku (Connecting):</strong> Энгийнээр бол хамтрагч, холбоотой ажилдаг нэгэнтэйгээ холбоо барих, эргэж холбоо барих явдал юм. Аливаа ажил үйл хийж байхдаа, хийсний дараа байнга холбоо бариж, юу болж байна, яаж байна, санаа оноо юу байна гэж байх нь тухайн хүнтэй дахин ажил үйл хийх, хамтрах сэтгэлийг түрүүлдэг байна. Хувь хүн ч гэсэн дээ найз нөхөд, аав, ээж, ах дүү нартайгаа байнга холбоо барьж байх нь тэр хүмүүст сайхан байдаг шүү дээ. Нэг ажил хийгээд, тэгээд зугтаагаагүй мөртлөө л таг алга болдог муу зан бидэнд байдаг шүү дээ, тэгэхгүй л байх хэрэгтэй гэсэн ухаан юм. Холбоо барихад юугаар ч байж болно ш дээ, э-майл, майл, утас, …. гээд л харилцаа холбооны бүх л хэлбэр байхад болно гэж бодож байна. Ташрамд э-мэйлээр ажил явуулахад их олон давуу талтай шүү: баримт үлдэнэ, бичиж тэмдэглэж авна гэхгүй, зардал бага, олон хүнд зэрэг мэдээлэх, …<br /><br /><strong>- SO-Sodan (Consultation):</strong> Энэ бас л энгийн юм шиг мөртлөө их хэрэгтэй, … Аливаа ажил үйлийг хийж байхдаа байнга харилцан ярилцаж, Зөвлөгөө хийж, тулгамдаад байгаа асуудал, ирээдүйд хийх ажил, хийсэн ажил бүгдийг нь ярилцаж туршлагатай нэгнээсээ сонсож, арга зам, боломжит хувилбаруудыг сонсож, зөвлөгөө авах нь ажил урагшаа хурдан ахих, дараа дараагын арга замыг хурдан олоход их хэрэгтэй дээ. Угаасаа туршлагатай нэгэнтэй өөрт тулгамдаад байгаа асуудал, болохгүй байгаа зүйлийг асууж, харилцан ярилцаж зөв замыг эрэлхийлэх нь үр дүнтэй, цаг хожих нигууртай гэдэгтэй санал нэг байгаа гэж бодож байна. Хувь хүний амьдрал дээр ч гэсэн өөрт тулгамдаад байгаа асуудлаа аав, ээж, ах дүү, найз нөхөдтэйгөө зөвлөж байх нь хожим алдаа гарахгүй байх үндэс болдог шүү дээ.BAYARAAhttp://www.blogger.com/profile/08697118399362221457noreply@blogger.com10tag:blogger.com,1999:blog-19640583.post-20572647272552897472008-02-26T19:15:00.006+09:002008-02-26T19:42:38.357+09:00<span style="font-weight: bold; color: rgb(51, 51, 255);">HOWTO backup files, folders, disk drivers, full system</span><br /><br />Линүкс системтэй ажилдаг хүмүүс, админ-уудад мэдэж байвал зохих нэг зүйл бол мэдээлэл (файл, гэх мэт ) нөөцлөх, нөөцөлсөн архив файлаа буцааж сэргээх үйлдэл гэж боддог юм. Өнөөдөр энэ талаар хийсэн тэмдэглэлүүдээ харж байгаад нэгтгээд жаахан бичий. Мэдээж өөрийн гараар хийж үзсэн, байнга хэрэглэдгээсээ л бичнэ. Эхлээд доорх хэдэн команд, хэрэгслүүдийг нэг google -ээд сонирхоодохоорой.<br /><br /><div class="scode"><span style="font-weight: bold;">- Command-line based</span>:<br />dd<br />dump<br />cpio<br />tar<br />rsync<br />cp<br /><span style="font-weight: bold;">- Text-based</span>:<br />Ghost for Linux (g4l)<br />Amanda<br />Taper<br /><span style="font-weight: bold;">- GUI-based</span>:<br />KDat<br />PerfectBackup</div><br />Алийг нь сонгох вэ? гэдэгийн хувьд хэрэглэгчийн л үзэмж гэдэг нь мэдэх хэрэг гэж бодож байна. Тэгэхдээ авсаархан хэрэгсэл хайж байгаа бол command-line based хэрэгсэлүүд, хэрэглэгчид хялбар ойлгогдохоор, ердийн хэрэглэгчдэд бол GUI-based болон Text-based хэрэгсэлүүд, Сүлжээгээр дамжуулан болон алсаас удирдан нөөцлөх үйлдлийг хийх бол command-line based хэрэгсэлүүд сонгох нь зүгээр болов уу.<br /><br />Нөөцлөлт хийж болохоор командуудаас ашиглаад нэг жижигхэн shell script бичээд л нөөцлөх үйлдэл хийдэг өөрийн хэрэгсэлтэй ч болох боломжтой. Жишээ нь “cp”, “rsync”, “tar” командууд ашиглаад хамгийн амархан нөөцлөгч тоол хийж үзий. Нөөцлөх үйлдэл хийх командуудийг доорх байдлаар бичиж болно.<br /><br /><div class="scode"># cp -a src dest<br />(a - параметр нь архивийн горим, "dpR" гэсэн 3 параметрүүдийн хослолтой адилхан.)<br /># rsync -a src dest<br />(a - параметр нь архивийн горим, "rlptgoD"гэсэн 7 параметрүүдийн хослолтой адилхан.)<br /># tar -zcf backup-file.tar.gz src<br />(z- gunzip, c- TAR файл үүсгэх.)</div><br />Одоо бид дээрх командийн аль нэгийг нь shell script болгоод, тэгээд дараа энэ script-ээ CRON-оос цагаар удирдагдаж ажилдаг болгоод л байнгын нөөцлөх үйлдэл хийдэг амархаан хэрэгсэлтэй болчихлоо. Энэ script дээрээ “TAR” ашиглаад нөөцлөлт хийсэн файлуудаа архив болгоод тэгээд нөөц файлууд хадгалахаар бэлдсэн диск драйвер рүү хуулах үйлдэл нэмээд л бүүр бүрэн гүйцэд гэхээр нөөцлөгч хэрэгсэлтэй болж байна. Ийм аргаар WEB, MAIL, DATABASE серверүүдийн дата файлуудыг байнга нөөцлөлт хийж болно. Дамаа “rsync”-ийг сонирхоороо. Урд нөөцлөлт хийсэн файл, шинээр нөөцлөлт хийж байгаа файлуудыг харьцуулаад, зөвхөн өөрчлөлт орсон файлуудыг л нөөцлөлт хийнэ, алсаас удирдаад нөөцлөлт хийх боломжтой гэх мэтээр давуу тал ихтэй.<br /><br /><span style="font-weight: bold;">Disk driver-ийг бүхлээр нь, өөрөөр хэлбэл системийг бүхлээр нь нөөцлөлт хийж авах талаар 3 арга бичий гэж бодож байна. 3-уулаа миний гараар шалгагдсан болно.</span><br /><br />1. "tar" comand based<br />2. "dd" command based<br />3. Ghost for Linux "g4l"<br /><br /><span style="font-weight: bold; color: rgb(51, 51, 255);">1. "tar" based backup.<br /><br /></span>Энэ арга бол их энгийн, ердөөсөө Линүкс системийн бух хавтас, файлуудыг "*.tar.gz" файл болгоод л авах арга юм.<br />Нөөцлөлт хийх дараалал:<br />- Эхлээд нөөцлөх үйлдэл хийж авах шаардлагагүй хавтаснуудийг тодорхойлох. Жишээ нь системийн файл хадгалдаг хавтас “/proc” (энэ хавтсан дахь файлууд бол систем ажиллаж байхад л үүсдэг, линүкс цөмийн өгөгдлийн бүтцийн файлууд юм), “/mnt”, “/media” (системийн драйверүүд), “/tmp”, за тэгээд нөөцлөх үйлдэл хийж авах шаардлагагүй хавтас бас хэрэггүй байх, гэх мэтээр тодорхойлж авна.<br />- За тэгээд л “TAR” командаа шаардлагатай параметртэй нь бичээд л, ENTER дарахад нөөцлөх үйлдэл хийнэ дээ. Жишээ нь доорх командийг оруулаад үзээрэй.<br /><div class="scode"># tar -zcvpf /archive/backup-`date'+%d-%B-%Y'`.tar.gz --directory / --exclude=proc --exclude=mnt --exclude=tmp --exclude=archive .</div><br />Тайлбар :<br />---- “-z” – Gunzip файл үүсгэх, “-c” TAR төрлийн архивийн файл үүсгэх, “-p” - Файлуудын шинж чанарыг хадгалж үлдэх, буцааж сэргээх үйлдэл хийхэд тэр хэвээр нь буулгана, “-v” - Үйлдэл хийгдэж буй файл дэлгэцэнд хэвлэгдэх.<br />---- `date'+%d-%B-%Y'` - систэмийн цагийг хэвлэх командын гаралтийг '%d-%B-%Y' хэлбэрийн формат бүхий гаралттайгаар нөөцлөх үйлдэл-ъ гэсэн тэxт-д нэмээд нөөцлөх үйлдэл архив файлын нэр бэлэн болно.<br />---- `` - дотор бичсэн линүкс команд ажиллаад үр дүнг текст хэлбэрээр буцаана.<br />---- “--directory” – TAR үүйлдлийнхамгийн эхлэл хавтсыг зааж өгөх<br />---- “--exclude” – Нөөцлөлт хийхгүй хавтасыг зааж өгөх<br />---- “.” тухайн хавтаснs бoх файлыг нөөцлөх үйлдэл хийхийг зааж өгөх<br /><br />Дээрх үйлдлийг буцааж задлах команд бичвэл:<br /><div class="scode"># tar -zxvpf /archive/backup-20-February-2007.tar.gz</div><br />Тайлбар: Энд бидний мэдэхгүй архив файлыг задлах үйлдлийг зааж өгөх “-x” параметр л байна. Нөөцлөлт хийсэн архивийн файл дотроос ямар нэг файл эсвэл хавтас хайх хэрэгтэй бол доорх командыг оруулах ба нөөцлөх үйлдэл хийсэн бүх хавтас, түүн доторх бүх файлууд жагсаагдан хэвлэгдэх ба тэгээд тэндээсээ файл хайна.<br /><div class="scode"># tar -ztvpf /archive/backup-20-February-2007.tar.gz<br /># tar -ztvpf /archive/backup-20-February-2007.tar.gz | grep -i "search-file"</div><br /><br /><span style="font-weight: bold; color: rgb(51, 51, 255);">2. "dd" команд ашиглаж диск драйверыг тэр чигээр нь хуулан авах.</span><br /><br />Дэлгэрэнгүй мэдээллийг “man dd” гээд үзээрээ. Энд бид 2 адилхан дискийг нэгнээс нь нөгөөд тэр чигээр нь хуулах үйлдэлд ашиглах болно.<br /><br />Үйлдлийн дараалал:<br />- Хуулж авах эх дискийг "primary master" болгоод, хуулагдах дискийг "secondary master" байхаар бодож залгана.<br />- Компьютерыг асааж, GNOPPIX зэрэг линүкс live CD, DVD -нээс системийг эхлүүлнэ.<br />- SU эрхээр үйлдлийг хийнэ, команд оруулахад бэлдэнэ<br />- fdisk -ээр дискнүүдын мэдээллийг харна<br /><div class="scode"># fdisk -l </div><br />Жишээ нь бидний тохиолдолд эхний диск "/dev/hda", дараах диск нь "/dev/hdb" гэсэн байдлаар системд танигдсан байг. Мэдээж хуулах, хуулагдах диск мөн эсэхийг дахин дахин сайн шалгаарай. 2 дискээ таниулж (mount /dev/hda /folder) байгаад дахин дахин шалгаарай.<br />- За хуулж авах, хуулах дискээ тогтоосон бол таниулсан дискээ “umount”-аар системээс устгана.<br /><div class="scode"># umount /dev/hda<br /># umount /dev/hdb </div><br />- "dd" командаар хуулахдаа блокын хэмжээг нь гараар оруулж өгч болдог ба тэр хэмжээ нь том байх тусмаа хурдан хуулна, тиймээс тэр хэмжээг хэдээр тогтоохыг тооцоолохын тулд "fdisk -l"-ээр хатуу дискнийхээ хэмжээг хэдэн байт болохыг харж болно.<br /><div class="scode"># fdisk -l /dev/hda<br /><br />Disk /dev/hda: 80.0 GB, 80026361856 bytes<br />255 heads, 63 sectors/track, 9729 cylinders<br />Units = cylinders of 16065 * 512 = 8225280 bytes </div><br />Дээрх тохиолдолд хатуу дискний цэвэр хэмжээ “80026361856” байна, за энэ тоонд үлдэгдэлгүй хуваагдахаар тоо 512, 1024, 2048, 4096, ... хэмжээнүүдээс сонгоно. Заримдаа энэ дискний нийт хэмжээ дээрх тоонуудад цэвэр хуваагдахгүй бол хамгийн бага хэмжээ болох 512 -ийг сонгоорой. (Миний хувьд би голдуу 512 -ийг ашиглаж байсан, удаан ч найдвартай гэдэг үүднээс.)<br /><br />- Нөөцлөлт хийх командаа оруулаад ENTER<br /><div class="scode"># dd bs=4096 if=/dev/hda of=/dev/hdb<br /><br />bs=BYTES : force ibs=BYTES and obs=BYTES<br />if=FILE : read from FILE instead of stdin<br />of=FILE : write to FILE instead of stdout</div><br />Тэмдэглэл: Би энэ үйлдлийг яг адилхан 2 хатуу диск ашиглаж байгаа тохиолдолд л хэрэглэж байсан юм, өөр хэмжээтэй хатуу дискний тохиолдолд болно гэж уншиж байсан, хуулж авах диск нь том байх хэрэгтэй нь ойлгомжтой юм. Том хэмжээтэй дискэн дээрээ нөөцлөх үйлдэл хийж авах дискнийхээ хэмжээтэйгээр яг адилхнаар хуваалт “partition” үүсгээд, тэгээд нөөцлөх үйлдэл хийх нь дээрх үйлдэлтэй адилхан. Хуваалт хийхдээ “fdisk”-ийг ашиглаарай.<br /><br /><span style="font-weight: bold; color: rgb(51, 51, 255);">3. GHOST for Linux (g4l)</span><br /><br />Эхлээд энэ аргаар хэрхэн нөөцлөх үйлдэл хийх талаар товчхон бичвэл: Ажиллаж буй сервер, линүкс компьютерийг унтраах шаардлагатай. "g4l" бүхий боот хийдэг CD-нээс нөөцлөх үйлдэл хийх компьютерт дээрээ систем уншуулж ороод, DHCP серверээс IP хаяг авч, тухайн сүлжээн дэх FTP серверт нөөцлөх үйлдэл хийсэн архив файлыг хуулна. DHCP, FTP сервер байх шаардлагатай. Үлгэр шиг л юм болж байна уу, хэ хэ хэ<br />Жишээ болгоод А компьютерын “/dev/hda” диск драйверыг бүхлээр нь нөөцлөх үйлдэл хийж "my-backup-20070101.gz" гэдэг файл үүсгээд, "192.168.200.1" IP хаяг бүхий FTP серверийн "backup" гэдэг хавтсанд хуулах үйлдлийг авч үзий.<br /><br />Ажлийн дараалал:<br /><br />1. Интернетээс “g4l” -ийн ISO image -ийг татаж авна. (Сүүлийн хувилбар нь "g4l-v0.23.iso" гэж байгаа)<br />Бас баримт бичгийн файлууд ч байгаа, эхлээд баримт бичгийн файлуудыг нь уншаад, google -дээд жаахан мэдээлэл толгойдоо хийж аваараа.<br /><a href="http://sourceforge.net/project/showfiles.php?group_id=119810" target="blank">http://sourceforge.net/project/showfiles.php?group_id=119810</a><br /><br />2. Татаж авсан "g4l-XXXX.iso" файлаа CD дээр боот хийж болох байдлаар бэлдэнэ.<br /><br />3. DHCP сервер, файл хуулж болохоор FTP сервер бэлдээд, энэ 3 компьютерээ нэг сүлжээнд холбоно. Мэдээж хоорондоо холбогдох байдлаар “subnet mask” болон бусад сүлжээний тохиргоог хийнэ. Энд хэрэглэх жишээнд дараах байдлаар тохируулы гэж үзий.<br />- DHCP IP : 192.168.200.10 -192.168.200.20<br />- FTP server address : 192.168.200.1<br /><br />4. Бэлдсэн "g4l" бүхий боот хийдэг CD-ээ нөөцлөх үйлдэл хийх компьютерт хийж, системийг шинээр ачаал<br /><br />5. За тэгээд систем уншиж ороод, IP хайг автоматаар DHCP -ээс хийгдэнэ, тэгээд команд оруулж болохоор дэлгэц нээгдэх болно. Доорх "g4l" командыг параметрүүдтэй нь оруулна.<br /><br /><div class="scode"># ./g4l with arguments ($1, $2, ... )<br />$1 : FTP серверийн IP хаяг (192.168.200.1)<br />$2 : Нөөц файлын нэр болон өргөтгөлийн хамт (image.gz)<br />$3 : FTP серверт хандах бичих эрх бүхий хэрэглэгчийн нэр, нууц үг ('-u user1 -p pass1')<br />$4 : DHCP (default: enable), нөөцлөлт хийхээр бэлдэж буй компьютерт хэрэглэх IP хаяг DHCP серверээс авахыг зааж өгөх флаг.<br />$5 : Нөөц файлыг хуулах FTP сервер дээрх хавтасны нэр (default : img)<br />$6 : Сүлжээнд холбогдох сүлжээний интерфейсийн нэр (default : eth0)<br />$7 : reboot – Нөөцлөлт дуусаад “reboot” хийх эсэхийг заах флаг (default: not) </div><br />Бидний жишээнд бол:<br /><div class="scode">./g4l 192.168.200.1 my-backup-20070101.gz '-u bayar -p pwd' dhcp backup eth0 </div><br />Тайлбар бараг хэрэггүй гэхээр тодорхой харагдаж байгаа гэж бодож байна. “default” параметрүүд таны оруулахтай адилхан бол оруулаад хэрэггүй.<br /><br />6. За эндээс эхлээд их амархан болно. Текст цэс бүхий дэлгэц нээгдэх ба тэрэн дээр тохиргооны хэсэгт таны оруулсан параметрууд суугдсан байх болно. Үндсэн цэснээс харж байгаад л таны тоглолт эхлэнэ. Жишээнд "/dev/hda" –ийг нөөцөлж, FTP серверт хуулахаар байгаа тул доорх сонголтуудыг хийнэ.<br /><br /><div class="scode">- RAM Mode (ANY filesystem,every bit, local+ftp)<br />- Network use (Backup/restore to/from network)<br />- Backup (Backup drive/partition to FTP server)<br />- Select from : hda<br />Ok<br />(Нөөцлөх үйлдэл эхлэнэ, дуустал нь хүлээ !!! )</div><br /><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTTWmMDHphtHHBMh7xH2d4iMZJ4Gy8Qb4FLB9KoKSgQn-Vqu8VadnX_29xjN9YTcMflGotuN9ZkGzSFf6nz-yJtczuLF1hQPsXlBS4r-VwrRjgABW0_0Qp2v-zTFa1ZbSSvsvGFA/s400/g4l-1.jpg" border="0" /><br /><br />7. Дуусав.<br /><br /><a href="http://sourceforge.net/projects/g4l" target="blank">http://sourceforge.net/projects/g4l</a><br /><a href="http://www.howtoforge.com/back_up_restore_harddrives_partitions_with_ghost4linux" target="blank">http://www.howtoforge.com/back_up_restore_harddrives_partitions_with_ghost4linux</a><br /><br />-------------<br /><br /><span style="color: rgb(153, 153, 153);">За дээрх 3 аргыг товчхон бичвэл нэг иймэрхүү юм болж байна. Мэдээж өөрсдөө дэлгэрүүлж судлаад, ажилдаа хэрэглэх нь зүйтэй болов уу. Асуух юм байвал мэдээж мэддэг чаддаг бол хэлж өгөхдөө дуртай байх болно.</span>BAYARAAhttp://www.blogger.com/profile/08697118399362221457noreply@blogger.com1tag:blogger.com,1999:blog-19640583.post-45712204834425944782008-02-15T16:23:00.003+09:002008-02-15T16:43:45.870+09:00<span style="font-weight: bold; color: rgb(51, 51, 255);">HOWTO examining file (Файл хэрхэн шалгах талаар)</span><br /><br />Ямар нэгэн файлын мэдээллийг үздэг, хардаг, мэдэж болдог олон арга байдаг, тэднээс өөрийн хэрэглэдэг хэдийг бичий гэж бодож байна.<br /><br />1. “file” командаар файлын зохиогч болон бусад системийн мэдээллийг нь мэдэж болно.<br /><div class="scode"># file /bin/ls<br />ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped</div><br />2. "cat, less, more, grep, ..." командуудаар файлын доторх агуулгыг нь харж, үзэж, судалж болно.<br /><div class="scode"># cat file.lst<br /># more file.lst<br /># less file.lst<br /># grep "" file.lst</div><br />Дээрх командууд бол текст файлын доторхийг дэлгэцэн дээр сайхан хэвлэх болно. “cat”, “less” -ээр уншиж болохгүй кодлогдсон, бие дааж гүйцэтгэгддэг файлын агуулгыг үзэж болох ч уншиж болохгүй баахан код хэвлэх болно. “more” команд нь тухайн файлын агуулгыг дэлгэц, дэлгэцээр таслан үзүүлэх, “grep” бол тухайн файл дотроос сонирхож байгаа текст, тэмдэгт байгаа мөрийг хэвлэх, том хэмжээний файлтай ажиллаж байхад “less” команд нь хамгийн хурдан ажиллана, . . . гээд л өөр өөрийн давуу талуудтай.<br /><br />3. "man" командаар тухайн командын талаарх мэдээллийг, хэрхэн ашиглах заавар, .... гээд л холбоотой бүх мэдээллийг хэвлэж болно.<br /><div class="scode"># man ls<br />LS(1) User Commands LS(1)<br /><br />NAME<br /> ls - list directory contents<br /><br />SYNOPSIS<br /> ls [OPTION]... [FILE]...<br /><br />DESCRIPTION<br /> List information about the FILEs (the current directory by default).<br /> Sort entries alphabetically if none of -cftuSUX nor --sort.<br /><br /> Mandatory arguments to long options are mandatory for short options<br /> too.<br /><br /> -a, --all<br /> do not hide entries starting with .<br /><br /> -A, --almost-all<br /> do not list implied . and ..<br />. . . . . . <br />. . . . . .<br /></div>BAYARAAhttp://www.blogger.com/profile/08697118399362221457noreply@blogger.com2tag:blogger.com,1999:blog-19640583.post-53600207893007404692008-02-15T14:32:00.008+09:002008-02-15T15:16:59.108+09:00<span style="font-weight: bold; color: rgb(51, 51, 255);">HOWTO Redirection</span><br /><br />Линүксийн командууд голдуу дэлгэцэн дээр үр дүнгээ хэвлэдэг. Тэгвэл redirection (чиглүүлэх) буюу “>” тэмдэгт ашиглаад бид командын гаралтыг файлруу чиглүүж , файлд хадгалж болдог талаар хэдэн зүйл бичий гэж бодож байна.<br />Жишээ нь: Нөгөө хэрэглэх дуртай “ls” командаа ашиглан “root” хавтасан дах файл болон хавтаснуудыг жагсааж файл болгон хадгалж үзий даа.<br /><div class="scode"># ls -ls<br />total 90092<br />drwxr-xr-x 30 root root 4096 Feb 8 08:46 .<br />drwxr-xr-x 30 root root 4096 Feb 8 08:46 ..<br />-rw-r--r-- 1 root root 0 Feb 8 08:46 .autofsck<br />drwxr-xr-x 2 root root 4096 Oct 27 17:24 bin<br />drwxr-xr-x 3 root root 4096 Dec 4 12:22 boot<br />drwxr-xr-x 9 root root 4200 Feb 8 08:46 dev<br />drwxr-xr-x 90 root root 12288 Feb 8 08:46 etc<br />.......</div><br /><div class="scode"># ls -la > file.list<br /># more file.list<br />total 90092<br />drwxr-xr-x 30 root root 4096 Feb 8 08:46 .<br />drwxr-xr-x 30 root root 4096 Feb 8 08:46 ..<br />-rw-r--r-- 1 root root 0 Feb 8 08:46 .autofsck<br />drwxr-xr-x 2 root root 4096 Oct 27 17:24 bin<br />drwxr-xr-x 3 root root 4096 Dec 4 12:22 boot<br />drwxr-xr-x 9 root root 4200 Feb 8 08:46 dev<br />drwxr-xr-x 90 root root 12288 Feb 8 08:46 etc<br />.......</div><br />Дасгал болгоод доорх хэдийг туршаад үздээ<br /><div class="scode"># ping localhost > ping.txt<br /># date > mydate.txt<br /># dmesg > system-mssg.txt<br /># cat /var/log/messages | grep "kernel" > system-kernel.msg</div><br />Дүгнэлт:<br />- “|”, “>” 2 хамтдаа хоршоод байдаг байх нээ.<br />- “>” бол файл шинээр үүсгэх ба урд байсан бол устгаад шинээр үүсгэдэг бол “>>” гээд ашиглавал өмнөх файл дээр залгаад бичилт хийнэ.<br />- “>” -ыг “<” ингээд үзвэл бас өөр үйлдэл болно шуу. “<” бол ямар нэг файл болон командын агуулгыг нь өөр нэг командын оролт болгоход хэрэглэнэ. Жишээ нь дээр үүсгэсэн байгаа “file.list” гээд файл байгаа даа. “wc” команд ашиглан файл хэдэн мөртэй, хэдэн үгтэй, хэдэн бит мэдээлэл байгааг тодорхойлбол. Энд “file.list” гээд файлын агуулгыг нь “wc” командын оролт болгон ашиглаж байна. <div class="scode"># wc < file.lst<br /> 31 272 1527 file.lst </div><br />- "wc" командийг ашиглан адилхан үр дүн үзүүлэхээр 3 янзаар бичилт хийж үзий.<br /><div class="scode"># wc file.lst<br /># cat file.lst | wc<br /># wc < file.lst</div>BAYARAAhttp://www.blogger.com/profile/08697118399362221457noreply@blogger.com0tag:blogger.com,1999:blog-19640583.post-14672252822564117682008-02-08T15:40:00.000+09:002008-02-08T16:31:26.753+09:00<span style="font-weight: bold; color: rgb(51, 51, 255);">HOWTO pipeline</span><br /><br />Линукс системтэй ажиллаж байхад хамгийн хэрэгтэй үйлдэл бол pipeline (өгөгдөл дамжуулах) хийх юм. "|" гэсэн тэмдэгтээр хэрэглэнэ. Товчхондоо бол нэг командын гаралтыг нөгөө командын оролт болгоход хэрэглэдэг. Өөрөөр хэлбэл 2 өөр командыг ашиглан, нийлүүлэн нэг үр дүн гаргах тун хэрэгтэй үйлдэл юм. Жишээ нь "ls", "sort" гэсэн 2 командыг нэгтгэж нэг үр дүн гаргах тохиолдол:<br /><div class="scode"># ls /<br />bin etc lost+found sbin sys tmp boot home media opt<br />initrd misc proc srv usr dev lib mnt root var</div><br /><div class="scode"># ls / | sort<br />bin<br />boot<br />dev<br />etc<br />home<br />initrd<br />.........<br />.........<br />sys<br />tmp<br />usr<br />var</div><br />Тайлбар: "ls" командын үр дүнд ROOT хавтасны файл, хавтаснууд дэлгэцэнд хэвлэгдэх болно. Харин "|" ашиглаад "sort" командыг нэгтгээд үзвэл, сайхан эрэмблэгдээд хэвлэгдэж байгааг харж болно. "ls" командын гаралт нь "sort" командын оролт болж үр дүн хэвлэгдэж байна.<br /><br />Жишээ нь доорх үйлдлүүдийн үр дүн юу гарахыг үзээрэй.<br /><div class="scode"># ls /usr | sort -r<br /># ls -ls | wc<br /># man ls | grep "format"<br /># ls -ls | awk '{ print $10 }'<br /># more /var/log/message | grep "kernel"<br /># more /var/log/message | grep "kernel" | "Memory"</div><br /><br /><div class="scode"><span style="font-weight: bold;">Дүгнэлт:</span><br />- Нэг командын мөрөнд хэд хэдэн pipeline ашиглаж болох юм байна.<br />- "|", "grep" энэ 2 команд хамтрахаараа зэрлэг юм байна.<br />- "awk" Энэ ёстой гоё доо, ... Зүгээр л "command line" дээр script бичээд элдэвлэнэ ш дээ. Дараа энэ тухай дэлгэрэнгүй бичнэ ээ.</div>BAYARAAhttp://www.blogger.com/profile/08697118399362221457noreply@blogger.com0tag:blogger.com,1999:blog-19640583.post-28793309037587571552008-01-15T15:33:00.000+09:002008-01-15T15:53:46.594+09:00<span style="font-weight: bold; color: rgb(51, 51, 255);">Terminal Emulator (Terminal application, term, or tty)</span><br /><br />SSH, Telnet зэрэг протоkолууд ашиглаад Unix, Linux ... төрлийн үйлдлийн системд холбогдож, улмаар тухайн системтэй ажиллах боломжоор хангах "command-line interface" бүхий хэрэгсэл юм. Голдуу л MS-Windows -өөс Unix төрлийн системд холбогдож ажиллахад зориулагдана даа. Аюулгүй байдал, дамжуулж буй өгөгдлийн хамгаалалт зэрэгээсээ хамаараад голдуу SSH -д суурилсан хэрэгсэлийг нь ихэвчлэн хэрэглэж байна.<br /><br />Жишээ нь доорх хэдийг сонирхоороо, би эхний 3 -ийг нь ашиглаж байсан, ашигладаг юм. Давгүй нь PuTTY, Япон тэмдэгт, тексттэй ажиллах шаардлага байдаг болохоор TeraTerm -ийг нь голдуу ашиглана. Cygwin нь MS-Windows дээр яг л Unix төрлийн систем дэр ажиллаж байгаа юм шиг болгох ч дэндүү том нүсэр тул бараг ашигладагуй юм.<br /><br /><div class="scode"><span style="font-weight: bold;">Cygwin</span><br /><a href="http://www.cygwin.com/" target="blank">http://www.cygwin.com/</a><br /><br /><span style="font-weight: bold;">PuTTY: A Free Telnet/SSH Client</span><br /><a href="http://www.chiark.greenend.org.uk/%7Esgtatham/putty/" target="blank">http://www.chiark.greenend.org.uk/%7Esgtatham/putty/</a><br /><br /><span style="font-weight: bold;">Tera Term</span><br /><a href="http://hp.vector.co.jp/authors/VA002416/teraterm.html" target="blank">http://hp.vector.co.jp/authors/VA002416/teraterm.html</a><br /><br /><span style="font-weight: bold;">Poderosa</span><br /><a href="http://www.blogger.com/post-edit.g?blogID=19640583&postID=2879330903758757155" target="blank">http://en.poderosa.org/</a></div><br />-----<br /><br />MS Windows -ээс Unix төрлийн системтэй ажиллахад доорх 2 хэрэгсэл байхад ч илүүдэхгүй шүү.<br /><br /><div class="scode"><span style="font-weight: bold;">Free SFTP, FTP and SCP client for Windows</span><br /><a href="http://winscp.net/eng/index.php" target="blank">http://winscp.net/eng/index.php</a><br /><br /><span style="font-weight: bold;">VNC - the original cross-platform remote control solution</span><br /><a href="http://www.realvnc.com/" target="blank">http://www.realvnc.com/</a></div><br><b align="left"><span style="font-style:italic;">Screenshot: Tera Term</span></b><br><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKN25-AdOOv4yImv25ukPL_GHQsvxiy9_cfP8R8dgP2KfVoVolWODXuP0zl2ugbUj4UTNt8lyE7jMI74Qs4AVE6iFdQ5zgRtk7auCFIHmRg-3cRuW8i9SooumD1P9HmodaLMPe1A/s400/tereterm-1.jpg" alt="TeraTerm" border="0"><br>BAYARAAhttp://www.blogger.com/profile/08697118399362221457noreply@blogger.com0tag:blogger.com,1999:blog-19640583.post-86447135935130621752007-12-28T14:45:00.000+09:002007-12-28T15:29:13.348+09:00<span style="font-weight: bold; color: rgb(51, 51, 255);">Ойр зуур хэрэглэдэг командууд</span><br /><br /><div class="scode"># bind control-p:history-search-backward</div>Энэ командын дараа "Ctrl+p" даралтаар урьд ашиглаж байсан history-д хадгалагдсан командуудыг дуудах болно. Жишээ нь командын мөрөнд "h" оруулаад "Ctrl" товч дарж байгаад "p" товчийг дараад байхад "h" -ээр эхэлсэн (history, ...etc) , урьд таны хэрэглэж оруулж байсан командууд гарч ирэх болно.<br /><br /><div class="scode"># du -hs foo </div>( foo хавтасний нийт хэмжээг эмхэтгэсэн хэлбэрээр үзүүлэх.)<br /><div class="scode"># du -hs * </div>( Тухайн идэвхтэй байгаа хавтасны дотор байгаа файл хавтаснуудын хэмжээг эмхэтгэсэн хэлбэрээр жагсаах.)<br /><br /><div class="scode"># ls -lst<br /># ls -lsS<br /># ls -1 | wc -l</div><br /><div class="scode"># grep -i "search text" *<br /># grep "search text" *.c<br /># grep -R "search text" *</div>( Ажилын хавтасан дах файлууд дотроос текст хайх, subfolder -оролцуулж хайна, хайх файлыг зааж өгч болно.)<br /><br /><div class="scode"># ps -aux</div><br /><div class="scode"># kill PID<br /># kill -9 PID<br /># killall file_name/command_name</div><br /><div class="scode"># top</div><br /><div class="scode"># tail -f /var/log/message</div>( Ямар нэг болохгүй бүтэхгүй төхөөрөмж,... суулгах гэж оролдож байхдаа доорхи командыг идэвхжүүлээд тэгээд системийн LOG мэдээлэлүүдийг монитор хийнгээ ажиллах нь хамгийн үр дүнтэй байдаг)<br /><br /><div class="scode"># ssh root@IP<br /># scp file root@IP:/tmp</div>( SSH командаар Remote компьютерт нэвтрэх, Remote компьютерт файл хуулах)<br /><br /><div class="scode"># tar -zxvf *.tar.gz<br /># tar -zcvf *.tar.gz file/folder</div><br /><div class="scode"># rpm -ivh *.rpm</div><br /><div class="scode"># shutdown -h now<br /># shutdown -r now</div><br /><span style="font-weight:bold;">Alias </span><br />Байнга оруулдаг командууд урт бичлэгтэй бол доорх байдлаар зохиомол нэр өгч ашиглаж болно. Жишээ нь "home/bayar" гэдэг хавтсанд байнга орох хэрэгтэй байдаг бол "q" гэсэн Alias үүсгээд, "q" гэсэн даралтаар л нөгөө хавтсандаа орно. <br /><div class="scode"># alias q="cd /home/bayar"<br /># alias</div><br />GCC compile CGI file.<br /><div class="scode"># gcc -o name.cgi name.c </div><br />GCC compile C file.<br /><div class="scode"># gcc -o name name.c </div><br />Файлууд болон тухайн заасан хавтасуудыг бүхлээр нь харьцуулах, (-p) "c" төрөлийн файл бол функцийн нэрийг хэвлэнэ.<br /><div class="scode"># diff -Naursp *.c *.c<br /># diff -Naursp foo1 foo2</div>BAYARAAhttp://www.blogger.com/profile/08697118399362221457noreply@blogger.com0tag:blogger.com,1999:blog-19640583.post-75886692729691453712007-12-27T20:20:00.000+09:002007-12-28T12:09:19.482+09:00<span style="font-weight: bold; color: rgb(51, 51, 255);">Howto install qmail</span><br /><br /><i>"qmail </i>" бол UNIX гэх мэт үйлдлийн системүүдэд зориулагдсан Internet Mail Transfer Agent (MTA) юм. Ер нь бол маш том ажил, маш ихээр хэрэглэгддэг, ... доорх линкээр ороод дэлгэрүүлж сайхан уншаарай.<br /><br /><a href="http://www.qmail.org/" target="blank">http://www.qmail.org</a><br /><a href="http://www.lifewithqmail.org/" target="blank">http://www.lifewithqmail.org</a><br /><br />2 жилийн өмнө QMAIL майл сервер суулгаж байсан юм. Тэгэхэд хийсэн тэмдэглэлийг жаахан засаад тавилаа.<br /><br /><div class="scode">Анхаар: Sendmail, Postfix болон бусад майл серверүүдээс системд идэвжсэн байгаа бол зогсоох, хэрэглэхгүй бол бүүр аваад хаясан дээр шүү. </div><br /><span style="font-weight: bold;">Ажилласан серверийн хувьд</span>:<br />- Turbo Linux 8 (kernel-2.4.x)<br />- Red Hat Enterprise Linux AS 2.1 (kernel-2.4.x)<br /><br />Эхлээд доорх линкээр ороод эсвэл нэрээр нь хайж олоод файлуудыг татаад аваараа.<br /><br /><div class="scode">1.QMAIL<br />ftp://ftp.jp.qmail.org/qmail/qmail-1.03.tar.gz<br /><br />2.pbs4q<br />http://mambo.kuhp.kyoto-u.ac.jp/~masahiro/PbS4q/pbs4q-0.2.1.tar.gz<br /><br />3.Localtime path<br />ftp://ftp.nlc.net.au/pub/unix/mail/qmail/qmail-date-localtime.patch<br /><br />4.TCP-SERVER<br />http://cr.yp.to/software/ucspi-tcp-0.88.tar.gz<br /><br />5.Checkpassword<br />http://cr.yp.to/software/checkpassword-0.90.tar.gz<br /><br />6.cdb<br />http://cr.yp.to/cdb/cdb-0.75.tar.gz </div><br />За тэгээд татаж авсан файлнуудаа задлаад, суулгаж эхлэнэ дээ.<br /><br />"/usr/local/src" хавтаснаас суулгах ажлыг эхлүүлий гээд<br /><br /><div class="scode"># tar zxvf qmail-1.03.tar.gz<br /># cp qmail-date-localtime.patch /usr/local/src/qmail-1.03<br /># cd /usr/local/src/qmail-1.03<br /># mkdir /var/qmail<br /># chmod 755 /var/qmail </div><br /><div class="scode">/usr/sbin/groupadd -g 900 nofiles<br />/usr/sbin/groupadd -g 901 qmail<br />/usr/sbin/useradd -g nofiles -u 902 -d /var/qmail/alias alias<br />/usr/sbin/useradd -g nofiles -u 903 -d /var/qmail qmaild<br />/usr/sbin/useradd -g nofiles -u 904 -d /var/qmail qmaill<br />/usr/sbin/useradd -g nofiles -u 905 -d /var/qmail qmailp<br />/usr/sbin/useradd -g qmail -u 906 -d /var/qmail qmailq<br />/usr/sbin/useradd -g qmail -u 907 -d /var/qmail qmailr<br />/usr/sbin/useradd -g qmail -u 908 -d /var/qmail qmails </div><br /><div class="scode"># cat /etc/passwd </div><br />(Системийн бүх хэрэглэгчийн attribute файл шалгах)<br /><br /><div class="scode"># patch -p1 < qmail-date-localtime.patch <br /># make<br /># make man<br /># make setup<br /># make check </div><br /><div class="scode">./config-fast xxxxx.ccccccc.com </div><br />(xxxxx.ccccccc.com : Mail DNS -iig solikh. Jishee ni "myfreemail.com") <br /><br /><div class="scode"># cd /var/qmail/alias<br /># touch .qmail-root .qmail-postmaster .qmail-mailer-daemon<br /># chmod 644 .qmail* </div> <br />.qmail-root (дотор шинэ хэрэглэгч нэмэх) <br /><br /><div class="scode">/var/qmail/control/ </div><br />(Dotor uussen doorkh file-uudiig uuriin mail DNS bukhii nereer zasvar khiikh.) <br /><br />Jishee ni:<br />me <br /><div class="scode">localhost<br />xxxxx.ccccccc.com </div><br />rcpthosts <br /><div class="scode">localhost<br />xxxxx.ccccccc.com </div><br />defaultdomain<br /><div class="scode">localhost<br />xxxxx.ccccccc.com </div><br />Сервэрт бүртгэгдсэн хэрэглэгч болгонд "Maildir" гэдэг хавтас үүсгэх хэрэгтэй, өөрөөр хэлбэл qmail -ийн хэрэглэх хавтас (шинээр ирсэн, устгаагүй mail файлууд).<br /><div class="scode">$ /var/qmail/bin/maildirmake $HOME/Maildir<br />echo ./Maildir/ > ~/.qmail </div><br /><div class="scode">$ /bin/su -<br /># /var/qmail/bin/maildirmake /etc/skel/Maildir;<br /># echo ./Maildir/ > /etc/skel/.qmail </div><br /><div class="scode"># cp /var/qmail/boot/home /var/qmail/rc </div><br /><div class="scode"># qmail-start ./Maildir splogger qmail </div><br />Sendmail суусан байгаа бол backup хийнэ.<br /><div class="scode"># mv /usr/lib/sendmail /usr/lib/sendmail.bak<br /># mv /usr/sbin/sendmail /usr/sbin/sendmail.bak<br /># chmod 644 /usr/sbin/sendmail.bak<br /># ln -s /var/qmail/bin/sendmail /usr/lib/sendmail<br /># ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail </div><br /><span style="font-weight: bold;">TCP-SERVER install</span><br /><br /><div class="scode"># tar zxvf ucspi-tcp-0.88.tar.gz -C /usr/local/src<br /># cd /usr/local/src/ucspi-tcp-0.88<br />$ make<br />$ make setup check </div><br /><span style="font-weight: bold;">Ccheckpasswd install</span><br /><br /><div class="scode"># tar zxvf checkpassword-0.90.tar.gz<br /># cd checkpassword-0.90<br /># make<br /># make setup<br /># make check </div><br />/etc/tcp.smtp<br />(dotor doorkh mayagaar IP zokhitsuulaltuudiig khiikh.)<br /><br /><div class="scode">192.168.1.:allow,RELAYCLIENT=""<br />127.:allow,RELAYCLIENT=""<br />172.17.1.:allow,RELAYCLIENT=""<br />xxx.yyy.zzz.sss:allow,RELAYCLIENT=""<br />.............. </div><br /><span style="font-weight: bold;">pbs4q install</span><br /><br /><div class="scode"># tar zxvf pbs4q-0.2.1.tar.gz<br /># cd /usr/local/src/pbs4q<br /># make<br /># make install </div><br />Linux achaalakh bolgond QMAIL start khiikhiin tuld "/etc/rc.d/rc.local" dotor nemelt khiine.<br /><div class="scode"><br />##start qmail<br />csh -cf '/var/qmail/rc &'<br /><br />##qmail-smtpdl<br /><br />/usr/local/bin/tcpserver -H -D -l xxxxx.ccccccc.com \<br />-x /etc/tcp.smtp.cdb \<br />-c 80 -u 903 -g 900 -v 0 smtp \<br />/usr/local/bin/rblsmtpd -r relays.ordb.org \<br />/usr/local/bin/pbs4q2_smtp \<br />/var/qmail/bin/qmail-smtpd \<br />2>&1 | /var/qmail/bin/splogger smtpd 3 &<br /><br />##qmail-pop3d<br /><br />/usr/local/bin/tcpserver -H -R -D -l xxxxx.ccccccc.com -c 80 -u 0 -g 0 \<br />-x /etc/tcp.smtp.cdb \<br />-v 0 110 \<br />/var/qmail/bin/qmail-popup \<br />dns-srv.win-group.co.jp \<br />/bin/checkpassword \<br />/usr/local/bin/pbs4q1 \<br />/var/qmail/bin/qmail-pop3d Maildir \<br />2>&1 | /var/qmail/bin/splogger pop3d 3 &<br /></div><br /><div class="scode"># shutdown -r now </div><br />За дуусав.BAYARAAhttp://www.blogger.com/profile/08697118399362221457noreply@blogger.com4tag:blogger.com,1999:blog-19640583.post-9397150491851798862007-12-20T15:18:00.000+09:002007-12-20T15:53:09.558+09:00<span style="font-weight: bold; color: rgb(51, 51, 255);">mount - Линукс системд файл систем нэмэх</span><br /><br />Линукс системийн file tree -д шинээр төхөөрөмж (floppy, CDROM, USB ... диск төхөөрөмжүүд) нэмэхэд "mount" командыг ашиглана.<br />mount коммандын ерөнхий бичлэг :<br /><div class="scode"># mount -t type device-name director-name<br />-t : файл системийн төрөл (ext2, ext3, iso9660, msdos, nfs, nfs4, ...)<br />device-name : Төхөөрөмжийн нэр<br />director-name : Төхөөрөмжрүү хандах зам</div><br />Дэлгэрэнгүй мэдээлэлийг : <a href="http://linux.die.net/man/8/mount" target="blank">http://linux.die.net/man/8/mount</a><br /><br /><span style="font-weight: bold;">Зарим нэг жишээ :</span><br /><br />CDROM<br /><div class="scode">mount /mnt/cdrom </div><br />Уян диск<br /><div class="scode">mount /mnt/floppy </div><br />USB flash диск төхөөрөмж<br /><div class="scode">mount /dev/sda1 /mnt/usb </div><br />(Өргөн хэрэглэгддэг төхөөрөмж болон түүний файл системийн мэдээлэл системийн файл "/etc/fstab"-д хадгалагдсан байдаг тул дээрх байдлаар шаардлагатай параметерүүдыг бичихгүйгээр командыг амжилттай гүйцэтгэж болно)<br /><br />"/dev/hda5" бүхий диск драйверыг EXT3 файл системээр нэмэх:<br /><div class="scode">mount -t ext3 /dev/hda5 /mnt/d </div><br />"/dev/hda5" бүхий диск драйверыг FAT32 файл системээр нэмэх:<br /><div class="scode">mount -t vfat /dev/hda5 /mnt/d </div><br />"/dev/hda5" бүхий диск драйверыг NTFS файл системээр нэмэх:<br /><div class="scode">mount -t ntfs /dev/hda5 /mnt/d </div><br />Нэмсэн төхөөрөмжийг системээс хасах :<br /><div class="scode">umount /dev/device-name<br />umount /mnt/device-dir</div><br /><span style="font-weight: bold;">Хамгийн ихээр хэрэглэж буй USB flash диск төхөөрөмжийг хэрхэн нэмэхийг дэлгэрэнгүй бичвэл :</span><br /><br />1. USB flash диск төхөөрөмжийг залга.<br />2. Системийн LOG бичлэгийн файл "/var/log/message" -ийг шалгах. Эндээс бид систем автоматаар шинэ төхөөрөмжийг<br />ямар төхөөрөмж гэж танисан болохыг харж болно. Доорх командыг ашиглана.<br /><br /><div class="scode"># tail /var/log/messages </div><br />3. Төхөөрөмжийн талаарх "sda:sba1, ..." мэдээллийг бид харах болно.<br />4. Олж авсан "sda1" төхөөрөмжийн нэрийг ашиглан USB flash диск төхөөрөмжийг систэмд нэмэх.<br /><div class="scode"># mount /dev/sda1 /mnt/usb </div><br />5. "df" командаар нэмэгдсэн эсэхийг нь шалга.<br /><br /><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxnWxXQRqhXxSIzqQNzEk0t6G8cproGvvrhBcuVF-2HBECEgFfl2-D_Fut9qS6E_ogXjWjYOAK2ygMB4qs1Ak8Pk2wMjHqHKoXfDOc6NlbzEkHCIIWhHc1spJRS69cpUjqTrWMQg/s400/df.jpg" alt="DF" border="0" />BAYARAAhttp://www.blogger.com/profile/08697118399362221457noreply@blogger.com0tag:blogger.com,1999:blog-19640583.post-32722136567943761882007-12-10T15:25:00.000+09:002007-12-10T16:18:07.153+09:00<span style="font-weight: bold; color: rgb(51, 51, 255);">GZIP / TAR , Архив файлтай ажиллах</span><br /><br />Линүкс үйлдлийн систем дээр "gzip, zip, tar, gunzip, unzip" зэрэг коммандуудаар архив файл үүсгэх ба архив файлыг задлана (compress /uncompress). Архив файлуудын ерөнхий форматууд : tar, shar, zip, tar.gz, tar.Z. Доорхи веб хуудаснаас дэлгэрэнгүй мэдээлэл аваараа.<br /><br /><a href="http://www.gzip.org/" target="blank">http://www.gzip.org</a><br /><a href="http://linux.die.net/man/1/tar" target="blank">http://linux.die.net/man/1/tar</a><br /><br />Өөрийн гараар тест хийсэн гэдэг юмуу, байнга хэрэглэдэг гэхээр коммандууд бичвэл:<br /><br /><span style="font-weight: bold;">1. Архив файл задлах :</span><br /><div class="scode"># tar -zxvf Аrchive-file.tar.gz<br /># tar -xvf Аrchive-file.tar<br /># gunzip ( Archive-file.tar.gz | tar xvf -<br /># gunzip ( Archive-file.tgz | tar xvf -<br /></div><br /><span style="font-weight: bold;">2. Архив файл үүсгэх :</span><br /><div class="scode"># tar -zcvf Archive-file.tar.gz filenames/folder<br /># tar -cvf Archive-file.tar filenames/folder<br /># gtar cvzf Archive-file.tar.gz filenames/folder<br /># tar cvf - filenames/folder | gzip > Archive-file.tar.gz<br /></div><br /><span style="font-weight: bold;">3. Жишээнүүд</span><br /><div class="scode"># tar -cjf Archive-file.tar.bz2 bar/<br />("*.tar.bz2" архив файл үүсгэх)<br /># tar -xjf Archive-file.tar.bz2 -C bar/<br />("*.tar.bz2" архив файл задлах)<br /># zcat Archive-file.tar.Z | tar xvf -<br />("*.tar.Z" архив файл задлах)<br /># unzip Archive-file.zip<br />("*.tar" архив файл задлах)<br /></div><br /><div class="scode"><span style="font-weight: bold;">Анхаар :</span><br />gunzip "*.zip" архив файлыг задалж дийлэхгүй, unzip -ээр задлана.<br />"*.tar.gz, *.tar" архив файлуудыг MS Windows дээр задлахдаа PowerArchiver, Winrar зэргийг ашиглана.<br /></div>BAYARAAhttp://www.blogger.com/profile/08697118399362221457noreply@blogger.com0tag:blogger.com,1999:blog-19640583.post-86632689375909109572007-12-07T11:51:00.000+09:002007-12-07T12:09:27.619+09:00<span style="font-weight: bold; color: rgb(51, 51, 255);">Dual-Boot Linux and Windows 2000/Windows XP</span><br /><br /><span style="font-weight: bold;">1. Виндовс 2000/XР суулгана.</span><br />Виндовс суулгах явцад хатуу дискийг бэлдэхдээ (жишээ нь эхний sector-уудэд нь виндовс үйлдлийн системийг суулгахаар бодоод хуваа) Виндовс суулгах хэсэгээ тасалж аваад Линүкс суулгах хэсэгээ хуваалт (partition) хийхгүй үлдээнэ. Өөрөөр хэлбэл 100G хатуу диск байлаа гэхэд : Эхний 30G дээр нь Виндовс суулгана гээд хуваалт хийгээд үлдсэн 70G дээр нь Линүкс суулгана гэж бодоод тэр хэсэгээ сул орхино. Тэгээд Виндовс суулгах ажиллагааг цааш нь үргэлжлүүлнэ.<br /><div class="scode">Виндовс суусан компьютер бол, Partition manage хийдэг програмаар (Norton PartitionMagic, гэх мэт) хард дискээ хуваагаад, Өөрөөр хэлвэл Линүкс суух хэсэгээ тасдаад л авна гэсэн уг. </div><br /><span style="font-weight: bold;">2. Линүкс -ээ суулгана.</span><br />Линүкс суулгах явцад автоматаар урьд нь суусан Виндовс-ийг таниад давхар бүүт (dual booting) хийхээр зохион байгуулах ба давхар бүүт -ийг GRUB эсвэл LILO энэ 2-ийн аль нэгийг нь сонгоод (GRUB bootloader нь илүү гэж бодож байна) цааш үргэлжлүүлнэ. Бүүт сонголт хийсний дараа компьютер асаад ямар систем нь эхлээд ачаалахыг заана, заахгүй бол автоматаар Линүкс эхлэх болно. Гэхдээ компьютер асаад POST -ийн дараа Виндовс, Линүкс алийг нь сонгож болох цэс гарах ба эндээс алийг нь эхэлүүлэхээ сонгож болно.<br /><br />3. Линүкс суулгах явцдаа хатуу дискийг автоматаар сонгож болно, мөн хэрэглэгч өөрөө хувааж бас болно. Хэрэглэгч өөрөө хуваалт хийх нь урд суулгасан системүүдийг гэмтээхгүй / дарахгуй байх сайн тал бий байх гэж бодож байна.<br /><br />4. Линүкс суулгах ажиллагааг үргэлжлүүлнэ.<br /><br /><div class="scode">Иймэрхүү аргаар нэг компьютерт, нэг хатуу дискэнд хэдэн ч систем хамт суулгаж болох ба хамгийн гол нэг анхаарах зүйл бол хатуу дискний MBR (master boot record) -оос л суулгасан системүүдийг сонгох боломжтой тул олон линүкс суулгах явцад MBR -д нэг удаа л бүүт хийхээр сонголт хийх хэрэгтэй. </div><br />(<span style="font-style: italic;">GRUB -г хэрхэн зохицуулах талаар дараа бичнэ ээ.</span>)BAYARAAhttp://www.blogger.com/profile/08697118399362221457noreply@blogger.com0tag:blogger.com,1999:blog-19640583.post-72061118928978827782007-12-06T16:36:00.000+09:002007-12-13T11:40:13.336+09:00<span style="font-weight: bold; color: rgb(51, 51, 255);">HOWTO Install Windows XP on MAC with Boot Camp</span><br /><br />Саяханы нэг өдөр Mac үйлдлийн систем суусан Intel based зөөврийн компьютерт Windows XP суулгасан юм. Суулгасан дарааллыг энд тавьж байна. Ажилыг товчхон хэлвэл : (1) Одоо байгаа үйлдлийн системийг Mас OS X Leopard болгон сайжруулах, (2) Windows суухад зориулж хатуу дискийг хуваах, (3) Windows үйлдлийн системээ суулгах, (4) Windows -д зориулсан driver-үүдийг суулгах, (5) Boot (Суусан байгаа үйлдлийн системүүдийн сонголт) сонголт болон бусад ажлууд.<br /><br />--------------------------<br /><span style="font-weight: bold;">Ажлын систем :</span><br /><span style="font-style: italic;">- MacBOOK</span><br /><span style="font-style: italic;">- Intel Core 2 Duo processor</span><br /><span style="font-style: italic;">- OS : Tiger OS X 10.4.1</span><br />--------------------------<br /><br /><span style="font-weight: bold;">1. Mac Tiger OS -ийг Mас OS X Leopard болгон сайжруулах</span><br />(Mac Tiger OS дээр Windows суулгаж болохгүй гэнэ ээ.)<br />- Системийг эхлүүлэх<br />- "Mас OS X Leopard upgrade DVD" -г CD/DVD drvier-т хийж, идэвхжүүл<br />- Mас OS X Leopard -ийг суулгах үйл ажиллагаа, ...<br />- Leopard DVD -г гарган, системийг дахин ажиллуулах<br /><br /><span style="font-weight: bold;">2. Windows суулгахад зориулж хатуу дискийг хуваах</span><br />- "Applications"->"Utilities" гэсэн замаар "Boot camp Assistant" -ийг идэвхжүүлэх<br />- "Manage/create partition table" . . . , хатуу дискийг хуваах<br />Жишээ нь : 110G (нийт хэмжээ нь) = 50G (Mас -т үлдээгээд) + 60G (WINXP-д зориулан таслан авлаа.)<br />- Хатуу дискийг хуваасны дараа "Start Windows Instalation" гэсэн товчлуур бүхий дэлгэц солигдох болно.<br />- "Windows XP install CD" -г drivert хийгээд "Start installation" товчоор цааш ажлыг үргэлжлүүлнэ.<br /><br /><span style="font-weight: bold;">3. Windows XP үйлдлийн системийн суулгалт</span><br />- "Start install" товч дарсны дараа систем дахин ачаалах болно. Windows системээр эхлэх ба эндээс эхлээд бидний сайн мэддэг орчин болно доо.<br />- "Detection hardware, ... select partition/disk" . . . гээд эхэлдэг дээ.<br />- Хатуу диск сонгох хэсэгт "Select "C: Partition3 <bootcamp> [FAT32]." -ийг сонго<br />- Дараагийн хуудасанд ороод "Format partition using the NTFS file system" гэдэг сонголтоор цааш үргэлжлүүл.<br /></bootcamp><div class="scode">Анхаар: "Convert to NTFS ..." or "Leave current file system ..." гэдэг сонголтийг хийж үл болно. </div><br />- Сонгосон дискийг формат хийж Виндовс-ийн файлуудыг хуулах . . .<br />- Auto restart.<br />- Хатуу дискнээс Виндовс систем автоматаар эхлэх болно.<br />- Auto restart . . . auto configuration . . .<br />- Windows суулгах ажил дууслаа. "Windows install CD" -ийг CD drvier-аас гаргаж ав.<br /><br /><span style="font-weight: bold;">4. Windows XP төхөөрөмжийн driver -үүдийг суулгах</span><br />- "Mac OS Leopard upgrade DVD" -г дахин CD drvier-т хийнэ<bootcamp><br />- "Boot Camp Installation & Setup Guide.pdf" гэдэг файлыг унш.<br />- "D:\SETUP.EXE" -г идэвхжүүлж төхөөрөмжийн driver-уудыг бүгдийг нь зэрэг суулгах эсвэл "D:\Drivers" гэдэг сангаас төхөөрөмжийн driver-уудийг нэг нэгээр нь суулгаж бас болно.<br /><br />---------------------<br /><br /><div class="scode"><span style="font-weight: bold;">Анхаар :</span><br />1. MAC OS / Windows XP OS -ийг сонгохдоо төхөөрөмж АСААХ товч дарсны дараа "alt(option)" товчин дээр хэсэг дарж ДИСК-ний зураг бүхий дэлгэцийг хүлээнэ, . . . ямар дискнээс системийг ажиллуулахыг сонгоно.<br /><br />2. Windows дээр CD/DVD-г driver-аас хэрхэн гаргаж авах :<br />"Explorer"-ийг нээж "DVD-RW Drvie(D:)" </bootcamp>driver дээрээс хулганы зүүн товчоор <bootcamp>туслах цэсэн дэх "Eject" -ийг сонго. Эсвэл "My Computer" -> D driver -ийг сонгоод "File" цэсний "Eject" -ийг сонго.<br /><br />3. Default системийг сонгох :<br />- Mac OS X:<br />"System Preferences" -> "Startup Disk" гэсэн замаар нээгдсэн дэлгэцнээс систем автоматаар ямар үйлдлийн системийг эхэлж ачаалахыг нь сонго.<br />- Windows XP:<br />"Control panel" -> "Boot Camp" -> "Startup disk" </bootcamp>гэсэн замаар нээгдсэн дэлгэцнээс систем автоматаар ямар үйлдлийн системийг эхэлж ачаалахыг нь сонго.<br /></div><br /><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/SEYatr_-sRk&rel=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/SEYatr_-sRk&rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object><br>BAYARAAhttp://www.blogger.com/profile/08697118399362221457noreply@blogger.com2tag:blogger.com,1999:blog-19640583.post-48284148092084502282007-12-04T13:58:00.000+09:002007-12-04T14:33:52.134+09:00<strong><span style="color:#3333ff;">VLC - the cross-platform media player and streaming server</span></strong><br /><br />VLC media player is a highly portable multimedia player for various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX, mp3, ogg, ...) as well as DVDs, VCDs, and various streaming protocols. It can also be used as a server to stream in unicast or multicast in IPv4 or IPv6 on a high-bandwidth network. I tried to compile VLC with all main options.<br /><br />Source web site: <a href="http://www.videolan.org/" target="blank">http://www.videolan.org/</a><br /><br />-------------------------------------------<br />My system : RHEL 4 ES (kernel-2.6.9-5)<br />-------------------------------------------<br /><br />Check following packages, if not installed, install from Internet and RHEL source CD:<br /><div class="scode"># gettext-0.16.1-1-bin.tar.bz2<br /># tar xvjf gettext-0.16.1-1-bin.tar.bz2<br /># cd usr/local<br /># cp -rp * /usr/local/</div><br />Note: Copy source files after tar to related folder (it is for bootstrap from SVN source).<br /><br /><div class="scode">libgpg-error-1.0-1.i386.rpm<br />libgpg-error-devel-1.0-1.i386.rpm<br />libgcrypt-1.2.0-3.i386.rpm<br />libgcrypt-devel-1.2.0-3.i386.rpm</div><br />Checkout VLC from SVN server:<br /><div class="scode"># svn co svn://jb@svn.videolan.org/vlc/trunk vlc-trunk<br /># cd vlc-trunk;<br /># ./bootstrap<br />.....<br />.....</div><br />Successfully bootstrapped<br /><br />******************<br /><br /><strong>Before compile VLC</strong> , we have to compile the following packages and libraries :<br /><br /><strong>- x264</strong><br />The x264 is a library to encode movies in H.264.<br />Source web site: <a href="http://www.videolan.org/developers/x264.html">http://www.videolan.org/developers/x264.html</a><br /><br /><div class="scode"># cd extras/<br /># svn co svn://svn.videolan.org/x264/trunk x264<br /># cd x264/<br /># ./configure (may be not need)<br /># make<br /># cd ..</div><br />Also, we installed a x264 from RPM package.<br />Because, we had error message "x264 librar not exist" during the configure VLC.<br /><div class="scode"># rpm -ivh x264-0.0.0-0.4.20070529.el4.rf.i386.rpm<br /># rpm -ivh x264-devel-0.0.0-0.4.20070529.el4.rf.i386.rpm</div><br /><strong>- faac</strong><br />The faac is a library to encode audio in AAC/MP4A<br />Source web site: <a href="http://www.audiocoding.com/">http://www.audiocoding.com/</a><br /><br /><div class="scode"># tar -zxvf faac-1.26.tar.gz<br /># cd faac/<br /># dos2unix *<br /># patch -p1 </div><br />Purpose of the patch:<br />- To avoid warning during bootstrap:<br /><br /><div class="scode">utoreconf: running: aclocal --force<br />configure.in:10: warning: underquoted definition of MY_DEFINE<br />run info '(automake)Extending aclocal'</div><br />or see http://sources.redhat.com/automake/automake.html#Extending-aclocal<br /><br />- Error during configuring:<br /><br /><div class="scode">config.status: creating \<br />.infig.status: error: cannot find input file: \</div><br />Note: Source web site of patch: http://research.m1stereo.tv/wiki/index.php/Build_video_enc_env<br /><br /><strong>- faad</strong><br />The faad is a decoder, AAC (mpeg-4,mpeg-2)<br />Source web site: <a href="http://www.audiocoding.com/">http://www.audiocoding.com/</a><br /><br /><div class="scode"># tar -zxvf faad2-2.6.tar.gz<br /># cd faad2/<br /># autoreconf -vif<br /># ./configure --with-mpeg4ip<br /># make; make install<br /># cd ..</div><br /><strong>- Lame</strong><br />The lame is a encoder library MPEG Audio Layer III (MP3).<br />Source web site: <a href="http://lame.sourceforge.net/index.php">http://lame.sourceforge.net/index.php</a><br /><br /><div class="scode"># tar xvf lame-3.97.tar.gz<br /># cd lame-3.97/<br /># ./configure;<br /># make; make install<br /># cd ..</div><br /><strong>- liba52 (a52dec)</strong><br />The liba52 is a free ATSC A/52 stream decoder.<br />Source web site: <a href="http://liba52.sourceforge.net/">http://liba52.sourceforge.net/</a><br /><br /><div class="scode"># tar -zxvf a52dec-snapshot.tar.gz<br /># mv a52dec-0.7.5-cvs liba52<br /># cd liba52<br /># ./configure<br /># make<br /># make install</div><br />Also, we installed a liba52 from RPM package.<br />Because, we had error message that the source tree not exist during the configure VLC.<br /><br /><div class="scode"># rpm -ivh a52dec-0.7.4-8.el4.rf.i386.rpm<br /># rpm -ivh a52dec-devel-0.7.4-8.el4.rf.i386.rpm</div><br /><strong>- ffmpeg</strong><br />The ffmpeg is a multi-codec library<br />Source web site: <a href="http://ffmpeg.mplayerhq.hu/">http://ffmpeg.mplayerhq.hu/</a><br /><br /><div class="scode"># svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg<br /># cd ffmpeg<br /># ./configure --enable-gpl --enable-pp --enable-pthreads --enable-libmp3lame --enable-libfaac --enable-libfaad --enable-libx264 --enable-liba52<br /># make<br /># ldconfig<br /># ffmpeg -v<br />libavutil version: 49.5.0<br />libavcodec version: 51.46.0<br />libavformat version: 51.15.0<br /># cd ..</div><br /><strong>- live</strong><br />The live is a streaming library.<br />Source web site: <a href="http://live555.com/">http://live555.com/</a><br /><br /><div class="scode"># wget http://live555.com/liveMedia/public/live555-latest.tar.gz<br /># tar xvf live555-latest.tar.gz<br /># cd live/<br /># ./genMakefiles linux<br /># make<br /># cd ..</div><br /><strong>- libmpeg2</strong><br />The libmpeg2 is a MPEG2 video stream decoder.<br />Source web site: <a href="http://libmpeg2.sourceforge.net/">http://libmpeg2.sourceforge.net/</a><br /><br /><div class="scode"># tar zxvf mpeg2dec-0.4.1.tar.gz<br /># cd mpeg2dec-0.4.1<br /># ./configure<br /># make<br /># cd ..</div><br />Note: During the make, we hade path problem of the source tree.<br /><br /><div class="scode"># mkdir libmpeg2/.libs/.libs<br /># cp libmpeg2/.libs/libmpeg* libmpeg2/.libs/.libs/</div><br /><strong>- PortAudio</strong><br />The portaudio is cross platform audio I/O library and it provide very simple API for recording and/or playing sound a simple callback function.<br />Source web site: <a href="http://www.portaudio.com/">http://www.portaudio.com/</a><br /><br /><div class="scode"># tar zxvf pa_stable_v19_061121.tar.gz<br /># cd portaudio<br /># ./configure<br /># make; make install</div><br /><strong>- Libgii</strong><br />The LibGII is intended to be to input what our LibGGI library is to graphics.<br />Source web site: <a href="http://www.ggi-project.org/packages/libgii.html">http://www.ggi-project.org/packages/libgii.html</a><br /><br /><div class="scode"># tar zxvf /root/vlc/libgii-1.0.2.src.tar.gz<br /># cd libgii-1.0.2/<br /># ./configure<br /># make; make install<br /># cd ..</div><br /><strong>- Libggi<br /></strong>The GGI stands for General Graphics Interface, and it is a project that aims to develop a reliable, stable and fast graphics system that works everywhere.<br />Source web site: <a href="http://www.ggi-project.org/">http://www.ggi-project.org/</a><br /><br /><div class="scode"># tar zxvf /root/vlc/libggi-2.2.2.src.tar.gz<br /># cd libggi-2.2.2/<br /># ./configure<br /># make; make install<br /># cd ..</div><br /><strong>- wxWidgets</strong><br />The wxWidgets gives that easy-to-use API for writing GUI applications on multiple platforms that still utilize the native platform's controls and utilities. Default skin of the VLC is developed by wxWidgets and library of GGI and GII.<br />Source web site: <a href="http://www.wxwidgets.org/">http://www.wxwidgets.org/</a><br /><br /><div class="scode"># tar zxvf /tmp/wxWidgets-2.8.6.tar.gz<br /># cd wxWidgets-2.8.6/<br /># ./configure --enable-unicode<br /># make; make install<br /># ldconfig</div><br /><strong>- Installing required RPM packages:</strong><br />During the compile (./configure, make, make install), we have to install following packages which are enabled in configure.<br /><br />Search and download RPM packages: <a href="http://rpm.pbone.net/">http://rpm.pbone.net/</a><br /><br /><div class="scode">libshout-2.2-1.2.el4.rf.i386.rpm<br />libshout-devel-2.2-1.2.el4.rf.i386.rpm<br />libdvdcss-1.2.9-3.el4.at.i386.rpm<br />libdvdread-0.9.7-4.el4.at.i386.rpm<br />libdvdread-devel-0.9.7-4.el4.at.i386.rpm<br />libmad-0.15.1b-4.el4.rf.i386.rpm<br />libmad-devel-0.15.1b-4.el4.rf.i386.rpm<br />libcdio-0.77-1.el4.rf.i386.rpm<br />libcdio-devel-0.77-1.el4.rf.i386.rpm<br />libcddb-1.3.0-1.el4.rf.i386.rpm<br />libcddb-devel-1.3.0-1.el4.rf.i386.rpm<br />vcdimager-0.7.23-5.el4.rf.i386.rpm<br />vcdimager-devel-0.7.23-5.el4.rf.i386.rpm<br />libsndfile-1.0.17-1.el4.rf.i386.rpm<br />libsndfile-devel-1.0.17-1.el4.rf.i386.rpm<br />twolame-0.3.9-1.el4.rf.i386.rpm<br />twolame-devel-0.3.9-1.el4.rf.i386.rpm<br />SDL_image-1.2.4-2.el4.i386.rpm<br />SDL_image-devel-1.2.4-2.el4.i386.rpm<br />libopendaap-0.4.0-2.el4.rf.i386.rpm<br />libopendaap-devel-0.4.0-2.el4.rf.i386.rpm<br />libdca-0.0.5-1.el4.rf.i386.rpm<br />libdca-devel-0.0.5-1.el4.rf.i386.rpm<br />libraw1394-0.10.1-3.el4.i386.rpm<br />libraw1394-devel-0.10.1-3.el4.i386.rpm<br />libraw1394_8-1.2.1-9_10.el4.i386.rpm<br />libavc1394-0.4.1-4.el4.i386.rpm<br />libavc1394-devel-0.4.1-4.el4.i386.rpm<br />libiec61883_0-1.1.0-0_9.el4.at.i386.rpm<br />libiec61883-devel-1.1.0-0_9.el4.at.i386.rpm<br />libfreebob-1.0.0-3.el4.at.i386.rpm<br />libfreebob-devel-1.0.0-3.el4.at.i386.rpm<br />jack-audio-connection-kit-0.102.20-3.el4.at.i386.rpm<br />jack-audio-connection-kit-devel-0.102.20-3.el4.at.i386.rpm<br />zvbi-0.2.25-1.el4.rf.i386.rpm<br />zvbi-devel-0.2.25-1.el4.rf.i386.rpm<br />taglib-1.4-5.1.el4.at.i386.rpm<br />taglib-devel-1.4-5.1.el4.at.i386.rpm<br />libmusicbrainz-2.0.2-11.el4.test.i386.rpm<br />libmusicbrainz-devel-2.0.2-11.el4.test.i386.rpm<br />libdvbpsi-0.1.5-2.el4.rf.i386.rpm<br />libdvbpsi-devel-0.1.5-2.el4.rf.i386.rpm<br />fribidi-0.10.4-6.i386.rpm<br />fribidi-devel-0.10.4-6.i386.rpm<br /><br />gnutls-1.0.20-3.i386.rpm<br />gnutls-devel-1.0.20-3.i386.rpm<br />hal-0.4.2-1.EL4.i386.rpm<br />hal-devel-0.4.2-1.EL4.i386.rpm<br />hal-gnome-0.4.2-1.EL4.i386.rpm<br />speex-1.0.4.4.i386.rpm<br />speex-devel-1.0.4.4.i386.rpm<br />speex-debuginfo-1.0.4-4.i386.rpm<br /><br />mozilla-***-devel (Success version which I did: 1.7.12-1.4.2)<br />firefox-XXXXX</div><br />Note: Some time we had warning message if we not install following packages.<br /><div class="scode"><br />faad2-2.5-2.el4.rf.i386.rpm<br />faad2-devel-2.5-2.el4.rf.i386.rpm<br />portaudio-18_1-3.el4.at.i386.rpm<br />portaudio-debuginfo-18_1-3.el4.91.at.i386.rpm<br />lua-5.0.2-1.el4.rf.i386.rpm<br />lua-devel-5.0.2-1.el4.rf.i386.rpm</div><br />********************<br /><br />- <strong>VLC compile</strong><br /><div class="scode"><br /># mkdir linux<br /># cd linux<br />#<br /># ../configure --enable-snapshot --enable-debug --enable-dbus-control --enable-shared --enable-lirc --with-x509-ca-bundle=/etc/ssl/certs/ca-certificates.crt --with-live555-tree=../extras/live --with-ffmpeg-tree=../extras/ffmpeg --enable-taglib --enable-v4l --enable-cddax --enable-dvb --enable-vcdx --enable-realrtsp --enable-svg --enable-dvdread --enable-dv --enable-theora --enable-faad --enable-twolame --enable-real --enable-flac --enable-tremor --with-ffmpeg-mp3lame --with-faac --enable-ncurses --enable-aa --enable-caca --enable-esd --enable-portaudio --enable-jack --enable-xosd --enable-galaktos --enable-goom --enable-ggi --disable-cddax --disable-vcdx --disable-dirac --enable-x264 --disable-xvmc --enable-pvr --enable-loader --enable-audioscrobbler --enable-libcddb --enable-libcdio --enable-opencv --enable-nls --disable-notify --with-libmpeg2-tree=../extras/mpeg2dec-0.4.1 --disable-speex --disable-lua --disable-fluidsynth --disable-gnutls --disable-bonjour --enable-old-dbus --with-included-gettext --enable-skins2 --enable-wxwidgets --enable-mozilla<br />#<br /># make<br /># make install<br /># ldconfig</div><br />Note: For Mozilla and Firefox plugin manage:<br /><div class="scode"># cp -rp mozilla/.libs*.so /root/.mozilla/plugin/<br /># cp -rp mozilla/.libs*.soT /root/.mozilla/plugin/</div><br />- <strong>Execute VLC</strong><br /><div class="scode"><br /># vlc<br /># vlc test-movie.file<br /><br />URL syntax:<br />[file://]filename Plain media file<br />http://ip:port/file HTTP URL<br />ftp://ip:port/file FTP URL<br />mms://ip:port/file MMS URL<br />screen:// Screen capture<br />[dvd://][device][@raw_device] DVD device<br />[vcd://][device] VCD device<br />[cdda://][device] Audio CD device<br />udp:[[<source>]@[<bind>][:<bind>]]</div><br /><strong>Stream in HTTP</strong>:<br /><br />* On the server, run:<br /><div class="scode"># vlc -vvv /var/www/html/hd/shuttle.mpg --sout udp://10.10.10.1 --ttl 12</div><br />* On the client(s), run:<br /><div class="scode"># vlc udp://@:1234</div><br /><strong>Using the HTTP, downloading video stream</strong>:<br /><br />* On the server, start HTTP apache server:<br /><div class="scode"># /etc/init.d/http start</div><br />* On the client(s), run VLC with video file:<br /><div class="scode"># vlc <a href="http://10.10.10.251/hd/shuttle.mpg">http://10.10.10.251/hd/shuttle.mpg</a></div><br /><br /><center><img alt="VLS video player" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1ZoJfhKVfn8oqbkO2VqJmQcJoYwmG0xZVxjKAnFxaeIn01atSj0j9kjXlYr0gqfamYO3gAFWB_BnopH5_KrkM_LZHFCr2ix0t79YYN47u38EXCDzwn4CKtOZ0BVdQsJ6Xry1uQA/s400/sumo-3.jpg" border="0" /></center>BAYARAAhttp://www.blogger.com/profile/08697118399362221457noreply@blogger.com0tag:blogger.com,1999:blog-19640583.post-75114243721278208432007-12-03T16:43:00.000+09:002007-12-03T16:57:55.060+09:00<strong><span style="color:#3333ff;">How to create and use a patch in Linux</span></strong><br /><br />[diff: ] <a href="http://linux.about.com/library/cmd/blcmdl1_diff.htm">http://linux.about.com/library/cmd/blcmdl1_diff.htm</a><br />[patch:] <a href="http://linux.about.com/od/commands/l/blcmdl1_patch.htm">http://linux.about.com/od/commands/l/blcmdl1_patch.htm</a><br /><br /><strong>Creating a Patch File</strong>:<br /><br />(Creating a patch file by single file)<br /><div class="scode"># ls old/<br />myfile.c<br /># ls new/<br />myfile.c</div><br /><div class="scode"># diff -Naur old/myfile.c new/myfile.c > my-patch</div><br /><div class="scode"># more my-patch<br />--- old/myfile.c 2006-01-01 17:09:19.000000000 +0900<br />+++ new/myfile.c 2007-01-01 14:04:11.000000000 +0900<br />@@ -1,6 +1,6 @@<br />#include <stdio.h><br /><br />-#define perror(s1, s2) printf("%s: %d \n", (s1), (s2))<br />+#define perror(s1, s2) printf("%s: %s \n", (s1), (s2))</div><br />(Creating a patch file by folder)<br /><br /><div class="scode"># ls -ls<br />8 drwxr-xr-x 2 root root 4096 Aug 8 14:04 new<br />8 drwxr-xr-x 2 root root 4096 Aug 8 14:25 old</div><br /># diff -Naur old new > my-patch-byfolder<br /><br /><div class="scode"># more my-patch-byfolder<br />diff -Naur old/myfile.c new/myfile.c<br />--- old/myfile.c 2006-01-01 17:09:19.000000000 +0900<br />+++ new/myfile.c 2007-01-01 14:04:11.000000000 +0900<br />@@ -1,6 +1,6 @@<br />#include <stdio.h><br /><br />-#define perror(s1, s2) printf("%s: %d \n", (s1), (s2))<br />+#define perror(s1, s2) printf("%s: %s \n", (s1), (s2))</div><br />The first symbol of each line (+, -, and a blank):<br /><br /><div class="scode">(+) would indicate that this line is to be added.<br />(-) would indicate that this line is to be removed.</div><br />************************<br /><br /><strong>Applying a Patch</strong>:<br /><br />Just change to the correct directory and give the patch command.<br /><br /><div class="scode"># patch -p0 </div><br />Levels (-p0,-p1, ...etc) in the Patch Command:<br /><br /><div class="scode"># patch -p0 </div><br />The -p option will optionally strip off directory levels from the patch-file.<br /><br />- Using a -p0 will expect, from your current working directory, to find a subdirectory called "new", then the "myfile.c" file below that.<br />- Using a -p1 will strip off the 1st level from the path and expect to find "myfile.c" in the current working directory.<br />Patch will ignore the "new" directory mentioned in the header of the patch-file.<br />- Using a -p2 in this example, patch probably would not patch anything.BAYARAAhttp://www.blogger.com/profile/08697118399362221457noreply@blogger.com0tag:blogger.com,1999:blog-19640583.post-48638667612363137802007-12-03T15:00:00.000+09:002007-12-03T15:17:12.462+09:00<strong><span style="color:#3333ff;">Starting SVN server with xinetd</span></strong><br /><br />Subversion home :<br /><a href="http://svn.subversion.com/">http://svn.subversion.com/</a><br />Subversion document folder:<br /><a href="http://subversion.tigris.org/servlets/ProjectDocumentList">http://subversion.tigris.org/servlets/ProjectDocumentList</a><br /><br />-------------------------------------<br /><em>My system : Redhat EL4 Linux with kernel 2.6.9</em><br />------------------------------------- <br />1. Check/install svn packages<br /><div class="scode"># svn<br />svn<br />svnadmin<br />svnversion<br />.....</div><br /><div class="scode"># which svn<br />/usr/bin/svn </div><br /><div class="scode"># which svnserve<br />/usr/bin/svnserve</div><br />2. Adding svn new user<br /><div class="scode"># adduser svnversion</div><br />3. Create config file "/etc/xinetd.d/svnserve"<br /><div class="scode"># vi /etc/xinetd.d/svnserve</div><br /><div class="scode">#<br /># Subversion server<br /># service svnserve<br />{<br />socket_type = stream<br />protocol = tcp<br />user = subversion<br />wait = no<br />disable = no<br />server = /usr/bin/svnserve<br />server_args = -i -r /home/svn<br />}</div>.... save<br /><br />4. Restart xinetd<br /><br />5. Create repository<br /><div class="scode"># su subversion% svnadmin create /usr/local/svn/my-projects</div><br />6. Change config file "../SVN/rep../conf/svnserve.conf"<br /><div class="scode"># vi /home/svn/my-rep../conf/svnserve.conf</div><br /><div class="scode">[general]<br />anon-access = readwritenone (default read)<br />auth-access = readwritenone (default write)</div><br /><div class="scode"># /etc/init.d/xinetd restart</div>BAYARAAhttp://www.blogger.com/profile/08697118399362221457noreply@blogger.com0tag:blogger.com,1999:blog-19640583.post-73433106980954307952007-12-03T14:25:00.000+09:002007-12-03T15:18:27.673+09:00<strong><span style="color:#3333ff;">Sample subversion commands</span></strong><br /><br />SVN:Subversion Source Code Management System :<br /><a href="http://svn.subversion.com/">http://svn.subversion.com/</a><br />Subversion document folder:<br /><a href="http://subversion.tigris.org/servlets/ProjectDocumentList">http://subversion.tigris.org/servlets/ProjectDocumentList</a><br />-------<br /><br />Get info on particular folder or file<br /><div class="scode"># svn info<br /># svn info myfile.c</div><br />List folder:<br /><div class="scode"># svn ls -v svn://address/branches/myfolder</div><br />Create new folder on the SVN server, branches folder:<br /><div class="scode"># svn mkdir -m "Make dir ... mesages" svn://address/branches/myfolder</div><br />Copy local folder to SVN server, branches folder:<br /><div class="scode"># svn copy -m "Copy ... messages" myfolder svn://address/branches/myfolder<br />(copy from/to repository)<br /># svn copy -m "Copy ... messages" svn://address/branches/myfolder svn://address/branches/myfolder/myfile.c</div><br />Delete current folder/files:<br /><div class="scode"># svn delete -m "delete ... messages" svn://address/branches/myfolder<br /># svn delete -m "delete ... messages" svn://address/branches/myfolder/myfile.c<br /># svn rm -m "delete ... messages" svn://address/branches/myfolder/myfile.c<br /># svn rm -m "delete ... messages" myfile1.c myfile2.c</div><br />Display log message of the current folder, files<br /><div class="scode"># svn log svn://address/branches/myfolder/<br /># svn log svn://address/myfolder/myfile.c<br />(from working folder/checkout folder)<br /># svn log myfile.c<br /># svn log -r RANGE_NO</div><br />Download current folder,files from SVN repository<br /><div class="scode"># svn export svn://address/branches/myfolder myfolder</div><br />Checkout folder -> Change -> Commit it to SVN repository<br /><div class="scode"># svn checkout svn://address/branches/myfolder ./myfolder<br /># vi myfile.c<br /># svn commit -m "Commit ... messages"</div><br />Examine your changes/Show your modifications<br /><div class="scode"># svn diff myfile.c<br />(between myfile.c and current revision of myfile.c)<br /># svn diff (diff for all files)<br /># svn diff -r 114 (diff between revision 114 and local working folder file)<br /># svn diff -r 114:115 (diff between revisions 114 and 115)</div><br />Examine/display SVN status<br /><div class="scode"># svn status -u (-u, -v : more information)<br /># svn status -u -v</div>BAYARAAhttp://www.blogger.com/profile/08697118399362221457noreply@blogger.com0tag:blogger.com,1999:blog-19640583.post-54939442064987361892007-11-29T13:34:00.000+09:002007-12-03T14:19:30.235+09:00<span style="font-weight: bold; color: rgb(51, 51, 255);">HOW-TO compile the Linux kernel</span><br /><br />There are common three reasons for a recompile a kernel.<br /><br />1. You have some new hardware that your current kernel of linux distributuion could not detect it.<br />(You want to add kernel module of the new hardware)<br />2. You may have come across some kind of bug which is fixed in a revision of the operating system.<br />3. You may have some new software which requires a newer version of the operating system.<br /><br />*****************<br /><em></em>1. We can download the new kernel source and new patches from the Linux kernel archive web site. Web : <a href="http://www.kernel.org/">http://www.kernel.org</a><br /><br />2. Check the current kernel packages:<br /><div class="scode"># rpm -qa | grep kernel*</div>Or<br /><div class="scode"># uname -a</div><br />3. Preparing for Kernel update<br />Before build new kernel, you need to install Qt, Qt-devel and Qt-config which are used "make xconfig". If you do not need to use xconfig, do not to do this step.<br /><div class="scode"># rpm -ivh qt*.rpm</div>or<br />(If you use Redhat distribution, you can use up2date command.)<br /><div class="scode"># up2date qt<br /># up2date qt-config<br /># up2date qt-devel</div><br />To check installed QT packages<br /><div class="scode"># rpm -qa | grep qt<br />qt-devel-xxxx<br />qt-config-xxxx<br />qt-xxxx</div><br />****************<br /><span style="font-weight: bold;">Compile the Linux kernel (from RPM package)</span><br /><br />4. Obtain the kernel source "kernel-.src.rpm" file from one of the following sources:<br />- The SRPMS directory on the appropriate SRPMS CD iso image.<br />- The FTP site where you got the kernel package.<br />- By running the command "up2date" (if you use redhat linux)<br /><br /><div class="scode"># up2date --get-source kernel</div><br />5. Install kernel source (kernel-.src.rpm) using the command "rpm".<br /><div class="scode"># rpm -Uvh kernel-.src.rpm</div><br />This writes the RPM contents into "/usr/src/redhat/SOURCES" and "/usr/src/redhat/SPECS".<br /><br />6. Prepare the kernel sources using the command "rpmbuild".<br /><div class="scode"># cd /usr/src/redhat/SPECS<br /># rpmbuild -bp --target $(arch) kernel-2.6.spec<br /></div>Here :<br />--target $(arch) - current system architecture (exm: i386, etc.)<br /><br />The kernel source tree will be located in the "/usr/src/redhat/BUILD/kernel-" directory.<br />To move the resulting "linux-" directory to the "/usr/src" tree.<br /><div class="scode"># cd /usr/src/redhat/BUILD/<br /># mv linux- /usr/src/<br /># cd /usr/src<br /># ln -s ./linux- linux<br /># cd /usr/src/linux</div><br />7. The configurations for the specific kernels find from the "configs/" directory.<br />For example, the i386 SMP configuration file is named "configs/kernel--i386-smp.config".<br />Issue the following command to place the desired configuration file in the proper place for building:<br /><br /><div class="scode"># cp configs/xxxxx .config</div>We can also find the ".config" file that matches current kernel configuration in the "/lib/modules//build/.config" file.<br /><br />8. Every kernel gets a name based on its version number which displayed the output of command "uname ?r".<br />The kernel name is defined by the first four lines of the kernel Makefile.<br />You have to edit the kernel Makefile.<br />Example, If command "uname -r" returns the string "2.6.9-5", we changed the EXTRAVERSION definition from this:<br /><div class="scode">EXTRAVERSION = -pre<br />to this:<br />EXTRAVERSION = -5_NEW<br /></div><br />9. Change old kernel configuration (.config) to new configuration.<br /><div class="scode"># make oldconfig<br /></div>"oldconfig" which is read the defaults from an existing .config and rewrite necessary links and files.<br />Note that oldconfig will only work within the same major version of the kernel.<br /><div class="scode"># make xconfig<br /></div><br />"xconfig" is an X Window based frontend. It requires the Tcl/Tk, QT development tools and X libraries to work.<br /><br />10. To configure and build the kernel<br /><div class="scode"># make all<br /></div><br />11. Build modules<br /><div class="scode"># make modules_install<br /># make install<br /></div><br />Note: The command "make install", it will create following files in the "/boot" folder and configure the boot loader configuration file.<br /><div class="scode">"vmlinuz-",<br />"initrd-.img",<br />"System.map-"<br /></div><br />****************<br /><span style="font-weight: bold;">Compile the Linux kernel (from TAR package)</span><br /><br />4. Obtain the kernel source "kernel-.tar.gz" file from Linux Kernel archives or other Kernel mirror site.<br /><div class="scode"># wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.13-5.tar.gz<br /></div><br />5. Unpack the kernel source file (kernel-xxx.tar.gz or kernel-xxx.tar.bz2) using the command "tar".<br /><div class="scode"># tar -xvfz kernel-xxx.tar.gz<br /># tar -xvfj kernel-xxx.tar.bz2<br /></div><br />6. To move the result "linux-" directory to the "/usr/src" tree.<br /><div class="scode"># mv linux- /usr/src<br /># cd /usr/src/<br /># ln -s ./linux- linux<br /># cd /usr/src/linux<br /></div><br />7. The configurations for the specific kernels find from the "configs/" directory.<br />For example, the i386 SMP configuration file is named "configs/kernel--i386-smp.config".<br />Issue the following command to place the desired configuration file in the proper place for building:<br /><br /><div class="scode"># cp configs/xxx .config</div>We can also find the ".config" file that matches current kernel configuration in the "/lib/modules//build/.config" file.<br /><br />8. Every kernel gets a name based on its version number which displayed the output of command "uname ?r".<br />The kernel name is defined by the first four lines of the kernel Makefile.<br />You have to edit the kernel Makefile.<br />Example, If command "uname -r" returns the string "2.6.9-5", we changed the EXTRAVERSION definition from this:<br /><div class="scode">EXTRAVERSION = -pre<br />to this:<br />EXTRAVERSION = -5_NEW<br /></div><br />9. Change old kernel configuration (.config) to new configuration.<br /><div class="scode"># make oldconfig<br /></div><br />"oldconfig" which is read the defaults from an existing .config and rewrite necessary links and files.<br />Note that oldconfig will only work within the same major version of the kernel.<br /><div class="scode"># make xconfig</div><br />"xconfig" is an X Window based frontend. It requires the Tcl/Tk, QT development tools and X libraries to work.<br /><br />10. To configure and build the kernel<br /><div class="scode"># make all<br /></div><br />11. Build modules<br /><div class="scode"># make modules_install<br /># make install<br /></div><br />Note: The command "make install", it will create following files in the "/boot" folder and configure the boot loader configuration file.<br /><div class="scode">"vmlinuz-",<br />"initrd-.img",<br />"System.map-"</div><br /><span style="font-weight: bold;">Enjoy youtube video : "How to compile linux kernel"<br /></span><br /><object height="355" width="425"><param name="movie" value="http://www.youtube.com/v/J3L8sLbfCPs&rel=1"><param name="wmode" value="transparent"><embed src="http://www.youtube.com/v/J3L8sLbfCPs&rel=1" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"></embed></object><br />Note: Using this manual, I compiled following Linux distribution/Kernel :<br /><div class="scode">- Redhat 9 , kernel 2.4.20 -> 2.4.20<br />- RHEL 4 , kernel 2.6.9-5 -> 2.6.(10,11,12,13,14,15,16,17)<br />- SUSE Linux 10.0 , kernel 2.6.13 - 2.6.13<br />- Fedora 4/5/6 , kernel 2.6.X -> 2.6.X</div><br>BAYARAAhttp://www.blogger.com/profile/08697118399362221457noreply@blogger.com0tag:blogger.com,1999:blog-19640583.post-58215470436858929142007-11-28T18:43:00.000+09:002007-12-13T15:24:17.027+09:00<strong style="COLOR: rgb(51,51,255)">XINE free video player</strong><br />(GNU and for Linux, FreeBSD, Solaris, Windows, ... ) <br /><br />Линукс үйлдлийн систем дээр нээх асуудал үүсгээд байхгүйгээр суугаад, ажлаад байдаг, бас тэгээд ихэнх видео форматуудыг дэмждэг гайгүй сайн видео тоглуулагчийн нэг бол XINE юм.<br /><br />Web : <a href="http://xinehq.de/">http://xinehq.de/</a><br /><br />1. XINE болон сангуудыг суулгах<br /><div class="scode"># cd xine-lib 1.1.4<br /># ./configure<br /># make<br /># make install </div><br />( skinned xlib-based gui )<br /><div class="scode"># cd xine-ui 0/99.4<br /># ./configure<br /># make<br /># make install</div><br />2. Mozilla Firefox веб хөтлөгчийн XINE plugin "xine-plugin" суулгах:<br /><div class="scode"># cd xine-plugin 1.0<br /># ./configure<br /># make<br /># make install<br /># cp ~/.mozilla/plugins/xineplugin.* /usr/lib/mozilla/plugins/<br /></div>(Note: "/usr/lib/" - зөвхөн миний тохиолдолд)<br /><br />3. Програмыг эхлүүлэх<br /><div class="scode"># xine<br /># xine 'http://URL/sumo.wmv'<br /># xine 'file://file-path/sumo.wmv'<br /># xine 'DVD://VTS_01_1.VOB'<br /></div><br /><center><img alt="XINE media player" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhh3U2MMfvAKkCkaZ8fAl9ATWupf-L-kJjra-dDktmYqHdl84PAhwk4dVxIHUnHziRKCrrByS8-NUhhFQFgCp2p1hKoQ2r1g9ZyMbq5a0sWqLj9LcdnxeW_JjDZiItmbhD9hG_2gQ/s320/sumo-4.jpg" border="0" /></center><br />(Note: Энэхүү суулгах аргыг хэрэглэсэн систем:<br />RHEL4 and SUSE 10.0 linux.)BAYARAAhttp://www.blogger.com/profile/08697118399362221457noreply@blogger.com0tag:blogger.com,1999:blog-19640583.post-1512606387819839532007-11-28T17:36:00.000+09:002008-01-22T16:07:52.154+09:00<strong style="color: rgb(51, 51, 255);">HOW-TO Install Madwifi, Linux device driver for wireless LAN chipsets from Atheros</strong><br /><br />Madwifi is project provides a Linux kernel device driver for Atheros chipset based Wireless LAN device. We have Madwifi-old, Madwifi-ng and official release Madwifi-0.9.x drivers.<br />Web :<br /><a href="http://www.madwifi.org/">http://www.madwifi.org/</a><br /><a href="http://www.madwifi.net/">http://www.madwifi.net/</a><br /><br />-----------------------------------------<br /><em><span style="font-weight: bold;">My system</span> :</em><br /><em>- RHEL 4 with kernel 2.6.9-5 and 2.6.13-5</em><br /><em>- SUSE Linux 10.0 with kernel 2.6.13</em><br /><em>Wireless driver : Madwifi-ng , Madwifi-old , Madwifi-0.9.2</em><br /><em>Wireless device : ATERM WL54AG</em><br />-----------------------------------------<br /><div class="scode"><span style="font-weight: bold;">Зайлшгүй шаардагдах нөхцөл</span>:<br />- GCC compiler collection<br />- Ашиглаж буй системийн цөм (kernel)-ийн эх код ("source -> /usr/src/linux-XXXXX" байдлаар холбоос үүссэн байх.)<br />- Ашиглаж буй системийн цөмд "Wireless Extensions" дэмжигдсэн байх.</div><br />1. Download the Madwifi wireless driverCheckout current Madwifi driver (madwifi-ng) from madwifi.org with subversion<br /><div class="scode"># cd /usr/local/src<br /># svn list <a href="http://svn.madwifi.org/trunk">http://svn.madwifi.org/trunk</a><br /># svn checkout <a href="http://svn.madwifi.org/trunk">http://svn.madwifi.org/trunk</a> madwifi-0.9.2<br />or<br /># svn checkout <a href="http://svn.madwifi.org/branches/madwifi-old">http://svn.madwifi.org/branches/madwifi-old</a><br /></div><br />2. Compile Madwifi driver<br /><div class="scode"># cd madwifi-ng<br /># make<br /># make install</div><br />3. After compile, Madwifi drivers are loaded at: /lib/modules/`uname -r`/net<br /><div class="scode"># ls -ls /lib/modules/`uname -r`/net<br />ath_hal.ko<br />ath_pci.ko<br />ath_rate_sample.ko<br />wlan_acl.ko<br />wlan_ccmp.ko<br />wlan.ko<br />wlan_scan_ap.ko<br />wlan_scan_sta.ko<br />wlan_tkip.ko<br />wlan_wep.ko<br />wlan_xauth.ko</div><br />4. Installing Madwifi modules<br />We need to use the countrycode option (exm: Japan = 392) when loading the madwifi driver.<br /><div class="scode"># modprobe ath_pci countrycode=392<br /># lsmod<br />. . . . . . . . .<br />ath_pci 110628 0<br />ath_rate_sample 13056 1 ath_pci<br />wlan 199004 6 wlan_scan_sta,ath_pci,ath_rate_sample<br />ath_hal 189008 5 ath_pci,ath_rate_sample<br />. . . . . . . . .</div><br />5. To make this happen during boot, add the following to modprobe config file “/etc/modprobe.conf”.<br /><div class="scode">options ath_pci countrycode=392 (Japan:392)</div><br />6. Configuring device (athX) interface<br /><div class="scode">- Wireless network interface name : "ath0"<br />- Operation mode = master/station/adhoc<br />- Channel = between 1 and 14<br />- ESSID = "TEST"</div><br />- Destroy madwifi device which detected automaticly<br /><div class="scode"># wlanconfig ath0 destroy </div><br />- Create new madwifi-ng driver<br /><div class="scode"># wlanconfig ath0 create wlandev wifi0 wlanmode ap </div><br />- ESSID , channel, ... setup<br /><div class="scode"># iwconfig ath0 essid CAP11 channel 3 </div><br />- Network IP, Netmask, ... setup<br /><div class="scode"># ifconfig ath0 192.168.61.1 broadcast 192.168.61.255 netmask 255.255.255.0 up</div><br />7. Display wireless network Interface configuration<br /><br />Display network interface configuration<br /><div class="scode"># ifconfig ath0 </div><br />Display wireless network interface configuration<br /><div class="scode"># iwconfig ath0 </div><br />8. Some usefull commands to display wireless information<br /><div class="scode"># cardctl ident<br />Socket 0:product info: "NEC AccessTechnica, Ltd.", "AtermWL54AG(PA-WL/54AG)", "1.0", " "manfid: 0x0010, 0x0012function: 6 (network)<br /><br /># lspci<br />...........<br />05:02.0 CardBus bridge: Ricoh Co Ltd RL5c475 (rev 80)06:00.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)<br /></div>BAYARAAhttp://www.blogger.com/profile/08697118399362221457noreply@blogger.com0tag:blogger.com,1999:blog-19640583.post-59273315417320938362007-11-28T17:18:00.000+09:002007-12-03T14:21:03.158+09:00<p style="color: rgb(51, 51, 255);"><strong>HOW-TO Install Host AP driver for Intersil Prism2/2.5/3</strong></p><p>Host AP is a Linux driver for Intersil Prism 2/2.5/3 chipset based wireless network card. More information and current version of Host AP driver and hostap-utils can be acquiring following site: <a href="http://hostap.epitest.fi/">http://hostap.epitest.fi/</a></p><p>------------------------------------<br /><em>My system :<br />- RHEL 4 with kernel 2.6.9-5 and 2.6.13-5<br />- SUSE Linux 10.0 with kernel 2.6.13<br />Wireless driver : Hostap-driver-0.4.7.tar.gz<br />Hostap-Util : Hostap-utils-0.4.7.tar.gz<br />Wireless card : PLANEX GW-CF11X<br /></em>------------------------------------<br /><br />1. Building Host AP driver.<br /></p><div class="scode"># tar -zxvf hostap-driver-0.4.7.tar.gz<br /># cd hostap-driver-0.4.7<br /></div><br />We have to change Makefile before compile Host AP driver. Edit the kernel path “KERNEL_PATH” in Makefile to math current system. Our case, we compiled kernel from the path “/usr/src/linux (KERNEL_PATH=/usr/src/linux).<br /><div class="scode"># make<br /># make install<br /></div><br />2. Add hostap modules to kernel.<br /><div class="scode"># modprobe hostap_pci<br />or<br /># modprobe hostap<br /># modprobe hostap_cs<br /></div><br />3. Check the kernel modules list.<br /><div class="scode"># lsmod grep hostap<br />hostap_pci 67609 0<br />hostap 121096 1 hostap_pci<br />or<br /># lsmod grep hostap<br />hostap_cs 75288 3<br />hostap 141192 1 hostap_cs<br />pcmcia 42548 9 hostap_cs<br /></div><br />4. After load the Host AP modules, we need to add wireless network PCMCIA card model information into config file (/etc/pcmcia/hostap_cs.conf). Identify the current plugged wireless card.<br /><div class="scode"># cardctl ident<br />Socket 0: product info: "PLANEX COMMUNICATIONS INC.", "PLANEX GW-CF11X Wireless CF Card", "", ""<br />manfid: 0xd601, 0x0010<br />function: 6 (network)<br /></div><br />5. Add following string into config file "/etc/pcmcia/hostap_cs.conf".<br /><div class="scode">card "PLANEX GW-CF11X Wireless CF Card"<br />manfid 0xd601, 0x0010<br />bind "hostap_cs"<br /></div><br />6. Installing Hostap-utils<br />Unpack the package and run the “make all” to build Hostap-utils.<br /><div class="scode"># tar -zxvf hostap-utils-0.4.7.tar.gz<br /># cd hostap-utils-0.4.7<br /># make all<br /></div><br />Copy following files to "/usr/bin" folder after built Hostap-utils.<br /><div class="scode">- hostap_crypt_conf<br />- hostap_diag<br />- hostap_fw_load<br />- hostap_io_debug<br />- hostap_rid<br />- prism2_param<br /></div><br />7. Check the wireless card<br /><div class="scode"># iwconfig wlan0<br /><br />Wifi0 IEEE 802.11b ESSID:""<br />Mode: Managed . . . . . .<br /><br />wlan0 IEEE 802.11b ESSID:""<br />Mode: Managed . . . . .<br /></div><p></p><p>8. THE END</p>BAYARAAhttp://www.blogger.com/profile/08697118399362221457noreply@blogger.com0tag:blogger.com,1999:blog-19640583.post-25698707349768303892007-11-28T17:00:00.000+09:002007-12-03T14:21:17.856+09:00<strong style="font-weight: bold; color: rgb(51, 51, 255);">HOW-TO install Orinoco wireless driver</strong><br /><br />The Linux Orinoco Driver supports a wide range of wireless network interface cards implementing 802.11b standard.<br /><br />---------------------------------------------<br /><em>My system :<br />- Redhat 9 Linux with kernel 2.4.20<br />- Wireless card :“BUFFALO WLI-CF-S11G”.</em><br />---------------------------------------------<br /><br />1. Download and compile "orinoco" wireless PCMCIA card driver.<br />Download site : <a href="http://sourceforge.net/projects/orinoco">http://sourceforge.net/projects/orinoco</a><br /><br /><div class="scode"># tar xvfz orinoco-0.15rc2.tar.gz<br /># cd orinoco-0.15rc2<br /># make all<br /># make install<br /><br /># /etc/init.d/pcmcia restart</div><br />2. Check the card type.<br /><div class="scode"># cardctl ident<br />Socket 0: product info: "BUFFALO", "WLI-CF-S11G", "", ""<br />manfid: 0x026f, 0x030b<br />function: 6 (network)</div><br />3. Add following string inside the config file "/etc/pcmcia/config".<br /><div class="scode">card "Buffalo WLI-CF-S11G"<br />manfid 0x026f, 0x030b<br />bind "orinoco_cs"</div><br />4. Restart PCMCIA<br /><div class="scode"># /etc/init.d/pcmcia restart</div><br />5. Check the list of installed modules, command : "lsmod" You can see module column "orinoco*"<br /><div class="scode"># lsmod<br />....<br />orinoco_cs .........<br /></div><br />6. THE ENDBAYARAAhttp://www.blogger.com/profile/08697118399362221457noreply@blogger.com1