Wednesday, June 26, 2013

Линукс системээс Exchange имэйл ашиглах нь

Ажлын компьютерүүдийг Windows Domain Controller-т Линукс системээ холбох шаардлага гарав. Domain controller ч яахав линукс системийг холбоод байх нэг их чухал шаардлага гарсангүй, гол нь мэйл сервер нь MS Exchange server байгаа тул imap, smtp зэрэг tcp, socket сервис хаалттай (нууцлалт, хамгаалалтын шаардлагаас болж) болохоор Exchange серверийн OWA, EWS зэрэг http/web service дээр ажилладаг болох хэрэгтэй боллоо.  Олон жил ашиглаж байгаа thunderbird-оо солихыг огт хүссэнгүй, буцаад Windows руу шилжих шаардлага бүр ч байхгүй.


Тиймээс эхлээд имэйлээ тохирууллаа:

Хувилбар 1. ExQuilla addon for Thunderbird email client
Хэрвээ Exchange сервер EWS дэмжиж байгаа бол ExQuilla addon-г нэмж суулгаад л, домэйн дэхь username, domain name зэргийг оруулаад л хялбархан болчихно. Интернэтээр дүүрэн бэлэн заавар бий. EWS нь Exchange Web Service буюу бусад программ хэрэгсэлтэй харилцах soap/rpc хэлбэрийн протокол тул иймэрхүү өөр олон хэрэгсэл нэлээд олон бий байх.

Хувилбар 2. DavMail email gateway ашиглах
Манай байгууллагын систем админ EWS -г хааж орхисон тул OWA буюу Outlook Web Access гэдэг Outlook-ын веб хандалтыг нь ашиглах аргыг туршиж үзэв. Нээлттэй эхийн дэмжигчид OWA хандалтаар ашиглаж болдог DavMail гээд gateway хэрэгсэл хийсэн байнаа. Standalone сервер байдлаар олуулаа дундаа ашиглах, эсвэл Desktop/Workstation буюу хувьдаа өөрийн локаль машин дээрээ ажилуулах боломжтой, ажиллагааны зарчим нь Exchange сервер руу OWA хандалтаар нь имэйл, календарь, contact list мэдээллүүдийг веб хандалтаар нь авч local imap, pop, smtp зэрэг уламжлалт имэйл серверийг үүсгэнэ, түүн руу нь thunderbird зэрэг имэйл клиент ашиглаж хандана.
Миний хувьд standalone сервер үүсгэж ашиглав. Уул нь debian package хэлбэрээр desktop байдлаар суулгасан боловч ubuntu 13.04 систем дээр unity -гийн system tray -г patch хийж davmail icon-г харагдуулдаг болгох шаардлага гардаг юм байна. Patch хийгээд нэлээд үзсэн ч болсонгүй. (Canonical компани Ubuntu -г улам бүр нээлттэй биш болгоод байгаа бололтой)

Олон ажилтантай байгууллагууд windows domain controller ашиглаж policy, rule ашиглаж мэдээллийн системийг зохион байгуулдаг ч үүнтэй адил үүрэгтэй нээлттэй эхийн хэрэгсэл мэдээж бий. Гэхдээ нэгэнт ашиглаад эхлэчихсэн системд иймэрхүү байдлаар зохицохоос өөр яахав (Иймэрхүү жижиг хэмжээний technical зааврыг товч буулгаад ингээд тэмдэглээд явж байх нь сүүлд асууж сурагласан хүмүүст шууд ороод уншчих гээд хэлж өгөхөд амар байдаг юм ;)


цааш унших...

Friday, May 10, 2013

System-Wide PulseAudio Equalizer in Ubuntu Linux

Өдөржин код балбаж суухад мэдээж чихэвчээ зүүдэг л байж таараа, тэгээд янз бүрийн хөгжим  (тэр дундаа youtube-ээс өөрийн түүж цуглуулсан playlist) сонсож суухад системийн бүхий л дуугаралтын өнгө аясыг тааруулдаг equalizer хэрэгтэй байдаг.


Тэгвэл Ubuntu Linux 12.04, 12.10, 13.04 хувилбарууд дээр дараах байдлаар хялбархан суулгачих боломжтой:

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install pulseaudio-equalizer

Жич: Энэ жижиг программ нь удаан хугацаагаар хөгжүүлэлт хийлгүй орхигдсон байж магадгүй юм, тиймээс янз бүрийн нөүтбүүк, компьютер дээр алдаа мадаг гарч болзошгүйг анхааруулж байна. Миний Thinkpad T520, Ubuntu 13.04 amd64 систем дээр лав асуудал алга.



цааш унших...

Tuesday, January 08, 2013

Univision Anywhere системийг анх бүтээсэн нь

Завгүй ажиллаж байхад цаг хугацаа нэг л мэдэхэд урсаад өнгөрчих юм. Яг нэг жилийн өмнө Юнивишн компанид ажиллаж эхлэсний анхны том төсөл болох Univision Anywhere TV бүтээгдэхүүн үйлчилгээний системийг босгож байсан саяхан л юм шиг санагдана. Тэр үеийн дурсамжаа жоохон сөхмөөр санагдаад...



Системийг программчлалын хувьд үндсэндээ манай төслийн баг болох гурван мэргэжилтэн гардаж босгосон. Android/iOS app-ын кодыг Тэмүүлэн, харин tv.univision.mn буюу хэрэглэгчдэд харагдах web front-end болон service web back-end буюу арын төлбөр тооцоо, хэрэглэгчдийн database зэргийн кодыг би эхлүүлж цааш нь Жарантай үргэлжлүүлж гүйцэт дуусгасан ба streaming server, transrating scheduled job task гэх мэт сервер дээрх системийг би хийсэн гээд ер нь сар гаруйн хугацаанд анхны хувилбарыг хийж дуусгасан юм байна шүү. Нэрний хувьд Univision Anywhere гэсэн захиралын санааг бүгд дэмжснээр ийм нэртэй болов.


Гадны vendor, supplier компаниудаас бэлэн шийдэл аваад нэвтрүүлэх боломж байсан ч, гол нь нэлээдгүй цаг хугацаа алдах гээд байснаас өөрсдийн техникийн нөөц бололцоог ашиглаад хурдан хугацаанд in-house development буюу өөрсдийн шийдэлээ боловсруулж, өөрсдөө системээ бүтээхээр шуудрав. Үнэндээ ч хийж чадна гэдэгтээ өөртөө болон хамтрагчиддаа 100% итгэлтэй байсан юм. Түүгээрээ ч болсон. Уг системээ анх босгохдоо бараг ихэнхийг нээлттэй эх код бүхий программ, хэрэгслийг ашигласан л даа.

Эхлээд нийтдээ монголын дотоодын 30 гаруй тв сувгийн шууд эфирийг RTSP, RTMP, HLS streaming protocol-оор дамжуулж tv.univision.mn сайтаар үзэх боломжтой байсаныг 1 сарын 4нд анх гар утас таблетэд зориулсан өргөтгөл болох android 1.0 хувилбараа Android Market (GooglePlay) болон GoGo Apps руу оруулж амжлаа. Гэхдээ нийтэд зарлалгүйгээр зөвхөн байгууллага дотроо тест хийж байлаа.

Эхний удаад ТВ сувгуудыг single profile буюу зөвхөн нэг л дэлгэцэд зориулсан байдлаар 240p чанартайгаар гаргаж байсан ба дараа нь multiprofile stream буюу жижиг (iPhone), дунд (iPad), том (Web/PC) дэлгэцүүдэд зориулсан 240p, 360p, 480p чанартай Adaptive Bit-rate HLS болгож өргөжүүлсэн юм.


