오랜만에 새로운 Ubuntu 버전과 Git 버전을 가지고 설치를 진행해보았다.
달라진 것은 없다.



1. 필수 패키지 설치

$ sudo apt-get install make libcurl4-gnutls-dev libexpat1-dev gettext zlib1g-dev libssl-dev asciidoc xmlto autoconf

 

 

2. 다운로드

$ cd /srv/install/git

$ wget http://www.kernel.org/pub/software/scm/git/git-2.1.0.tar.gz
$ tar zxvf git-2.1.0.tar.gz
$ cd git-2.1.0/


3. 빌드

$ make configure
$ ./configure --prefix=/usr/local
$ make all doc
$ sudo make install install-doc install-html

   - 설치가 잘 되었는지 확인을 해보기 위해서 버전 확인을 해보자.

$ git --version



GIT 자동완성을 지원하기 위해서는...

   - http://whatwant.tistory.com/478


우리 모두 Git으로 행복한 형상관리를...

반응형

삼성 스마트TV를 제대로 사용해보기 위해서 AllShare 기능을 설정해보고자 했다.
최근에는 삼성링크라는 이름으로 제공해주고 있는 서비스다.

그러나 사실 원하는 만큼의 깔끔함이나 원활한 기능을 제공해주고 있지는 못하고 있고
더군다나 최근에는 거의 버린 서비스라는 느낌이 확~

음... 내가 이런 말을 하면 안되는데.... 음... 안되는데...

뭐 여하튼...

그래서 해당 기능을 서버에서 제거해버렸는데 여전히 남아있는 흔적이 있었다.
동영상 파일마다 삼성링크가 만들어낸 [ *.mta ] 파일들이 바로 그것이다.


해당 파일들을 찾아서 지우는 일을 하고 싶어서... Python을 이용해보려 했다.


1. Windows 환경에서 Python 실행하기

   - http://whatwant.tistory.com/703 
 

2. 스크립트 만들기

   - 아래와 같이 간단한 스크립트로 찾아서 지웠다.


#!/usr/bin/python

# -*- coding: utf-8 -*-


import os

import sys


EXT = '.mta'


if __name__ == "__main__":


        if len(sys.argv) < 2:

                sys.exit('Usage: %s path' % sys.argv[0])

        if not os.path.isdir(sys.argv[1]):

                sys.exit('ERROR: %s was not found!' % sys.argv[1])

        PATH_TARGET = sys.argv[1]


        for root, dirs, files in os.walk( PATH_TARGET ):


                for file in files:

                        ext = os.path.splitext( file )

                        if EXT == ext[1]:

                                os.remove( os.path.join(root,file) )


        exit()



   - 예외 사항 등에 대한 고려가 없었기에 위험한 코드일 수도 있다. 주의!!!

 
반응형

기본적인 공유에 대해서는 다음 아티클로 포스팅을 했었다.

   - http://whatwant.tistory.com/381

공용폴더를 설정한 후 우분투를 부팅하게 되면 아래와 같이 공유 폴더가 /media/ 디렉토리 밑에 보이게 된다.


$ ls -al

합계 12

drwxr-xr-x     4  root   root      4096  8월 17 16:12 ./

drwxr-xr-x   23   root   root     4096  8월 17 14:02 ../

drwxrwx---   1   root   vboxsf      0  8월 17 16:14 sf_Share/


소유권한 부분을 보면 알겠지만, root 계정과 vboxsf 그룹에 속한 디렉토리이다.

그렇기에 일반 계정으로는 접근하려면 상당히 귀찮다. 권한에 막혀버리니...

$ sudo usermod -G vboxsf -a <계정>


위와 같이 사용하고 있는 계정을 [ vboxsf ] 그룹에 속하게 해주면 된다.



VirtualBox를 사용하는 많은 분들이 게스트 운영체제로 리눅스를 사용할 때에
공용 폴더를 자동으로 마운트를 하고서도 다시 마운트를 잡아주곤 한다.

경로를 다시 잡아주기 위해서라거나 분명한 사유가 있어서라면 그렇게 해도 되겠지만,
자동으로 마운트 설정을 잡아준 상황에서 궂이 그렇게 할 필요가 있나 싶다.

다만, 권한 문제로 사용하기가 불편하니 위와 같이 권한 설정으로 편하게 사용하자.


반응형

