Өмнөх бичлэг дээр SAKURA Internet гээд компаниас shared host авсан гэж бичиж байсан. Тэгээд тэрэн дээрээ Bash, Vim, Git 3-ыг суулгах болсон юм. Юуны түрүүнд энэ 3 нь юу вэ гэдгийг товчхон дурьдая.
- Bash гэдэг нь нэгэн төрлийн shell юм. OS X дээр цаанаасаа тохируулчихсан ирдэг юм. Би OS X хэрэглэдэг болохоор, яагаад ч юм Bash дээр дасчихсан. Тийм болохоор суулгая гэж бодсон юм.
- Vim гэдэг нь command line editor-ын нэг төрөл. Бас Emacs гээд text editor байгаа, гэхдээ олон хүмүүс Vim нь илүү гэлцэх юм билээ. Зарим хүмүүс “GUI-тэй олон хүчтэй editor-ууд байхад яагаад заавал хэрэглэхэд хэцүү command line editor хэрэглэх ёстой юм?” гэж бодож магадгүй. Би ч гэсэн хааяа тэгж боддог. Гэхдээ миний хувьд command line editor ашиглах нэг шалтгаан байдаг. Тэр нь server дээрх file-ыг шууд засварлах явдал юм. Ганц 2 мөр засварлахын төлөө, өөрийнхөө компьютер дээр засварлаад, тэр зассан file-аа FTP эсвэл SSH-ээр server-рүүгээ хуулаад байх төвөгтэй шүү дээ. Сүүлийн үед PHP code-ыг бол дандаа Vim ашиглаад шууд server дээрээ бичээд явдаг болчихсон. Сайн судалвал бараг юм бүхнийг хийж болохоор нэлээн хүчтэй editor юм шиг байна лээ. Бүгдийг нь сурахад хэцүү ч, юуны түрүүнд, copy, paste, undo, redo, search, replace гэх мэт энгийн үйлдлүүдийг сураад авах хэрэгтэй гэж бодож байна.
- Git гэдэг нь нэгэн төрлийн version control system юм. Өмнө нь Монголд ажилдаг байхдаа SVN гэдэг version control system ашиглаж байсан. Тэгэхдээ дэлхийн чиг хандлага ер нь Git-рүү чиглээд байгаа юм шиг санагдаад байгаа болохоор бичсэн source code-оо Git-ээр удирдаж байхыг санал болгож байна. Мөн GitHub гээд үнэгүй source code-оо байрлуулдаг үйлчилгээ байгаа.
За ингээд SAKURA Internet дахь shared host дээрээ хэрхэн энэ 3-ыг суулгасан талаараа бичье.
Bash-ыг суулгах
Эхлээд яг одоо ямар shell хэрэглэж байгаагаа мэдэх хэрэгтэй. Дараах байдлаар мэдэж болно.
%echo $SHELL /bin/csh %
Эндээс харвал миний одоо хэрэглэж байгаа shell бол C shell гэдгийг мэдэж болно. Харин дараах байдлаар server дээрх shell-үүдийн жагсаалтыг харж болно.
%cat /etc/shells # $FreeBSD: src/etc/shells,v 1.5.36.1.4.1 2010/06/14 02:09:06 kensmith Exp $ # # List of acceptable shells for chpass(1). # Ftpd will not allow users to connect who are not using # one of these shells. /bin/sh /bin/csh /bin/tcsh /usr/local/bin/bash /usr/local/bin/rbash /usr/local/bin/zsh /usr/local/bin/rzsh /usr/bin/passwd %
/usr/local/bin/bash гэдэг нь Bash юм. Тэгэхээр одоо байнга хэрэглэх shell дээрээ Bash-ыг тохируулж өгье.
%chsh -s /usr/local/bin/bash Password: chsh: user information updated %
Ингээд, дараагийн удаа server-рүүгээ холбогдох үед чинь C shell биш Bash таныг угтах болно. Үүний дараа, $HOME folder дотроо .bash_profile болон .bashrc гэсэн 2 file-ыг үүсгэх хэрэгтэй. Энэ 2 file-ын дэлгэрэнгүйг эндээс уншаарай. .bash_profile дээрээ .bashrc-ыг дууддаг code бичээд, .bashrc-ээ өөрчлөөд явах нь хамгийн дажгүй арга гэж бодож байна. Жишээ нь .bash_profile нь дараах байдалтай байна.
# Энэ file(.bash_profile)-ыг дахин өөрчлөх шаардлагагүй if [ -f ~/.bashrc ]; then source ~/.bashrc fi
Харин .bashrc нь дараах байдалтай байна.
# UTF-8 encoding-ыг тохируулж өгснөөр Япон, Монгол гэх мэт хэлнүүдийг ашиглаж болно export LANG=en_US.UTF-8 # Бусад тохиргоонууд ... ... ...
Заавал хийх албагүй ч гэсэн, дараах тохиргоог санал болгож байна.
# vi гэсэн комманд оруулахад автоматаар vim болгон хувиргана alias vi=vim # file болон folder-ын жагсаалтыг харуулахдаа өнгөөр ялган харуулна alias ls='ls -G'
Vim-ыг суулгах
Хэрвээ өөрийнхөө server дээр суулгах бол APT гэх мэт хэрэгслүүдээр амархан суулгаж болох байх л даа. Тэгэхдээ харамсалтай нь shared host болохоор, нэлээн хязгаарлагдмал, зөвхөн өөрийнхөө зөвшөөрөгдсөн хэсэгт л file хуулах боломжтой. Тиймээс Vim-ын source code-ыг нь татаж аваад compile хийх юм.
Суулгахын өмнө яг аль folder дотор суулгавал зүгээр вэ гэж эргэлзэж магадгүй. Тэгвэл эндээс уншаарай. Ер нь хаана ч байж болох ч, би дараах байдлаар folder-оо хуваарьлахаар шийдлээ.
$HOME/bin
Local binaries$HOME/etc
Host-specific system configuration for local binaries$HOME/games
Local game binaries$HOME/include
Local C header files$HOME/lib
Local libraries$HOME/lib64
Local 64-bit libraries$HOME/man
Local online manuals$HOME/sbin
Local system binaries$HOME/share
Local architecture-independent hierarchy$HOME/src
Local source code
Яг одоогийн байдлаар Vim-ын хамгийн сүүлийн хувилбар нь 7.3.911 юм. Тэгэхээр 7.3-ын source code-ыг татаад, дээрээс нь 1 ээс 911 хүртлэх patch-ыг татна гэсэн үг. 7.3 хувилбараас эхлэн нэмэлт file-уудыг өөртөө агуулдаг болсон тул, тусд нь extra package татах шаардлагагүй юм. Дараах байдлаар source code болон patch-аа татна.
[barbayar@www2792 ~]$ cd $HOME [barbayar@www2792 ~]$ mkdir src [barbayar@www2792 ~]$ cd src [barbayar@www2792 ~/src]$ wget ftp://ftp.vim.org/pub/vim/unix/vim-7.3.tar.bz2 [barbayar@www2792 ~/src]$ tar jxf vim-7.3.tar.bz2 [barbayar@www2792 ~/src]$ cd vim73/ [barbayar@www2792 ~/src/vim73]$ mkdir patches [barbayar@www2792 ~/src/vim73]$ cd patches/ [barbayar@www2792 ~/src/vim73/patches]$ curl -O 'ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.[001-911]' [barbayar@www2792 ~/src/vim73/patches]$ cd .. [barbayar@www2792 ~/src/vim73]$ cat patches/7.3.* | patch -p0 [barbayar@www2792 ~/src/vim73]$
Харамслтай нь манай server дээрх patch нь хуучин хувилбар нь болохоор ч тэр үү, patch хийх явцад 225-р patch дээр алдаа гараад зогсчихлоо. Тэгэхээр нь яг адилхан байдлаар өөрийнхөө компьютер дээр ажлуулаад, patch хийсний дараах source code-ыг server-рүүгээ хууллаа. Одоо compile-дах үлдлээ.
[barbayar@www2792 ~/src/vim73]$ ./configure --enable-multibyte --enable-xim --enable-fontset --with-features=huge --prefix=$HOME [barbayar@www2792 ~/src/vim73]$ make [barbayar@www2792 ~/src/vim73]$ make install
Суулгасны дараа manual page-үүд нь $HOME/man-руу биш, $HOME/share/man-руу орчихсон байсан тул, manual page-үүдээ $HOME/man-руу зөөлөө.
Одоо $HOME folder дотроо .vimrc гэдэг file үүсгээд Vim-ынхээ тохиргоог оруулах үлдлээ. Миний хувьд дараах тохиргоог ашигладаг.
" keyboard дээрх дээшээ/доошоо/зүүн/баруун гэсэн товчнуудыг хэвийн ажиллагаанд оруулна set nocompatible " backspace болон delete товчнуудыг хэвийн ажиллагаанд оруулна set backspace=2 " " мөрийн дугаарыг гаргана set number " terminal-ын чинь title дээр засварлаж байгаа file-ын нэрийг харуулна set title " cursor одоо хаана байгааг баруун доод буланд харуулна set ruler " tab тэмдэгтийн хэмжээг 2 space хэмжээтэй болгоно set tabstop=2 " tab тэмдэгтийг space тэмдэгт болгон хөрвүүлнэ set expandtab " хамгийн доод хэсгээс 3 мөр дутуу байхад хуудсыг нь доош нь гүйлгэдэг болгоно set scrolloff=3 " source code-ыг өнгөөр ялган харуулна syntax on " дараагийн мөр рүү шилжэх үед өмнөх мөрийн эгц доороос эхлэн бичнэ set autoindent " mouse ашигладаг болно set mouse=a " Windows төрлийн keyboard ашиглах үед баруун талын хэсэгт байдаг numeric keypad-ыг хэвийн ажиллагаанд оруулна imap <Esc>Oq 1 imap <Esc>Or 2 imap <Esc>Os 3 imap <Esc>Ot 4 imap <Esc>Ou 5 imap <Esc>Ov 6 imap <Esc>Ow 7 imap <Esc>Ox 8 imap <Esc>Oy 9 imap <Esc>Op 0 imap <Esc>On . imap <Esc>OR * imap <Esc>OQ / imap <Esc>Ol + imap <Esc>OS -
Git-ыг суулгах
Яг одоогийн байдлаар Git-ын хамгийн сүүлийн хувилбар нь 1.8.2.2 юм байна. Гэхдээ энэ хувилбар нь суулгах үед алдаа гарсан тул, 1.8.1-ыг суулгахаар шийдлээ.
[barbayar@www2792 ~]$ cd $HOME/src [barbayar@www2792 ~/src]$ wget http://git-core.googlecode.com/files/git-1.8.1.tar.gz [barbayar@www2792 ~/src]$ tar zxvf git-1.8.1.tar.gz [barbayar@www2792 ~/src]$ cd git-1.8.1 [barbayar@www2792 ~/src/git-1.8.1]$ ./configure --prefix=$HOME [barbayar@www2792 ~/src/git-1.8.1]$ gmake [barbayar@www2792 ~/src/git-1.8.1]$ gmake install
Суулгасны дараа, Vim-тэй адилхан, manual page-үүд нь $HOME/share/man-руу орчихсон байсан тул, $HOME/man-руу зөөлөө. Мөн үндсэн manual page-үүд нь тусдаа package болсон байгаа тул, 1.8.1-ын manual page-үүдийг эндээс татаж аваад, $HOME/man-руу хийж өгч болно.
[barbayar@www2792 ~]$ cd $HOME/man [barbayar@www2792 ~/man]$ wget http://git-core.googlecode.com/files/git-manpages-1.8.1.tar.gz [barbayar@www2792 ~/man]$ tar zxvf git-manpages-1.8.1.tar.gz
Одоо Git-дээрээ өөрийнхөө нэр болон email хаягийг тохируулж өгнө.
[barbayar@www2792 ~]$ git config --global user.email "example@mail.com" [barbayar@www2792 ~]$ git config --global user.name "Barbayar Dashzeveg" # зөв орсон эсэхээ шалгах бол дараах байдлаар шалгана [barbayar@www2792 ~]$ git config --global user.email example@mail.com [barbayar@www2792 ~]$ git config --global user.name Barbayar Dashzeveg
Асуулт / Хариулт
Татаж авсан file-ууд болон, тэдгээрийг задлахад үүссэн folder-уудыг устгаж болох уу?
Мэдээж болно. Татаж авсан package file-ууд болон, $HOME/src folder дахь source code-уудаа устгаж зайгаа хэмнэж болно.
(g)make install хийх үед manual page-үүдийг автоматаар $HOME/share/man-руу хуулаад байхад, яагаад дахиж хүчээр $HOME/man-руу хуулаад байгаа юм?
Ер нь бол manual page, source code нар хаана ч байрлаж болно. Би зүгээр энд бичсэний дагуу folder-ынхоо бүтцийг шийдчихсэн юм. Тэгээд тэр бүтцэндээ тааруулах гээд, хүчээр хуулж байгаа юм. Мөн энэ бүтцээр явбал, $PATH болон manual page-ын замуудыг дахин тохируулах шаардлагагүйгээр шууд ажиллах байсан юм. Мэдээж server бүрээс хамаараад, $PATH болон manual page-ын замуудыг дахин тохируулах шаардлага гарч ирж магадгүй.
Blog bicheed ehelsiimuu. Amjilt. Bainga unshij bainaa.
Hail for the Vim