Хийж турших зүйлс их байсан тул ажил дээрээ байнга л оройтдог байв. (Нээрээ, манай санхүүгийн албаныхан ч бас тэр үед бас их оройтдог байсан юм даг) Юуны түрүүнд "түүхий эд" болох IPTV Head-end-ээс гарч буй multicast stream source гаралтуудыг 240p чанартайгаар RTSP, RTMP, HLS зэрэг протокол руу болгож transrate хийх хэрэгтэй байсан тул Ubuntu Linux 64bit системийг software transcoder болгохоор ffmpeg, vlc, mencoder зэрэг multimedia сан хэрэгсэлээр тоноглоод ТВ сувгуудыг Darwin Streaming server руу дамжуулж туршсан нь амжилттай болов. Ер нь Helix, Darwin, Peercast, Red5 гээд олон streaming server solution-уудтай ажиллаж байсны туршлага тэгэхэд үнэхээр их хэрэг болсон л доо.
Туршилтын системээ Ubuntu Linux дээр libvirtd ашиглаж kvm virtual host үүсгэж ашиглаж байсан ба physical NIC interface-ыг bridge үүсгэж virtual host -руу share хийгээд 224.0.0.0/4 route нэмснээр multicast stream source-ыг чөлөөтэй ашиглаж болж байлаа.

Дээрх хэсэг дээр ажиллаж байх хугацаанд зэрэгцээд tv.univision.mn үндсэн веб болон web tv хувилбарын ажлыг Жарантай явуулж байлаа. Бүтээгдэхүүн үйлчилгээний нөхцөлийн жоохон хоцорч гарсан тул нээлт хийх хүртэлх үлдсэн цөөхөн хэдэн хоногт тэдгээр нөхцөлд тааруулж программчлах ажлыг их шахуу хугацаанд яаравчлан дуусгаж амжсан. Анх тв сувгуудыг нэг нэгээр нь сонгож авч болдог байсныг санаж буй биз ээ.

  

Мөн үлдсэн бас нэг гол ажил болох Android, iOS төхөөрөмжийн хувилбарыг Тэмүүлэн хийж эхлэв. Ингэхдээ Android SDK, iOS SDK ашиглалгүйгээр PhoneGap, Titanium зэрэг framework ашиглаад гар утас, таблетэд зориулсан аппыг богино хугацаанд гаргаж чадсан юм. iOS хувилбарыг гаргахад Android Market-тэй харьцуулахад AppStore дээр апп оруулахад нэлээд шалгуурыг даван туулах шаардлага гарсан ба аппын үг үсэг, код коммент нэг бүрийг нарийн шалгадаг гэхэд хилсдэхгүй. Гэхдээ л iOS хувилбар маань амжилттай гарсан юм. Мөн энэ хугацаанд iPhone, iPad-ын хувилбарыг хэрэглэгчид "шаргуу" нэхсэн тул tv.univision.mn/ios гэсэн html5 хуудасыг хийхэд хүрч байлаа шүү :)

гэх мэтчилэн олон олон саад, бэрхшээл шантралгүй шаргуу хичээсний эцэст уг үйлчилгээ Монголд анх удаа* бий болж хэрэглэгчдийн гарт хүрсэний нэг сайхан дурсамж мэдээллийн технологийн хэллэгээр бичвэл нэг иймэрхүү байна.

Хийж бүтээх хэцүү ч гэлээ, эцэст нь хүнд хэрэгтэй олны таашаалд хүрсэн бүтээгдэхүүн үйлчилгээ гаргаад магтаал шүүмжлэл сонсч суух нэг тийм сайхан байдаг шүү дээ. 
Чин сэтгэлийн магтаал хүнд урам эрч хүч өгч, шүүмжлэл урам зоригийг илүү хурцалж өгдөг.
Хийх хүн аргаа олно, хийхгүй хүн шалтаг олно ч гэдэг түүнтэй адил монгол инженерүүдийн чадвар муу бишээ, тэдэнд зөвхөн боломж л олго.


цааш унших...

Wednesday, June 29, 2011

extundelete tool - Undeleting files from ext3, ext4 partitions

Гарчигийг уншаад хоо гэж дуу алдав уу? Өмнө нь ext3, ext4 файл систем дээр файл нэгэнт устсан л бол дуусаа гэж боддог байлаа. Харин саяхан нэг линукс блогоос сэргээдэг тухай уншаад туршиж үзлээ. Хэд хэдэн файл устгаад буцаагаад сэргээхэд чадаж байна шүү.


Суулгахын хувьд тун амархан:
эндээс эх кодыг татаж аваад задлаад, хөрвүүлээд, суулгана.

sudo apt-get install e2fslibs e2fslibs-dev
tar -xjf extundelete-0.2.0.tar.bz2

cd extundelete-0.2.0
./configure
make
sudo make install

Устсан файл болон хавтасыг сэргээх:
Хатуу дискны /dev/sda3 тасалгааг /home гэж систем холбоотой байсан ба түүний /home/erkhemee/important_file файл устсан байсныг сэргээе гэвэл, 

extundelete /dev/sda3 --restore-file erkhemee/important/file

Хавтасыг бүхлээр нь сэргээх бол,

extundelete /dev/sda3 --restore-directory erkhemee/important

Бүх устсан файлыг сэргээх бол,

extundelete /dev/sda3 --restore-all

гэх мэт. Уг программын хөгжүүлэгчид устгсан файл яг баттай сэргэх эсэхэд баталгаа өгч чадахгүй гэсэн байсан. Гэхдээ л устаад удаагүй юм уу, дискны тухайн сектор хэсэгт шинэ өгөгдөл бичигдээгүй бол сэргэх магадлал өндөртэй байна байх.


цааш унших...

Friday, February 11, 2011

Терминал дээр хогийн сав ашиглах жижиг зөвлөгөө

Анхлан суралцагчид хэрэгцээт файлаа санамсаргүй устгасныхаа дараа яаж сэргээх вэ гэж асууцгаадаг. ext3, ext4 файл систем дээр устгагдсан файл, хавтас сэргэхгүй!!!
Тиймээс энэ эрсдлийг багасгахын тулд энэ жижигхэн зөвлөгөө тус болж магад.

nano ~/.bashrc
гэх мэт дурын текст файл засварлагчаар энэ файлыг нээгээд доод хэсэгт дараах мөрийг нэм:

$alias trash="mv -t ~/.local/share/Trash/files --backup=t"

өөрөөр хэлбэл trash гэсэн шинэ комманд бий болгох ба энэ нь тухайн заагдсан файлуудыг шууд устгалгүйгээр хогийн сав руу зөөчихөж байгаа. Тиймээс санамсаргүй буруу файлаа устгасан бол буцааж сэргээхэд асуудалгүй. Файлаа бүр мөсөн устгах бол хогийн саваа нэг нягтлаж харчихаад хоослочиход л хангалттай.

Одоо бид шууд устгах файлаа бол rm file1 file2 гэх мэт хуучин аргаар устгах ба харин өдөр тутмын хэрэглээндээ trash file1 file2 гэх мэтээр шинэ дадалаа хэвшүүлэх хэрэгтэй.

Нэмэлт: Зарим хэрэглэгчид /bin/rm тушаалын нэрийг өөрчлөөд $alias rm="mv -t ~/.local/share/Trash/files --backup=t" гэж alias үүсгэсэн нь ч байдаг.

Дээр нь амьдрал ахуйдаа ч тэр хогийн сав хэрэглэж байгаарай. Намайг нэг удаа хогоо цаасанд боогоод халааслаад явж байсныг нэг танил маань яагаад шууд хаячихдаггүйг их л гайхаж байсан шүү, хогийн сав таарангуут хаях гэж аминдаа хичээж буй нь тэр юм. :) Манайхан дунд машины цонхоор ундааныхаа саваа, байрны цонхоор шилээ шидэх муухай хүмүүс их байдаг шүү!


цааш унших...

Tuesday, January 18, 2011

Та өөрөө Dropbox сервер хийж чадна