개인적으로 업무용 운영체제로는 리눅스가 가장 좋다고 생각하기에
윈도우즈 환경에 대해서는 그다지 알아보지도 않고 사용하지도 않고 있다.

회사에서도 우분투를 메인 운영체제로 사용하고 있고 필요에 따라 VirtualBox로 윈도우즈 환경을 사용하고 있다.
VBox의 윈도우즈 환경을 사용하긴 하지만, 공용폴더를 이용하여 중요한 파일 관리는 모두 우분투 환경에서 하고 있다.

그래서 지금까지는 파일을 다루거나 하는 스크립트를
그냥 파이썬(Python)으로 만들어서 사용하는데 아무런 문제가 없었다.


그런데, 최근 미니서버를 돌리면서 여러가지 이슈로 윈도우즈 환경을 구축했는데,
해당 서버에서 어떤 파일을 다뤄야 하는 스크립트가 필요한데...
윈도우즈 환경이다보니 파이썬 실행환경을 맞춰줘야 하게 되어서 알아보고자 한다.


공식홈페이지
   - https://www.python.org/


윈도우즈 환경을 위한 패키지도 제공을 해주고 있다.
3.x 버전과 2.x 버전을 제공해주고 있는데... 호환성을 위해 2.x 버전으로 설치를 하자.

설치할 때에 PATH 부분도 추가를 해주는 것이 편리하다.



설치가 모두 잘 되면, 실행해보자.


위와 같이 빠져나올 때엔 "exit()"를 실행하면 된다.


반응형

어렷을적 슬렉웨어(Slackware)를 설치하면서 무수히 커피를 마셨고,
레드헷(Red Hat)에 빠졌다가 페도라(Fedora)가 나오면서 왠지 배신감에 다른 배포판을 찾게 되었고...

젠투(Gentoo)의 빌드 매력에 잠시 빠져 허덕이기도 하고
필요에 의해서 솔라리스(Solaris), 수세(SUSE), 센트(CentOS), 아치(Arch) 等도 잠시 사용을 했었다.


물론 지금 필자의 블로그를 보신 분이라면 알겠지만, 최근에는 우분투(Ubuntu)에 푸욱~ 빠져 있다.
거의 지배적인 위치에 있다보니 너무나 많은 레퍼런스가 있고, 사용하기에도 편하고
업무에서도 거의 표준으로 사용하기에 개인적인 취향과 업무와 일치하기도 쉽고.... ^^


그러다가 갑자기 떠오른 생각!

   "전세계적으로 가장 많이 사용되는 배포판이 무엇일까?"


그런데 가만히 생각해보니, 이러한 순위를 종종 봤던 기억이 떠올랐다. 다른 블로그 또는 기사로 접했던 것이다.
그 아티클에서 인용을 하던 사이트는 다음과 같다.

   - http://distrowatch.com/



이 사이트에서 방문자들이 검색하는 내용을 가지고 순위를 제공해주고 있다.



필자는 당연히 Ubuntu가 1위를 하고 있을 것이라 생각했다. 하지만... 2위?!

사실 순위표 전체를 가지고 평가하면 Ubuntu가 1위가 맞다!!!
Ubuntu 기반의 배포판들을 모두 더하면 탁월하게 1위다! Mint, kubuntu, xubuntu, Lubuntu 等 모두 Ubuntu 가족들이다.

뭐 여하튼, 위에서 보는바와 같이 글로벌하게 가장 많이 사용하는 리눅스 배포판은 바로 "Mint"이다!



그래서인지, Mint 홈페이지에 보면 세상에서 3번째로 많이 사용되는 가정용 운영체제라고 자부하고 있다.
윈도우즈, Mac 다음으로 Mint ~ !!


Ubuntu 기반이다보니 당연하게도 Debian을 뿌리로 두기 때문에,
데비안 패키지와 우분투 패키지를 사용할 수 있다는 장점은 물론이고 커뮤니티 기반으로 활발한 괜찮은 배포판이다.



Mint 배포판도 한 번 국내에 많은 보급이 되도록 한 번 살펴보도록 해야겠다!
(이미 많이 알려져있을 수도 있지만, 업무에서 사용하는 용도로는 아직 아닌 것 같기에...)

반응형

hostname 우리말로는 "호스트명"이라고 부르면 될 것 같다.