Сүүлийн үед Dropbox газар авч байх шиг байна. Мэдээгүй хүмүүст товч тайлбарлахад өөрийн файлаа нэтэд хадгалаад, хүссэн үедээ гар утас, компьютераасаа гэрээсээ, ажлаасаа хандаж ажиллах file share гэж ойлгож болно. Нэг үгээр хэлбэл онлайн файл банк :D
Гэхдээ Dropbox үнэгүй 2Gb зай олгоод нэмэлт талбар хэрэгтэй бол худалдаж авдаг тул манайхан хэрэглэхэд бас хэцүү.
Тэгвэл та нээлттэй эх (linux, openssh-server, rsync, inotify, lsyncd) ашиглаад үүнтэй адил онлайн үйлчилгээг өөрөө ч хийж чадна. Эндээс уншаарай, орчуулах гэснээ түвэгшээв :D Dropbox шиг болгоё гэвэл багахан GUI программ, хэрэглэгч төлбөрийн веб систем хийж холбох болно. Амжилт!


цааш унших...

Thursday, November 25, 2010

Interactive map of GNU/Linux OS and FOSS

Мөн түрүүчийн адил Линукс ГНУ хэрэгсэл, ПХ агуулсан интерактив зураг


Эх сурвалж: http://www.makelinux.net/system/ 
http://www.makelinux.net/system/new


цааш унших...

Линукс цөмийн интерактив зураг


Нээлттэй Эх бүхий ПХ хөгжүүлэгч, Линукс сонирхогч, суралцагч нарт уг системийн цөмийн бүтцийг харуулсан нэгэн сонирхолтой төслийг танилцуулая. Цөмийн бүтцийг үндсэн функцууд, санах ой, процесс, модуль гээд их ойлгомжтой, эвтэйхнээр харуулсан энэ зургийг томруулж, жижигсгэж харах боломжтой ба тухайн хэсгийн холбоосоор дамжин холбогдох мэдээллийг унших болно.


Эх сурвалж: http://www.makelinux.net/kernel_map


цааш унших...

Thursday, March 05, 2009

Ubuntu Install over Network

Өнөөдөр хүний P4 laptop дээр бөөн вирус болсон XP Pro -тэй Dual Boot-ээр Ubuntu суулгах хэрэг гарлаа. :) Гэтэл DVD Rom нь зөвхөн DVD уншдаг, CD уншдаггүй юм байна. За тэгээд инсталл iso шарчих DVD байсангүй, usb флэйшээс бүүт хийхгүй, floppy drive ч байхгүй тул интернэтээс инсталлдахаар шийдэв.

Суулгах ерөнхий зарчим нь XP SP2 дээр нь grub for Dos суулгаад сүлжээгээр суулгах зориулалттай initrd.gz, linux цөм татаж авч суулгаад бүүт хийнэ. Интернэт холболт хурдан бол нэг их асуудалгүй суучихна.

1. Partition resize
ntfs төрлийн C, D гэж хоёр тасалгаа/partition -тай нэг л ATA хатуу диск байна. 50Gb хэмжээтэй D тасалгааны хэмжээг Acronis Disk Director 10 програм ашиглаж 7Gb сул зай үүсгэв. Энэ нь Үбүнтү суулгах явцад хүний хэрэгтэй өгөгдөлийг андуурч, эндүүрээд устгачихгүй гэсэн ихээхэн болгоомжлол л доо. Түүнээс Үбүнтү суулгацын явцад дискны тасалгааны хэмжээг өөрчилж болно.

2. Install initrd.gz, linux
C:\boot гэсэн хавтас үүсгэнэ. initrd.gz, linux гэсэн 2 файлыг http://archive.ubuntu.com/ubuntu/dists/gutsy/main/installer-i386/current/images/netboot/ubuntu-installer/i386/
юм уу
http://mn.archive.ubuntu.com/ubuntu/dists/intrepid/main/installer-i386/current/images/netboot/ubuntu-installer/i386/
хаягаас татаж авч өмнө үүсгэсэн C:\boot хавтас дотор хуулна.

3. Install Grub for Dos
http://sarovar.org/download.php/672/grub_for_dos-0.4.1pre22.tar.gz
хаяг дээрээс татаж аваад D:\ дээр хадгалав. Уг архив дотроос grldr файлыг C:\ руу задгай хуулна. Өмнөх C:\boot хавтас дотор дахиад grub гэсэн хавтас үүсгэнэ. grub_for_doc-xxx.tar.gz гэсэн татаж авсан архив дотроос menu.lst файлыг C:\boot\grub хавтас дотор задлана.
C:\boot.ini файлыг notepad-ээр нээгээд c:\grldr="Install Ubuntu" гэсэн мөрийг хамгийн доор нь нэмж бичээд хадгална.

C:\boot\grub\menu.lst файлыг мөн notepad -ээр нээгээ

title Install Ubuntu over Network
kernel (hd0,0)/boot/linux vga=normal ramdisk_size=14972 root=/dev/rd/0 rw --
initrd (hd0,0)/boot/initrd.gz
гэсэн мөрийг хамгийн эхэнд нэмж өгнө.
Ингээд одоо Цонх системээ дахин ачаалахад бүүт цэс дотор Install Ubuntu гэсэн сонголт харагдана, сонгоод дарангуут grub ачаалагдах ба хамгийн эхэнд Install Ubuntu over Network гэсэн сонголт харагдана. Ингээд цаашаа тект горимд Үбүнтүг суулгах явц харагдана. Суулгах явц нь таны интернэт хурдаас хамаарна. 512Кб холболтой минийх лав 2 цаг орчим болоод сууж дуусаж байна лээ.

Ашигласан материал:

https://help.ubuntu.com/community/Installation/FromWindows
https://help.ubuntu.com/community/Installation/SystemRequirements


цааш унших...

Tuesday, March 03, 2009

Debian Etch to Lenny update

Хэрвээ та Дебиан 4.0 сервер ашиглаж байсан ба сая шинэ гарсан 5.0 хувилбар руу шинэчлэх бол дараах товч зааварын дагуу хийгээрэй.

1. Backup
Юуны өмнө одоо байгаа 4.0 серверийнхээ хэрэгцээт, чухал зүйлсээ хуулж, нөөцлөж авах хэрэгтэй болно. Таны сервер дээр ямар сервис ажилладагаас хамаараад /home, /var, /etc гэх мэт аль хэсгээ хадгалж авахаа та мэднэ бизээ.

2. Etch Update
4.0 хувилбарын шинэчлэлт, нөхөөсүүдийг татаж авч суулгана:
# apt-get update
# apt-get upgrad

Ингээд хэрвээ шинэ кернел суусан бол системийг дахин ачаалана:

# reboot

3. Backup /etc/apt/sources.list
4.0 хувилбарын repository файлыг нөөцлөж авна:

# cp /etc/apt/sources.list /etc/apt/sources.list.etch


Ингээд 5.0 хувилбарын repository хаягуудыг оруулна:

# vi /etc/apt/sources.list


# Main
deb http://ftp.ru.debian.org/debian lenny main contrib non-free
deb-src http://ftp.ru.debian.org/debian lenny main contrib non-free

# Security
deb http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ lenny/updates main contrib non-free
4. Upgrade Debian to from 4.0 to 5.0
Одоо package management tool-ыг шинэчлэх хэрэгтэй:

# aptitude update
# aptitude update apt aptitude

Ингээд шинэ хувилбарыг суулгаж эхлүүлнэ:

# aptitude dist-upgrade

Энэ нь интернэтийн тань хурдаас шалтгаалж удаж магадгүй.

5. Verify new system
Системийнхээ цөмийн хувилбарыг харах:

# uname -a

Гаралт нь:

Linux debian.localserv 2.6.26-1-amd64 #1 SMP Sun Mar 01 17:57:00 UTC 2009 x86_64 GNU/Linux


Дэбиан хувилбарыг шалгах:

# cat /etc/debian_version

Гаралт нь:
5.0
Лог файлуудыг шалгах:

# egrep -i 'err|warn' /var/log/dmesg
# egrep -i 'err|warn' /var/log/messages
# tail -f /var/log/dmesg
# tail -f /path/to/other/apps/log

Ажиллаж буй сервисүүд болон нээлттэй портуудыг харах:

# netstat -tulpn
# rcconf

Firewall тохиргоог харах:

# iptables -L -n
# ip6tables -L -n


Ашигласан материал:
http://www.cyberciti.biz/tips/howto-upgrade-debian-linux-4etch-to-5lenny-server.html


цааш унших...

Ubuntu Pocket Guide & Reference

Үбүнтү линукс хэрэгчдэд зориулаад гарын авлага гарчээ.

www.ubuntupocketguide.com сайтаас pdf форматтайг үнэгүйгээр татаж авч болох ба хэвлэмэл хэлбэрээр авах бол амазон комоос авч болох юм байна.

Татаж авах холбоос: http://www.ubuntupocketguide.com/download/ubuntupocketguide-v1-1.zip
Current release: ubuntupocketguide-v1-1.zip
md5sum: 0b4fa10a6f4995b3e2f729454c1462b6
Filesize: 2064348 bytes (2MB)

Мөн Үбүнтү Линукс дээр элдэв чимэглэл, tuning эдэр хийх зөндөө зөвлөгөөг багтаасан Ubuntu Kung Fu номыг эндээс татаж аваарай


цааш унших...

Monday, March 02, 2009

Нээлттэй эхийн ертөнц рүү нүүцгээе!

Миний бие бээр 81 онц төмөр тахиа жил төрөөд 89 оны үед анхлан цахим тооцоолуур буюу ТЭМ гэдэгтэй Монел 80286 компьютертэй танилцаж эхлэснээс хойш өдгөө MS-DOS, Novell Netware, Windows 9x, Me, NT, 2k, XP, Vista, Linux, FreeBSD гээд олон үйлдлийн системүүдийг урт, удаан янз бүрийн хугацаанд хэрэглэж үзжээ.

2005 онд хулгайн Windows XP ашиглахаа болиод SuSE Linux руу нэг хэсэг шилжиж үзсэн юм. Гэвч тухайн үед веб хөгжүүлэх тухтай IDE болон win32 app хөгжүүлэхэд ашигладаг VC#.net зэргийг байнга ашиглах хэрэгцээ, wine програм тийм ч сайн зүгширээгүй байсан зэрэг шалтгаануудаас Цонх системдээ үлдсэн л дээ.

Харин саяхан Ubuntu Intrepid Ibex буюу 8.10 Desktop Linux хувилбарыг суулгаад өөрийн хэрэглэдэг програм хэрэгслүүдээ нүүлгэж туршин, мөн заримийг нь нээлттэй эхийн програмуудаар сольж хэрэглэж үзээд уг үнэ төлбөргүй, нээлттэй эхийн систем рүү эргэлт буцалттгүйгээр нүүчихлээ. ;)

Учир нь юу гэвэл олон шалтгаанууд байна:
1. Эрх чөлөөг мэдрэх үүднээс
Сүүлийн үед урбан хөгжим сонсож эрх чөлөөг мэдрэгтүн гээд нэг транс электро хөгжмийг сурталчилсан шум яваад байгаатай адилаар Нээлттэй эх, чөлөөт программ хангамжуудийг ашиглаж, хэрэглэж мөн нээлттэй эх бүхий бүтээл систем боловсруулж ашиглах зорилгийн улмаас энэ Линукс системд гэрээ засаж байгаа юм л даа. Өмнө нь бид сервертээ *nix систем ашиглаж байсан ч яг өөрсдийн development desktop workstation/laptop-доо ашигладаггүй байлаа. Одоо бол өөр... Шинэ үеийн монгол залуус эрх чөлөөт Линукс системийг сонгож байна.

2. Програм хангамжийг хулгайгаар ашиглаж ханалаа.
Бусад монголчуудынхаа л адилаар Цонхнууд системийг 95 байхаас эхлээд бүгдийг л крэйкдэж, хулхидаж суулган ашиглаж өнөөг хүргэлээ. Гэвч энэ нь нэг талаас цэвэр оюуны хулгай, дээр нь энэ хэвээр бид үргэлжлээд яваад байвал Монголын Мэдээллийн Технологийн хөгжил юу болж дуусах талаар Бадралын энд бичсэнтэй адил санаа бодол нэгтэй байгаа учраас ямар ч үнэ төлбөргүй, нээлттэй эхийн програмууд ашиглаад байж болно гэдгийг харуулах үүднээс...

3. Вирус гэж бөөн там
Миний хувьд ч эрх биш программист мэргэжилтэйнх вирустээд алингаа алдаад байдаггүй ч сүүлийн үед хаана ч, ямар ч газар очсон бөөн вирустэж, гацаж, тагларч бөглөрсөн Windows-үүд, тэрэндээ түүртсэн ажилтанууд, хүмүүс л байх болж. Линукс маань энэ зовлонгоос асар хол, ажиллагаа нь ч хурдан, цэвэрхэн ...

Гэхдээ бас цонх системээс тийм амар салчихгүй бололтой. Photoshop, MS Visual Studio .NET гээд хааяа хэрэглэдэг зүйлсийг маань яг орлочих нээлттэй эхийн бүтээгдэхүүн байхгүй учир (уул нь GIMP, Mono .NET гээд байгаа ч хөгжил нь арай л болоогүй бололтой) суулгаж ашиглахаас өөр аргагүй. Үүнийг яаж шийдэж байна гэвэл WINE хэрэгслийг ашиглаад Photoshop CS4 суулгачихна, харин win32 form app боловсруулахын тухайд VirtualBox, VMWare ашиглан хийсвэр Windows компьютерийг Linux систем дотроо үүсгээд ажиллачихаж байгаа. Laptop маань Core Duo 3.5Ghz, 3Gb RAM учир түүртэхгүй ба харин ч элдэв олон зүйл суулгаагүй, хааяа л асаадагаас вирустэж эдэр болоогүй учраас хурдан ч юм.

Эцэст нь хэлэхэд хэрвээ та дээрх шалтгаануудын улмаас Цонх системээс залхаад байгаа бол бидэн рүү нүүн ирж жинхэнэ эрх чөлөөг мэдрэгтүн.
Тун удалгүй Монголд маань Нээлттэй Эхийн үзэл баримтлал улам бүр хүчийг авч, Монголын Мэдээллийн Технологийн хөгжилд шинэ ардчилсан хувьсгалыг авчирна гэдэгт гүнээ итгэж, мөн түүний төлөө зүтгэх болноо.

Сайн үйлс бүхэн дэлгэрэх болтугай! Аръяаваал

Линукс руу шилжих 10 шалтгаан гэнээ


цааш унших...

Monday, May 14, 2007

Power Session with Screen

Сис админууд маань Linux сервер рүүгээ SSH -ээр гаднаас нэвтрэн орж ажилладаг шүү дээ. Зарим үед нэг серверээс нөгөөх рүү том хэмжээний файл хуулах, зөөх, том архив tar файлыг задлах, архивлах зэрэг удаан үргэлжилдэг ажиллагааны үед админуудын маань холболт тасрах үе гардаг. Энэ үед өнөөх л удаан ажиллагаагаа дахиад л эхнээс нь эхлүүлнэ дээ. Өмнө нь screen коммандыг гараагүй байхад nohup коммандыг ашигладаг байсан боловч энэ нь лог файл руу тухайн үр дүнг гаргадаг болохоос тухайн ажиллагаа яг юу болж байгааг мэдэх боломжгүй байснаараа дутагдалтай байв.

Одоо тэгвэл screen коммандыг ашиглахад таны серверт орсон холболт/connection тасарсан ч үйл ажиллагаа/session нь устахгүй цааш үргэлжилсэн хэвээр л байх бөгөөд та дахин серверт холбогдон орж өмнөх session -д холбогдох боломжтой нь маш давуу байдлыг олгоно.

Суулгах:
http://www.gnu.org/software/screen/ сайтаас эх код болон бусад бинари суулгацуудыг авч болно.
Debian GNU/Linux дээр бол мэдээж apt-get install screen гээд суучихна.

Хэрэглэх:
Шинээр session үүсгэхдээ screen mc буюу screen гэх мэт. Үүний дараа SSH холболт салсан ч өмнөх комманд хэвийн цааш ажиллана.

Холбогдох:
screen -ls коммандаар ажиллах байгаа session -ууд хараад

[root@gigan root]# screen -ls
There are screens on:
31619.ttyp2.gigan (Detached)
4731.ttyp2.gigan (Detached)
2 Sockets in /tmp/screens/S-root.

screen -r 31619.ttyp2.gigan гэх мэтээр тухайн session руу дахин холбогдож орно.

Холбоосууд:
http://www.rackaid.com/resources/tips/linux-screen.cfm
http://www.gnu.org/software/screen/


цааш унших...

Friday, December 22, 2006

How to make Film strip

Саяхан нэг төслийн хэсэгт ийм функциональ бүхий нэгэн жижигхэн скрифт бичснээсээ та бүхэнд сонирхуулж байна.
Зорилго нь өгөгдсөн видео файлаас өгөгдсөн тооны фрэймүүдийг зураг болгон салгаад уг салангид зургуудыг нийлүүлж нэг зургийн файл болгох. Өөрөөр хэлбэл дээр үеийн киноны плёнк шиг буюу дараах зураг шиг:


Өгөгдсөн файл: softboy.avi
Өгөгдсөн фрэймын тоо: 5
Гаралтын файл: softboy.avi.png

1. Фрэймүүдийг задлах
mplayer -ss 1 -frames 4 -vo png softboy.avi

Үүний дараа 00000001.png 00000002.png 00000003.png 00000004.png 00000005.png гэсэн зургийн файлууд үүснэ.

2. Салангид фрэйм зургуудийг нэгтгэх
convert -resize 200x100 -border 10x4 -bordercolor black 0000000*.png +append softboy.avi.png

Ингээд л болчихлоо. Үүнд mplayer, imagemagick гэсэн хоёр хэрэгслийг ашиглаж байгаа ба үүнийг системдээ суулгахдаа

RH, FC системүүдэд өмнөх бичлэгийн адил:
up2date -i mplayer imagemagick

Debian, Ubuntu системүүдэд:
apt-get install mplayer imagemagick


цааш унших...

RHEL's up2date Yum Repository

Блог дээрээ бичлэг хийлгүй их удчихажээ. RedHat Enterprise Linux ашигладаг админууд маань стандарт RedHat Network-ын (up2date) package channel-уудад байдаггүй өөр програм, package-уудыг хэрхэн суулгах вэ гэсэн асуулт их тавьдаг. Надад өөрт маань ч mplayer, ffmpeg, mencoder гэх мэт зөндөө л нэмэлт хэрэгсэлүүдийг ашиглах шаардлага гардаг.

Үүнд up2date хэрэгсэлд Yum буюу (Yellow dog Updater Modified) гээд rpm software updater, installer хэрэгсэл (tool)-ийн repository-г ашиглах нь дажгүй сонголт.

Өөрөөр хэлбэл стандарт програмуудыг RHN-оос суулгаад, энд байдаггүй нэмэлт зүйлсийг Yum-ын сангаас суулгая:

1. /etc/sysconfig/rhn/sources файлд дараах мөрүүдээс өөрийн системд хамаарах хэсгийг нэмнэ:

### Dag RPM Repository for Fedora Core
yum dag http://apt.sw.be/fedora/3/en/$ARCH/dag ## FC3-г ашиглаж буй бол
yum dag http://apt.sw.be/fedora/2/en/$ARCH/dag ## FC2-г ашиглаж буй бол
yum dag http://apt.sw.be/fedora/1/en/$ARCH/dag ## FC1-г ашиглаж буй бол

### Dag RPM Repository for Red Hat Enterprise Linux
yum dag http://apt.sw.be/redhat/el4/en/$ARCH/dag ## RHEL4-г ашиглаж буй бол
yum dag http://apt.sw.be/redhat/el3/en/$ARCH/dag ## RHEL3-г ашиглаж буй бол

2. Үүний дараа системээ шинэчилнэ:
up2date -u

3. Шинээр програм суулгахдаа:
up2date -i mplayer ffmpeg mencoder

гэх мэт

Мөн RedHat, Fedora систем дээр Debian системийн Apt (updater, installer) хэрэгслийг ашиглах боломжтой. Дэлгэрэнгүйг энэ линкээс уншаарай.


цааш унших...

Tuesday, December 12, 2006

Cluster Computing

Кластерийн тухай
Кластер нь суперкомпьютерийн технологид хамаарах ойлголт бөгөөд маш их хэмжээний тооцоололт, бодолт гэх мэт нүсэр ажиллагаанд зэрэгцээ байдлаар компьютеруудийг холбож, бодолтыг хуваан авч нэгэн зэрэг гүйцэтгэснээр ажиллагааны хугацаа, бүтээмжийг ихээр дээшлүүлэх аргачлал юм. Тухайн бодлого нь зэрэгцээ хэлбэрээр хуваагдах боломжтой үед уг аргачлалыг хэрэглэнэ. Хэрэглээний жишээ гэвэл: нууц үгийг тайлахад бүх боломжуудыг шалгах аргыг олон хуваах, анимацын рендер хийх үед видео фрэймүүдийг хэсэгчлэн хуваан гүйцэтгэх гэх мэт...

Монгол дахь хэрэглээний тухай

Энэ намрын SysAdmin Summit 2006 дээр манай анхны алтан хараацайнуудын нэг болох Монголын Үндэсний Статистикийн ахтай Линукс системээр супер компьютер хэрхэн хийх, мөн монголд юунд ашиглах талаар хэсэг ярилцаад авсан юм. Тэр ах ярихдаа өмнө нь Windows системээр гурван мөчиртэй (processor/cluster node) кластер хийсэн үүгээр өмнө нь нилээд хэдэн цаг болж байж гаргадаг тооцололтын ажиллагааг хэдхэн минут болгож хурдасгасан гэж байлаа. Уг систем нь зарим нэг зүйлийг хийхэд болж байгаа ч өөр бусад тооцололтыг хийхэд боломжгүй байгаа учраас Линукс кластерийг сонирхож байлаа. Жишээ нь Компьютерийн 3D буюу 3н хэмжээст график, хөдөлгөөнт дүрс, эффектийг хийх. Мөн зарим статистик мэдээлэлийг тооцлоход гадны төвүүдэд захиалга өгдөг ба үүний төлбөрт нилээд хэдэн мянган доллар алддагийг болиулах гэх мэт ажиллагаанд хэрэглэмээр байна гэв.
Бид хэдийгээр гадны томоохон төвүүдэд ийм хүчирхэг кластерууд ашигладагыг мэдэж байсан ч хараахан монголд маань хэрэглээ бий болоогүй гэж бодож байсан нь буруу байж гэдгээ тэгэхэд дахин нэг бодоход хүргэж билээ.