일반적으로는 네트워크에서 특정 컴퓨터(서버)를 인식할 수 있는 이름을 의미하게 되며,
같은 네트워크에서는 유니크한 이름을 갖도록 해야 한다.

만일, 동일한 네트워크에서 같은 호스트명을 사용하게 된다면
단순한 혼란이 발생하는 것이 아니라 충돌상황이 발생할 수도 있다.

FQDN(Fully Qualified Domain Name)과 관련한 부분에 대해서는 이번에는 제외하도록 하겠다.


1. hostname 확인하기

   - 지금 현재 설정되어있는 호스트명을 확인하기 위해서는 다음과 같이 실행해보면 된다.
   - 물론, 대부분의 사용자들은 프롬프트에 표현되어 있기도 하다.

$ hostname

   - "2014.08.16" 기준으로 Ubuntu 12.04에서 hostname 버전은 3.06이고, 14.04에서는 3.15 이다.
   - hostname 버전에 따라서 약간의 옵션 차이가 있기에 12.04/14.04 모두에 적용되는 내용으로 설명하겠다.



2. hostname 변경하기

   - Linux 배포판에 따라 차이가 있는 부분인데, 우리는 여기에서 Ubuntu 기준으로 설명하도록 하겠다.

$ sudo nano /etc/hostname

변경하고 싶은 호스트명

   - 다른 내용은 필요없고, 호스트명을 수정하면된다.

$ sudo hostname -F /etc/hostname

   - [ hostname ] 명령으로 확인하면 변경된 것을 확인할 수 있지만, 터미널을 다시 실행하는 것이 깔끔하다.



3. 뒷정리하기

   - 위와 같이 하면, 기본적으로 호스트명을 변경할 수 있지만 다른 부분도 손봐주는 것이 바람직하기에...

$ sudo nano /etc/hosts

127.0.0.1         localhost
127.0.0.1         변경한 호스트명
...


필자의 경험으로... 네트워크와 관련된 사항들은 재부팅을 해주는 것이 가장 깔끔하다!

반응형

그 동안 계속 한글 입력기로 "nabi"를 사용해왔지만,
Ubuntu 14.04에서 시스템 트레이를 지원하지 않고 있어서 조금 짜증이 나던 차에
최근 Chrome에서 계속 한글 입력 문제가 계속 되면서 더더더욱 짜증이 나서.... 바꿔 보기로 했다.

Ubuntu 12.04에서는 기본 환경에서 아래와 같이 진행할 수가 없다.
Chrome 한글 문제는 Ubuntu 12.04에서는 그냥 ibus 한글 입력기를 사용하는 것이 속편하다.

발음하기도 힘든 fcitx라고 하는 한글입력기를 사용해보고자 한다.
공식 홈페이지는 https://fcitx-im.org/wiki/Fcitx 이고, 여기에서 발음은 "파이틱스"(?)라고 한다.

설치는 바로~ ^^

$ sudo apt-get install fcitx-hangul

한글입력기는 설치하고 사용하려면 재부팅을 요구한다.
재부팅을 안해도 된다고 하면 방법을 누가 알려주기 바란다.

재부팅 후에 "시스템 설정"을 하고선 "언어 지원"을 실행하자.




"언어 설치/제거" 부분을 보면 fcitx를 선택할 수 있다.



상세한 설정을 위해서는 상단 시스템 트레이에서 키보드 모양을 선택하고 Configure를 실행하자.



그러면 아래와 같은 화면이 나온다.


한영키 설정을 하려면 "Global Config"를 선택하면 된다.


필자는 이렇게 해서 한글 입력 잘 되었다~!!! 성공~!!!

반응형

NFS를 사용하기 위해서 사용하는 포트가 지정된 1개가 아니다.
그러다보니 방화벽 환경에서 NFS를 사용하게 되면 당연히 문제가 발생한다.



[ portmap → rpcbind ]

포트를 활용하기 위하여 portmap을설치하려 했더니 다음과 같은 메시지가 나온다.

$ sudo apt-get install portmap
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'rpcbind' instead of 'portmap'
rpcbind is already the newest version.
rpcbind set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.


portmap 대신에 rpcbind 가 설치되어 있다는 말인데, 그렇다면 우리는 rpcbind를 사용하면 된다.



[ port 현황 확인 ]

지금 사용하고 있는 port 현황을 확인해보도록 하자.