Бидэнд хамааралгүй зүйл эргээд бидэнтэй хэрхэн хамааралтай болох вэ?
Дараахан нь Эрдэнэт, Дархан руу ажилаар явж байлаа. Замд таарах тариалангийн том том талбайнууд, ургацаа хурааж байгаа ажиллагаа зэргийг хараад үнэхээр сэтгэл хөдөлж, эргээд өмнөх кластер системийн ач тусыг ойлгох шиг болсон шүү.
Тайлбарлавал, уг кластерийг хийхэд нэг их зардал шаардагдахгүй боловч ач тус нь их юм. Жишээ нь, Одоо байгаа манай цаг агаарын урьдчилсан мэдээ нь ирэх долоо хоногийн тоймыг 21 аймаг болон Замын-Үүд, Чойр, Ханбогд гэсэн хэдэн төв суурингуудаар гаргадаг бөгөөд бусад газруудын талаар "баруун зүгийн нутгаар", "төвийн нутгаар" гэж бүрхэг хэлэхээс биш яг тэр аймгийн тэр сум гэх мэт гаргадаггүй байна. Өнгөц бодоод үзэхэд өнөөдөр бороо орох уу орохгүй юу, өдрийн дулаан хэд орчим байх зэрэг нь бидэнд нэг их онц чухал биш санагдана. Гэвч байдал тийм биш. Манайх шиг байгалын эрхшээлд байдаг мал аж ахуй, газар тариалан зэрэг салбартай улсад нарийвчилсан, үнэнд ойрхон цаг агаарын мэдээ амин чухал хэрэгтэй юм. Жоохон хийсвэрлээд үзье:
Кластер компьютергүй учраас энэ олон суурин, төвүүдийн мэдээллийг хурдан боловсруулж, цаг агаарын урьдчилсан мэдээ гаргаж амжихгүй. Мэдээ сумдаар нарийн гарахгүй учраас мөндөр орчихлоо гэхэд яах вэ, хурааж амжаагүй байсан тариа "ёстой будаа". Үүнээс улбаалаад будаа, гурилны үнэ "тэнгэрт гарна". За ингээд бодоод үзэхээр цаг агаарын мэдээний үнэ цэнэ, түүний үнэн болоод хүртээмжтэй, хурдан байдал нь харагдаж байгаа биз.

Өөр жоохон хошин жишээ авбал: Томоохон хотод ойрд бороо шороотой байна гэсэн цаг агаарын урьдчилсан мэдээ гарлаа. Би жишээ нь худалдаачин байг. Тэгвэл өөрт байгаа хамаг цув, борооны шүхэрээ гаргаад борлуулна биз дээ.

За тэгэхээр цаг уурын судалгааны төвийг супер компьютер буюу кластер системээр хангаж, тэдгээрийн тооцолол хийх программчлалын асуудлыг шийдчихэд нилээд өөр дүр зураг гарна даа.

Links
Weather & Ecosystem Modeling
The Earth Simulation
Computer Cluster

Build a digital animation system
IBM -ын сайт дээр дижитал анимэшний студийн графикийн боловсруулалт (render) хийх кластер системийн талаар нийтлэгдсэний линкийг энд тавилаа. Өөрөөр хэлбэл бидний шимтэн үздэг Шрек, Мангасуудын компани, Немогийн эрэлд зэрэг 3 хэмжээст хүүхэлдэйн киног бүтээхэд өнөөх л Линукс кластерууд маань хүчин зүтгэж байгаа хэрэг юм.
Part 1
Part 2
Part 3
Part 4
Part 5

Энэ сэдвийг цааш үргэжлүүлэх болно.


цааш унших...

Tuesday, November 07, 2006

Линукс сисадминууд анхны хүндрэлүүдийг хэрхэн давдаг вэ?

Сүүлийн үед Linux эхлэн суралцаж байгаа найзууд, танилууд маань анх тохиолддог бэрхшээлд хэтэрхий автагдаад, бие даан шийдвэрлэж чадахгүйд хүрэхээрээ Линукс хэцүү, бэрх гэх мэтчилэн шантраад байгаа нь ажиглагдлаа. Мөн зарим хүмүүсийн хүсэлтийн дагуу элдэв програм суулгах, тохируулах заавар зэргийг энд тэр бүр бичээд байх нь боломжгүй тул

Линукс эхлэн суралцаж буй СисАдминуудад анхлан тохиолдох хүндрэлүүдийг давахад нь жоохон ч гэсэн туслах зорилгоор товч бичихээр шийдлээ.


Би үүнийг яаж давдаг байсан бэ
Би гэж хүн анх Линукс системийг 2001-2002 онд л байхдаа RedHat Linux 7.0 хувилбарыг хамгийн анх суулгаж байсан санагдана. Тэр үед Anaconda (RedHat Linux Installer) одоогийнх шиг ийм тухтай байсангүй зарим зүйлсийг гараараа хийдэг байлаа. Жишээ л гэхэд автомат-аар partition хуваахгүй, Windows гэх мэт бусад систем суусныг автоматаар таньж Lilo,Grub гээд систем эхлүүлэгч нарт оруулдаггүй гэх мэт.
За тэгээд анх хэвийн ажиллагаатайгаар суулгаж сурталаа нилээд олон удаа оролддог байсан. Миний хувьд шинээр танилцаж буй Линукс систем маань үнэхээр их сонирхол татаж, хүчин чадлыг нь биширч байсан тул хэзээ ч хүнд хэцүү байна хэмээн орхиж байсангүй. Заримдаа шийдэж чадахгүй зүйлс тохиолддог ч үүнийг дараах аргуудаар шийдвэрлэхийг оролддог:

1. Өөрийн системээ алдаагүй эсэхийг нягтлах, алдаагүй зөв хийсэн эсэхээ шалгах
2. Google-ээс хайх
3. Тухайн програм, технологийн албан ёсны вебсайтаас холбогдолтой мэдээлэл, гарц хайх
4. Илүү туршлагатай нэгнээс зөвлөгөө авах
5. Тухайн програм, технологийн талаар илүү дэлгэрэнгүй, нарийн мэдлэг олж авах, унших
6. Үүнийг орлуулж болох бололцоо байгаа эсэхийг хайх, олж авах

1. Өөрийн системээ алдаагүй эсэхийг нягтлах, алдаагүй зөв хийсэн эсэхээ шалгах
Системд маань маш олон төрлийн програм суусан байх тул эдгээр нь алдаагүй цэвэр суусан ажиллаж байгаа эсэхээ олж тогтоох нь чухал юм. Үүндээ бат итгэсний дараа та тухайн ажиллагааг алдаагүй үнэн зөв хийсэн эсэхээ нягтлах хэрэгтэй. Үүний тулд тухайн програмыг хэрхэн суулгах талаархи албан ёсных нь гарын авлага материалыг нь уншиж, нарийн танилцах хэрэгтэй болно.

2. Google-ээс хайх
Дараагийн шатанд та зөв суулгасан ба таны систем алдаагүй байсан бол энэ нь тухайн програмын өөрийн нь алдаа болон бусад төрлийн ямар нэгэн асуудал байж болно. Алдааны мессеж болон алдааны log бүртгэл зэргээс нь сэжүүр олж аваад түүгээр түлхүүр үг хийн интернэт хайлтын системүүдээс хайхад ихэнхи ийм асуудлыг шийдвэрлэчихдэг туршлага бий шүү. Нээлттэй Эхийн Програмуудыг маш түгээмэл ашигладаг тул эдгээрийн талаарх мэдээлэл ч нээлттэйгээр түгээмэл байдаг.

3. Тухайн програм, технологийн албан ёсны вебсайтаас холбогдолтой мэдээлэл, гарц хайх
За дараагийн шатанд энэ нь зөвхөн таньд л тохиолдсон эсвэл маш ховор тохиолдол бол та албан ёсны вебсайтаас нь энэ талаар ямар нэгэн зүйл бичигдэж байсан эсэхийг нягтлах хэрэгтэй. Эсвэл тухайн програмыг түгээгч баг, холбогдох хаяг руу имэйл бичин харилцах нь дээр боловуу.

4. Илүү туршлагатай нэгнээс зөвлөгөө авах
Уг програмыг удаан хэрэглэсэн мөн илүү туршлага бүхий нэгнээс энэ талаар асууж лавла. Имэйл лист, имэйл груп, веб форумууд гээд Линукс хэрэглэгчид дэлхий даяар байгаа ба таньд дуртайя хэлж өгөх болно.

5. Тухайн програм, технологийн талаар илүү дэлгэрэнгүй, нарийн мэдлэг олж авах, унших
Мөн ихэнхи алдаа болон програм ажиллахгүй байгаа зэрэг нь тухайн програм болон технологийн талаар мэдлэг нимгэн болон шаардлагатай нарийн зүйлсийг ойлгоогүйгээс бас ихэвчлэн гардаг. O'Reilly энэ талаар бараг гаргаагүй ном байхгүй байх. Боломжтой бол номыг нь hard copy эсвэл soft copy -гоор нь олж авч уншвал нилээд зүйлсийг мэдэж авна.

6. Үүнийг орлуулж болох бололцоо байгаа эсэхийг хайх, олж авах
За хамгийн сүүлд тухайн програмыг дээрхи бүх аргаар оролдоод суулгаж дийлэхгүй бол зүгээр л орхичих. Болохгүй бол заавал амжуулах гэж зүтгэж өөрийгөө зовоосноос үүнтэй адилхан ажиллагаатай мөртлөө өөр програм ч зөндөө бий шүү дээ. Бид чинь Нээлтэй Эх бүхий Програм Хангамжийн ертөнцөд амьдарч байна. Өөр нэгийг хайн олж аваад л дахиад эхнээс нь үзнэ дээ. Харин дараа нь та үүнийг орлуулсны дараа өөр тест систем дээр ч юмуу тухтайхан шиг дахиад туршаад үзэж болно шүү дээ.

Мөн та анхлан линукс системийг суралцаж байгаа бол Линукс системболон Нээлттэй Эхийн Програм Хангамжийн талаар эхлээд сайн уншиж, суралцах шаардлагатай юм. Үлгэрлэвэл боксын бээлий гэж юу болох дэвжээ болон тулааны техник зэргийг сайн мэдээгүй байж боксын тулаанд орохтой агаар нэгэн. Иймээс эхлээд шаардлагатай мэдлэг, чадварыг олж ав, харин бусад нарийн мэдлэг, туршлагыг явцын дунд олж авах хэрэгтэй. Үүний тулд өдөр бүр шинийг уншиж, мэдэж, туршиж байгтун. Өдөр бүрийн энэ хөдөлмөр, хичээл таныг нэг л өдөр илүү түвшинд аваачсаныг мэдрэх болно.

Таны амжилт бүтээл арвиг байг!


цааш унших...

Monday, November 06, 2006

iPodLinux - Hacking iPod


Сүүлийн үед embedded system тэр дундаа embedded linux миний сонирхолыг ихээр татах болсон л доо. Солонгост сурдаг найз Тэгшбаяр маань энэ чиглэлээр нилээд туршлагажиж байгаа ба намайг бас "уруу татсан" нь энэ. ;) Бид хоёр хааяа мөрөөддөг л дөө. Жижигхэн хөөрхөн ч нилээд супер маягийн халаасны Монгол-Гадаад хэлний тольбичиг, ярианы дэвтэр бүхий электрон төхөөрөмж хийх талаар.. Дээр нь нэмээд медиа тоглуулагч, зургын цомог, фм радио хүлээн авагч энэ тэртэй гээд л... За тэгээд хийх юм, хэрэгцээ зөндөө зөндөө...