$ rpcinfo -p
   program vers proto      port  service
    100000    4      tcp        111  portmapper
    100000    3      tcp        111  portmapper
    100000    2      tcp        111  portmapper
    100000    4      udp       111  portmapper
    100000    3      udp       111  portmapper
    100000    2      udp       111  portmapper
    100024    1      udp    38905  status
    100024    1      tcp     40987  status
    100003    2      tcp       2049  nfs
    100003    3      tcp       2049  nfs
    100003    4      tcp       2049  nfs
    100227    2      tcp       2049
    100227    3      tcp       2049
    100003    2      udp      2049  nfs
    100003    3      udp      2049  nfs
    100003    4      udp      2049  nfs
    100227    2      udp      2049
    100227    3      udp      2049
    100021    1      udp    54927  nlockmgr
    100021    3      udp    54927  nlockmgr
    100021    4      udp    54927  nlockmgr
    100021    1      tcp     44736  nlockmgr
    100021    3      tcp     44736  nlockmgr
    100021    4      tcp     44736  nlockmgr
    100005    1      udp    47711  mountd
    100005    1      tcp     53370  mountd
    100005    2      udp    48583  mountd
    100005    2      tcp     43514  mountd
    100005    3      udp    51022  mountd
    100005    3      tcp     52825  mountd



[ port 등록 ]

사용할 포트를 등록해보자.

$ sudo nano /etc/services

...
status            4000/tcp                        # rpc.statd tcp port
status            4000/udp                       # rpc.statd udp port
mountd          4002/tcp                        # mountd tcp port
mountd          4002/udp                       # mountd udp port
rquotad          4003/tcp                        # rpc.rquotad tcp port
rquotad          4003/udp                       # rpc.rquotad udp port
...

실행 옵션도 수정해주어야 한다.

$ sudo nano /etc/default/nfs-kernel-server

...
# RPCMOUNTDOPTS="--manage-gids"
RPCMOUNTDOPTS="-p 4002 -g"
...

다음의 파일을 수정해야 한다.
만약 없는 경우 새로 생성하면 된다.

$ sudo nano /etc/modprobe.d/options.conf

options lockd nlm_udpport=4001 nlm_tcpport=4001


그리고, 이젠 서비스를 재시작하자.

$ sudo service rpcbind restart
rpcbind stop/waiting
rpcbind start/running, process 2519

$ sudo service nfs-kernel-server restart
 * Stopping NFS kernel daemon                                                                            [ OK ]
 * Unexporting directories for NFS kernel daemon...                                                [ OK ]
 * Exporting directories for NFS kernel daemon...                                                    [ OK ]
 * Starting NFS kernel daemon                                                                              [ OK ]

정상적으로 적용이 잘 되었는지 확인해보자.

$ rpcinfo -p
   program vers proto   port  service
    100000    4   tcp        111  portmapper
    100000    3   tcp        111  portmapper
    100000    2   tcp        111  portmapper
    100000    4   udp       111  portmapper
    100000    3   udp       111  portmapper
    100000    2   udp       111  portmapper
    100024    1   udp     4000  status
    100024    1   tcp      4000  status
    100003    2   tcp      2049  nfs
    100003    3   tcp      2049  nfs
    100003    4   tcp      2049  nfs
    100227    2   tcp      2049
    100227    3   tcp      2049
    100003    2   udp     2049  nfs
    100003    3   udp     2049  nfs
    100003    4   udp     2049  nfs
    100227    2   udp     2049
    100227    3   udp     2049
    100021    1   udp     4001  nlockmgr
    100021    3   udp     4001  nlockmgr
    100021    4   udp     4001  nlockmgr
    100021    1   tcp      4001  nlockmgr
    100021    3   tcp      4001  nlockmgr
    100021    4   tcp      4001  nlockmgr
    100005    1   udp     4002  mountd
    100005    1   tcp      4002  mountd
    100005    2   udp     4002  mountd
    100005    2   tcp      4002  mountd
    100005    3   udp     4002  mountd
    100005    3   tcp      4002  mountd



위와같이 되었다고 하면 이제 포트가 고정이 되었으니 방화벽에 포트 등록을 해주면 된다.

111 (portmap), 2049 (nfs), 4000 (status), 4001 (nfs lock manager), 4002 (mountd), 4003 (rquotad)

 

반응형

+ Recent posts