Тэгээд яг хийх гэхээр өнөөх л ядуу буурай орны зовлонд унана даа. Наад зах нь л Development Board, Flash ROM, Tester энэ тэрээс өгсүүлээд л тоног төхөөрөмж байхгүй. Бүгдийг гаднаас авна гэвэл нилээд хөөрхөн төсөв гарчих жишээтэй. Байхгүйнээ :(

Гэхдээ хүний сонирхол татагдаад, тэмүүлээд ирвэл ямар нэгэн байдлаар хийж үзэж байж л санаа амарна. (Дээр үед "шилэн форд" чаачаантай адил машинийг нэг монгол дархан дан модоор хийчихсэн гэсэн яриа ч байдаг шүү)

"Чанга гар" (hackers/crackers)-ууд маань аль хэдийнэ л нөгөө үйлдвэрлэгдэж гарсан хэдэн төхөөрөмж, бүтээгдэхүүнийг өөрийн хүссэнээр өөрчилөх, нэмэх, сайжруулах зүйлийг гаргачихдаг хойно, Apple iPod mp3 тоглуулагч төхөөрөмж дээр µCLinux port-лж орхижээ.

Хэрвээ таньд хуучин ч юмуу iPod байдаг ба linux систем ашиглах дуртай, тэгээд дээр нь өөрийн гэсэн mp3 тоглуулагч хиймээр байвал iPodLinux татаж аваад хакдаад үз.

Ер нь инженер сэтгэлгээтэй хүмүүс аль хүүхэд байхаасаа л тоглоомоо задлаад үзчихдэг, яаж ажилладгыг ухдаг сониуч зантай байдаг. Энэ бол тийм л зангийн хэлтэрхий гэмээр юмуу даа. За ингээд би ч бас нэг хуучин iPod-ыг customized own mp3/media player, game box болголоо.

Happy Hacking iPod!


цааш унших...

Friday, October 27, 2006

Adding additional hard drive in Linux

Linux төрлийн систем анхлан хэрэглэгчид маань сервертээ шинээр hard disk суурилуулах нь ихээхэн түвэгтэй гэж боддог. Windows дээр бол залгачихаад л системээ эхлүүлэхэд өөрөө суурилагдчихсан байдаг шүү дээ. Тэгэхээр энэ удаа шинээр дискээ яаж Линукс системд нэмэх талаар үзэцгээе!

Disk, partition-ны нэрсийн тэмдэглээ

Дискний нэрүүд нь 3 үсгээс тогтох бөгөөд IDE болон SCSI disk drive-ууд тус бүр "hd", "sd" гэсэн 2 үсгээр эхлэдэг. Гурав дахь үсэг нь тухайн дискнийг аль disk controller-ын аль interface болохыг заадаг.

IDE disk drive бол дараах "a"-с "h" хүртэл,
SCSI disk drive бол дараах "a"-с "p" хүртэл байж болно.

Тэгэхээр ихэнхи системд эдгээр 3 дахь үсэг нь дараах хэлбэртэйгээр нэрлэгдсэн байна.

# a болон b - 1 дэх IDE controller-ын Primary interface дэх Master болон Slave disk
# c болон d - 1 дэх IDE controller-ын Secondary interface дэх Master болон Slave disk
# e болон f - 2 дахь IDE controller-ын Primary interface дэх Master болон Slave disk
# g болон h - 2 дахь IDE controller-ын Secondary interface дэх Master болон Slave disk

Нэрний дараачын хэсэг нь тоо байх бөгөөд энэ нь тухайн диск дэхь partition-ы дугаарыг заана. Жишээ нь: hda1, hdb2, sda1, sdd4 гэх мэт

IDE disk drive бол дараах 1-с 16 хүртэл,
SCSI disk drive бол дараах 1-с 15 хүртэл байж болно.

1-4 дугаартай бол primary, extended
5-16 (15) дугаартай бол logical

Өөрийн дискүүд дэх partition-оо харах гэвэл:

# ls /dev/hd*
эсвэл
# ls /dev/sd*

Өгөгдөл агуулсан шинэ диск нэмэх

Эхлээд мэдээж Линукс сервер компьютерээ унтраагаад шинэ хатуу диксээ залгана. Үүний даа системээ эхлүүлээд дараах командыг суперхэрэглэгчээс өгнө:

# ls /proc/ide

Үр дүн нь дараах хэлбэрээр харагдана:

drivers hda@ hdc@ ide0/ ide1/ piix

Бидэнд hdc гэсэн шинэ хатуу диск суурилагджээ гэж үзье:

Одоо уг диск өөртөө partition агуулсан эсэхийг шалгахдаа:

# fdisk -l /dev/hdc

Disk /dev/hdc: 64 heads, 63 sectors, 787 cylinders
Units = cylinders of 4032 * 512 bytes

Device Boot Start End Blocks Id System
/dev/hdc1 * 1 610 1229728+ 83 Linux
/dev/hdc2 611 787 356832 5 Extended
/dev/hdc5 611 787 356800+ c Win95 FAT32 (LBA)

гэсэн үр дүн харагдлаа.

Одоо уг дискний эдгээр partition-уудыг системдээ залгаснаар дээрх мэдээлэлтэй ажиллах боломжтой болно:

# mount /dev/hdc1 /mnt/hdc1
# mount /dev/hdc5 /mnt/hdc5

5 дахь нь Windows системийнх тул та үүнийг файл системийн төрлийн заан залгах шаардлагатай юм:

# umount /mnt/hdc5
# mount -t vfat /dev/hdc5 /mnt/hdc5

Ихэнхи хэрэглэгддэг файл системийн төрлүүд нь:

* msdos - FAT12 and FAT16
* vfat - FAT16 with long file name support, FAT32
* ext2 - primary Linux file system;
* ext3 - compataible with ext2 file system with log support
* reiserfs - new Linux file system with log support

эдгээр бөгөөд үүнээс гадна нилээд файл системүүдтэй Линукс систем ажиллах чадвартай.

Өгөгдөл агуулаагүй шинэ диск нэмэх

Дээрх жишээний hdc диск суурилагдсан гэж үзвэл дараах командыг өгнө:

#fdisk /dev/hdc
Command (m for help): _

гэсэн үг дүн гарч ирэх бөгөөд m үсгийг дарж тусламж харах боломжтой.

Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

Шинэ дискэнд partition байгаа эсэхийг харахдаа p товчыг дарна:

Command (m for help): p

Disk /dev/hdc: 64 heads, 63 sectors, 787 cylinders
Units = cylinders of 4032 * 512 bytes

Device Boot Start End Blocks Id System

гэвэл уг диск хоосон байна гэсэн үг.

Шинэ partition үүсгэхийн тулд n товчыг дарна:

Command (m for help): n
Command action
e extended
p primary partition (1-4)

Энэ нь primary эсвэл extended төрлийн partition-ны алиныг үүсгэхийн заана. Бид p товч дарж шинэ partition-оо үүсгэнэ.

Үүний дараа partition-ны дугаарыг оруулна:

Partition number (1-4): 1

Уг partition-ны дискны аль цилиндрээс эхлэхийг оруулна:

First cylinder (1-787, default 1):

Using default value 1

Дараа нь уг partition-ны дискний аль цилиндрт төгсөх дугаар эсвэл нийт эзлэх хэмжээг оруулна.
Гэхдээ хэрвээ бид уг дискийг бүхэлд 1 л partition болгох бол шууд Enter товч дарчихад болно:

Last cylinder or +size or +sizeM or +sizeK (1-787, default 787):
Using default value 787

Command (m for help):

За нигээд бид шинэ partition үүсгэчихлээ. Шалгая:

Command (m for help): p

Disk /dev/hdc: 64 heads, 63 sectors, 787 cylinders
Units = cylinders of 4032 * 512 bytes

Device Boot Start End Blocks Id System
/dev/hdc1 1 787 1586560+ 83 Linux

Command (m for help):

Хэрвээ бид дээрхи partition-ыг устгах хэрэг гарвал d товч дараад дугаарыг оруулж өгнө:

Command (m for help): d
Partition number (1-4): 1

Command (m for help

За одоо уг шинэ partition-оо диск рүүгээ хадгалаад гарах хэрэгтэй:

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

Дискыг форматлах

#mkfs -t ext3 -j /dev/hdc1

mke2fs 1.37 (21-Mar-2005)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
5029888 inodes, 10050657 blocks
502532 blocks (5.00%) reserved for the super user
First data block=0
307 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 29 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

Шинэ partition-ыг файлсистем руу залгах

Шинэ хавтас үүсгээд түүнийг шинэ partition-ыг залгая (mounting):

#mkdir /backup
#mount -t ext3 /dev/hdc1 /backup

Нийт файлсистемд агуулагдаж буй partition -ыг харахдаа:

#mount | column -t

Системийг анх эхлэхэд автоматаар залгах

Дараах файлыг текст файл засварлагчаар нээгээд
#vi /etc/fstab

дараах мөрийг нэмнэ:

/dev/hdc1 /backup ext3 defaults 0 0

Төгсгөлд нь үүнийг мэдэж авснаар та Линукс системийн хэрэглээнд нэг алхам урагшиллаа. Амжилт хүсье!


цааш унших...

Friday, October 20, 2006

Secure remote filesystem mounting

Юуны өмнө ойрын үед хийж байгаа ажил үйлс маань маш урагштай байгаа болохоор сэтгэл санаа сайхан байна :)

Миний ажилладаг хэдэн сервер сүлжээгээр хоорондоо зарим файлуудаа share хийх шаардлага гарлаа.
- Эхлээд NFS (Network Filesystem) болгох санаатай нилээд үзлээ, бараг 2 өдөр суугаад нилээд их бэрхшээлтэй учирлаа. Миний ойлгосноор Sun-RPC буюу Remote Procedure Call ашиглаж ажиллаж байх шиг байна. Тиймээс энэ аргыг суулгахад хүндрэлтэй болоод аюул ихтэй гэж үзээд орхилоо.
-Дараа нь алдарт Samba-гаа ашиглахаар шийдлээ. Хоёр өдөр ашигласны эцэст permission problem-оос болоод бас л орхилоо.
-Нилээд олон distributed filesystem технологи, аргыг сонирхсоны эцэст sshfs буюу SecureShell FileSystem -ыг туршиж үзлээ. Эцэст ажиллагаа нь болон суурилуулахад маш энгийн зэрэг нь надад маш их таалагдав. (Сүүлийн үед зорилгодоо хүрч л байвал энгийн хялбар зүйл ашиглахаас ичихээ байсоон)

Товч танилцуулга

Будапештын нэг Linux hacker Miklos Szeredi анх FUSE (Filesystem in USErspace framework) гэж үүсгэсэн ба энэ нь sshfs үүсэх эх үндэс нь болжээ. Энэ FUSE Library нь Linux kernel 2.6.14-оос эхлэн албан ёсоор орсон юм байна. Үүнийг дижитал фотокамеруудын UBS холболт зэрэгт хамгийн их ашигладаг гэж ойлгов. ;)

1. Setup FUSE
Эхлээд FUSE -ээ кернелд модуль хэлбэрээр суулгах шаарлагатай.
2.6.14 кернелээс өмнөх кернелтэй Линус серверт үүнийг эх кодоос нь хөрвүүлж авахаас өөр аргагүй.

FUSE эх кодыг http://fuse.sourceforge.net/sshfs.html сайтаас татаж авах хэрэгтэй.

1.a Татаж авах
wget http://belnet.dl.sourceforge.net/sourceforge/fuse/fuse-2.5.3.tar.gz

1.b Задлая
tar xzf fuse-2.5.3.tar.gz

1.c Суулгах
cd fuse-2.5.3
./configure && make && make install && modprobe fuse

1.d Суусан эсэхийг шалгахдаа
lsmod | grep fuse

2. Setup SSHF

FUSE суусаны дараа SSHFS -ыг бас эх кодоос нь хөрвүүлж суулгах хэрэгтэй болно.

2.a Татаж авах

wget http://puzzle.dl.sourceforge.net/sourceforge/fuse/sshfs-fuse-1.7.tar.gz

2.b Задлах

tar xzf sshfs-fuse-1.7.tar.gz

2.c Суулгах

cd sshfs-fuse-1.7
./configure && make && make install

Санамж: RHEL4 дээр ингэж суулгахад /usr/local/lib дотор суулгаж байсан ба үүний дараа sshfs бүрэн ажиллуулахгүй байсан тул би дараах өөрчлөлтыг нэмэв:

ln -s /usr/local/lib/libfuse.so /usr/lib/libfuse.so
ln -s /usr/local/lib/libfuse.so.2 /usr/lib/libfuse.so.2

Магадгүй миний систем дээр PATH асуудал байсан байж магадгүй)

3. Mounting Remote FileSystem

Одоо ингээд таны системд sshfs суусан тул алсад орших өөр серверийн файл системыг өөрийн локаль систем руу залгая:

sshfs remote_userid@remote_host:/remote_directory local_directory

гэх мэт холбоход болчихно доо.

4. Unmounting Remote FileSystem

fusermount -u local_directory

Ингээд л болчихлоо. Хурдан байгаа биз!


цааш унших...

blogger templates | Make Money Online