■ 개요


NFS(Network File System)는 Linux 간에 많이 사용되는 네트워크 파일 공유 시스템이다.

하지만, Windows와 Linux 같은 경우 NFS 파일 시스템 공유를 것을 많이 볼 수 없다.

왜냐하면 NFS를 사용하지 않고 Sabma를 많이 이용하기 때문이다.


그렇다면 Samba와 NFS 차이는 무엇일까 ?

NFS 같은 경우 다른 머신에 있는 파티션을 마치 자신의 로컬 영역인 것처럼 네트워크를 이용하는 기술이다.

하지만, 로컬 영역인것 처럼 사용하기 위해 접근할 때 딱히 보안상으로 크게 좋지는 않다.

실제로 공유하는 머신인 Linux에서도 별 다른 설정이 없다.


반면 Samba는 인증 방식을 통해 접근이 가능하다.

실제 설정하는 부분에서도 여러가지 설정을 할 수 있다.


두 가지 서비스마다 각 다른 차이점이 있겠지만, 보안을 크게 신경쓰지 않는다면 NFS를 추천해주고 싶다.



■ 설치 전 환경


Linux : Centos 5.4

Windows : Windows 7 Enterprise K


여기서 Linux 부분에서는 OS 버전이 크게 필요없다.

그저 NFS 설치만 되어있으면 된다.



■ Linux에서의 마운트 공유 설정


[root@localhost home]# ls

linux  lost+found

[root@localhost home]# vi /etc/exports

/home        *(rw,async,no_root_squash,no_all_squash,no_subtree_check)

[root@localhost home]# service nfs restart


아주 간단하다. /etc/export에 /home 공유를 해주고 모든 머신이 접근이 가능하도록 *을 넣어줬다.

특정 머신에 설정을 원할 경우 특정 머신의 IP를 입력해주면 된다.

해당 범위 내 광역으로 넣어줄 경우 예로 192.168.1.* 이런식으로 넣어줘도 된다.



■ Windows에서 마운트


윈도우 cmd 열고 mount 입력하면 없는 명령어라고 나온다.

경우는 mount 기능이 disable 되어있기 때문에 enable 시켜준다.

 

제어판 - 프로그램 추가/제거 - Windows 기능 사용/사용 안함 클릭



선택 확인




초록색 박스 mount 기능이 disable .

아래 빨간 박스 mount 기능이 enable .





리눅스 NFS 다르게 Windows에서는 네트워크 드라이브로 인식이 되어 마운트가 되는 하다.

원하는 드라이브의 경로를 설정 마운트해주면 된다.

그림에서는 H:\ 마운트를 했다.

해지할 때에는 umount 명령어를 써주면 된다.





드라이브에 진입




linux에서 존재했던 linux 파일이 존재하는 것을 확인할 있다.




추가적으로 윈도우에서 자동 마운트가 되도록 설정을 하고 싶지만, 찾아봐도 보이지 않는다...

아마 최초 마운트를 하면서 자동 마운트가 되는 듯 하다. Windows 재부팅을 해서 확인하고 싶었지만, 

돌리고 있는 작업들이 있어서 재부팅하지 못했다.

만약 된다면.. 댓글 좀.. 

저작자 표시 비영리 변경 금지
신고




녕하세요. 오랫만에 리눅스 관련하여 글 작성합니다.

요즘은 Web 관련 공부를 하고 있어서 PHP 모듈 중 하나인 Zend Optimizer 라는 모듈에 대해 포스팅합니다.


Zend Potimizer라는 것은 php 파일을 컴파일 및 인코딩하여 php 응용 프로그램 실행을 향상시키는 툴 입니다.


또한 Web 종사자분들이면 대부분이 아시겠지만, PHP 5.3 이하 버전에서는 Zend Optimizer 라는 것을 썼었고

그 후에는 Zend Guard Loader로 명칭이 변경되었습니다.

아래 내용을 참고해주세요.



### 버전별 Zend Guard Loader & Zend Optimizer


Zend Optimizer (Runtime for PHP 5.2 and earlier) - 64 bit : 3.3.9

Zend Guard Loader (Runtime for PHP 5.3) - 64 bit - 5.5.0

Zend Guard Loader (Runtime for PHP 5.4) - 64 bit - 6.0.0

Zend Guard Loader (PHP 5.6 Runtime) - 64 bit - 7.0.0


다운로드 http://www.zend.com/en/products/guard/downloads

or 3.3.9 직접 다운로드 : 

ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz




위와 같이 자신의 php 버전을 확인하고 꼭 설치하시길 바랍니다.



### Zend Optimizer 버전 확인


[root@seob ~]# php -v

PHP 5.2.17 with Suhosin-Patch 0.9.7 (cli) (built: Jan 10 2011 15:17:13) 

Copyright (c) 1997-2009 The PHP Group

Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies


현재 제 서버에 셋팅된 php은 5.2.17 입니다.

OS는 Centos 5.11 64bit 입니다.

따로 컴파일 없이 yum으로 설치한 php 입니다.

yum으로 5.2.17 버전을 만들기 위해서는 repo를 다운 받아야합니다.



### PHP 5.2.17 버전으로 업그레이드


[root@seob yum.repos.d]# pwd

/etc/yum.repos.d

[root@seob yum.repos.d]# cat iworx-unsupported.repo 

[iworx-unsupported]

name=IWorx Unsupported

baseurl=http://updates.interworx.com/iworx/RPMS/unsupported/php5/cos5x/$basearch/

gpgcheck=0


yum에 iworx repo를 추가 한 후 yum install php 를 입력해주시면 php 5.2.17로 설치가 됩니다.



### Zend Optimizer 설치 및 적용


[root@seob local]# tar zxvf ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz

[root@seob local]# mv ZendOptimizer-3.3.9-linux-glibc23-x86_64 ZendOptimizer

[root@seob local]# cd ZendOptimizer/data/5_2_x_comp/

[root@seob 5_2_x_comp]# pwd

/usr/local/ZendOptimizer/data/5_2_x_comp

[root@seob 5_2_x_comp]# vi /etc/php.ini

 

하단에 아래와 같이 추가

[Zend]

zend_extension=/usr/local/ZendOptimizer/data/5_2_x_comp/ZendOptimizer.so

 

[root@seob 5_2_x_comp]# service httpd restart

Stopping httpd:                                            [FAILED]

Starting httpd:                                            [  OK  ]

[root@seob log]# php -v

PHP 5.2.17 with Suhosin-Patch 0.9.7 (cli) (built: Jan 10 2011 15:17:13)

Copyright (c) 1997-2009 The PHP Group

Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

    with Zend Optimizer v3.3.9, Copyright (c) 1998-2009, by Zend Technologies

 

아래와 같이 추가가 되어야 정상적으로 Zend Optimizer 적용



생각보다 매우 간단합니다.

처음에는 zend optimizer를 설치하여 -with-php 등 옵션을 주거나 혹은 php에서 그러한 옵션을 줘서 컴파일하는 줄 알았는데 

압축 후 파일만 로드 시키면 되는 것입니다.

Zend Optimizer 뿐만 아니라 Zend Gruard Loader도 비슷한 형식입니다.


Web 관리자거나 Web을 배우는 분들에게 좋은 유용한 팁이라고 생각됩니다.

설명이 어렵거나 이해가 잘 안되는 부분이 있다면 피드백 남겨주세요.

저작자 표시 비영리 변경 금지
신고





눅스를 사용하시다보면, 부팅 시 Error Check를 하게 되는데 이 부분에서 제대로 넘어가지 않을 경우 OS로 정상적인 부팅이 안되는

경우가 있습니다.


이 경우에 / 포인터가 아닌 다른 파티션 일 경우 CLI 모드에서 곧바로 패스워드를 입력 후 파일시스템 체크를 하면 되지만,

/ 포인터 일 경우 Rescue로 부팅하여 해결해야하는 번거로움이 따릅니다.


 Rescue로 부팅을 해야하나면, 파일시스템 체크를 하기 위해서 해당 파티션을 Umount 시켜야합니다.

하지만, Rescue이 아닌 일반적으로 부팅하면 / 포인터가 마운트가 되어있고 Umount가 불가능 합니다.


Rescue 부팅은 System Rescue CD라는 것을 찾아 직접 CD로 굽고 부팅을 하거나 혹은 OS의 CD를 넣고 설치 화면 직전에

Rescue 모드로 부팅이 가능합니다.




# 파일시스템 체크 방법 [ Block size를 이용한 파일시스템 ]


상황 설명.

- 현재 / 포인터가 제대로 Error Check가 되지 않아 부팅이 되지 않는 문제. 그리고 하드디스크는 1개 장착으로 /dev/sda로 보이고 있음


1. Rescue 모드 부팅

- System Rescue 혹은 OS CD로 부팅


2. / 포인터 확인

[root@seob ~]# fdisk -l


Disk /dev/sda: 299.4 GB, 299439751168 bytes

255 heads, 63 sectors/track, 36404 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes


   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1       23643   189912366   83  Linux

/dev/sda2           23644       36391   102398310   83  Linux

/dev/sda3           36392       36404      104422+  82  Linux swap / Solaris


WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.

현재 디스크는 한개만 장착이 되어있고 / 포인터는 Boot의 * 표시로 가리키고 있습니다.

그렇기 때문에 /dev/sda1을 파일시스템 체크 해야 합니다.



3. Block size 확인

[root@seob ~] dumpe2fs /dev/sda1 | grep "^Block size"

dumpe2fs 1.39 (29-May-2006)

Block size:               4096

위에 보이는 것처럼 4096이 Block size가 됩니다.


4. 파일시스템 복구

[root@seob ~] fsck.ext3 -B 4096 -v -f /dev/sda1


현재 여러가지 옵션이 들어가 있습니다.

이 명령어를 해석하면 파일시스템이 ext3인 /dev/sda1의 블럭 사이즈를 잡고 상세하고 강제적으로 복구

이런 내용입니다.


파일시스템은 ext2나 ext4일 경우 fsck.ext2 fsck.ext4나 e2fsck -j ext2, e2fsck -j ext4 이런식으로 응용해서 사용이 가능합니다.

-v 옵션은 복구 과정을 상세히 출력이라는 내용이며 -f 은 문제가 발생해도 강제적으로 검사하라는 것 입니다.

-B는 Block size입니다. -b 옵션은 Super block입니다. 꼭 두 옵션을 헷깔리지 않으시면 됩니다.


5. 마무리

모든 파일시스템 체크가 완료 뒤 재부팅을 해주시면 정상적으로 올라오는 것이 보이실 것입니다.




간단하지만 헷깔리는 분들도 계실꺼라 생각하여 작성했습니다.

이해가 잘 안되는 부분이 있다면 댓글 부탁드립니다.

저작자 표시 비영리 변경 금지
신고



녕하세요.


일반 사용자가 sudo를 사용할 때 권한이 없어 사용하지 못합니다.


우분투에서는 사용이 가능했던걸로 기억했지만.. 센토스에서는 되지 않네요.


이 명령어를 제대로 활용하기 위해서는 아래와 같이 따라하시면 됩니다.



Ⅰ. 설정 방법


[root@seob ~]# tail /etc/passwd

haldaemon:x:68:68:HAL daemon:/:/sbin/nologin

gdm:x:42:42::/var/lib/gdm:/sbin/nologin

ntp:x:38:38::/etc/ntp:/sbin/nologin

apache:x:48:48:Apache:/var/www:/sbin/nologin

mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash

pulse:x:497:494:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

tcpdump:x:72:72::/:/sbin/nologin

oprofile:x:16:16:Special user account to be used by OProfile:/home/oprofile:/sbin/nologin

nx:x:496:500::/var/NX/nx:/etc/NX/nxserver



현재는 아무런 사용자가 추가되어있지 않는 상태입니다. 그렇기 때문에 사용자를 추가해줍니다.



[root@seob ~]# useradd seob

[root@seob ~]# passwd seob

Changing password for user seob.

New password: 

Retype new password: 

passwd: all authentication tokens updated successfully.



seob이라는 계정이 생성되었습니다.

su 명령어로 seob로 전환 후 sudo 명령어를 사용해보겠습니다.



[root@seob ~]# su - seob

[seob@seob ~]$ sudo -s


We trust you have received the usual lecture from the local System

Administrator. It usually boils down to these three things:


    #1) Respect the privacy of others.

    #2) Think before you type.

    #3) With great power comes great responsibility.


[sudo] password for seob: 

seob is not in the sudoers file.  This incident will be reported.



su로 seob 계정으로 전환 후 sudo -s 라는 명령어로 root로 전환하려고 했지만 실패했습니다.

seob에 대한 sudoers 파일이 기록되어 있지 않기 때문입니다.

즉, 쉽게 말해 sudo 권한이 없는 것이죠.

이 문제를 해결하기 위해서는 다음과 같이 똑같이 해주세요.



■ 수정 전

[root@seob ~]# vi /etc/sudoers


 88 ## Next comes the main part: which users can run what software on 

 89 ## which machines (the sudoers file can be shared between multiple

 90 ## systems).

 91 ## Syntax:

 92 ##

 93 ##      user    MACHINE=COMMANDS

 94 ##

 95 ## The COMMANDS section may have other options added to it.

 96 ##

 97 ## Allow root to run any commands anywhere 

 98 root    ALL=(ALL)       ALL

 99 

100 ## Allows members of the 'sys' group to run networking, software, 

101 ## service management apps and more.

102 # %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS

103 

104 ## Allows people in group wheel to run all commands

105 # %wheel        ALL=(ALL)       ALL

106 

107 ## Same thing without a password

108 # %wheel        ALL=(ALL)       NOPASSWD: ALL

109 

110 ## Allows members of the users group to mount and unmount the 

111 ## cdrom as root

112 # %users  ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom

113 

114 ## Allows members of the users group to shutdown this system

115 # %users  localhost=/sbin/shutdown -h now

116 

117 ## Read drop-in files from /etc/sudoers.d (the # here does not mean a comment)

118 #includedir /etc/sudoers.d



현재 98번 줄에 root만 추가가 되어있습니다.

그 아래에 seob 계정에 대한 내용을 추가해주세요.



■ 수정 후

[root@seob ~]# vi /etc/sudoers


 88 ## Next comes the main part: which users can run what software on 

 89 ## which machines (the sudoers file can be shared between multiple

 90 ## systems).

 91 ## Syntax:

 92 ##

 93 ##      user    MACHINE=COMMANDS

 94 ##

 95 ## The COMMANDS section may have other options added to it.

 96 ##

 97 ## Allow root to run any commands anywhere 

 98 root    ALL=(ALL)       ALL

 99 seob    ALL=(ALL)       ALL

100 

101 ## Allows members of the 'sys' group to run networking, software, 

102 ## service management apps and more.

103 # %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS

104 

105 ## Allows people in group wheel to run all commands

106 # %wheel        ALL=(ALL)       ALL

107 

108 ## Same thing without a password

109 # %wheel        ALL=(ALL)       NOPASSWD: ALL

110 

111 ## Allows members of the users group to mount and unmount the 

112 ## cdrom as root

113 # %users  ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom

114 

115 ## Allows members of the users group to shutdown this system

116 # %users  localhost=/sbin/shutdown -h now

117 

118 ## Read drop-in files from /etc/sudoers.d (the # here does not mean a comment)



위와 같이 수정후 wq!로 저장하여 나와주세요.

그리고 다시 su 명령어로 seob으로 전환합니다.



[root@seob ~]# su - seob

[seob@seob ~]$ sudo -s

[sudo] password for seob: 

[root@seob seob]#



이제는 sudo 명령어가 잘 먹힙니다.





Ⅱ. sudo에 대해서


sudo 명령어는 무엇일까요 ?


sudo 명령어는 일반 사용자가 sudo 명령어로 통해서 일시적으로 root의 권한을 획득하여 해당 명령어를 처리합니다.


그럼 굳이 root로 사용하면 될 것을 왜 sudo 명령어를 사용할까요 ?


그 이유는 일반 유저가 root의 패스워드를 알 필요가 없기 때문이죠. 하지만, root의 권한이 필요할 때에는 이러한 방식으로 사용하는 것이 보안쪽으로도 안전합니다.


저작자 표시 비영리 변경 금지
신고





눅스상에서의 history.


많이들 이용하시나요 ?



end user가 사용하다가 갑자기 잘못 되었을 때.


해킹을 당했을 때.


등 많이 쓰입니다.



하지만.. 


일반적인 history은 기록은 시간을 볼 수가 없습니다.


그러기 때문에 history로 분석할 때 매우 힘들었죠.


하지만.. 이제 쉽게 해보도록 하겠습니다.



[root@seob ~]# history | tail

  992  ls

  993  cd $WINE

  994  ls

  995  ln -s wine64 wine

  996  ls

  997  cd /

  998  ls

  999  su -

 1000  history 

 1001  history | tail


기존의 history 입니다.


그냥 순번대로 명령어만 보입니다.



시간 기록을 하기 위해


아래와 같이 해주세요.


[root@seob ~]# tail /etc/profile

            . "$i"

        else

            . "$i" >/dev/null 2>&1

        fi

    fi

done


unset i

unset -f pathmunge

HISTTIMEFORMAT="%Y-%m-%d [%H:%M:%S]# "


/etc/profile = 모든 사용자


~/.bash_profile = 해당 사용자



저는 모든 사용자가 사용할 수 있게끔 수정했습니다.


맨 아래 빨간 글씨로 되어있는걸 그대로 적어서 넣어주시면 됩니다.



그리고 난 뒤


logout 혹은 su - 혹은 source /etc/profile 로 적용해주세요.



[root@seob ~]# history | tail

  991  2014-07-30 [13:08:18]# cd wine-1.7.23/

  992  2014-07-30 [13:08:18]# ls

  993  2014-07-30 [13:08:18]# cd $WINE

  994  2014-07-30 [13:08:18]# ls

  995  2014-07-30 [13:08:18]# ln -s wine64 wine

  996  2014-07-30 [13:08:18]# ls

  997  2014-07-30 [13:08:18]# cd /

  998  2014-07-30 [13:08:18]# ls

  999  2014-07-30 [13:08:18]# su -

 1000  2014-07-30 [13:08:22]# history | tail


이렇게 보시면 년-월-일 [시/분/초]로 확인하실 수 있습니다.


이제 쉽게 history를 사용합시다.


저작자 표시 비영리 변경 금지
신고




번에는 crond 데몬에 대해 배워보겠습니다.


심화가 아닌 기초적인 설명만 하겠습니다.



crond 데몬은 아주 유용하게 쓰입니다.


어떻게 쓰이냐에 따라 천지차별이죠.



저 같은 경우는 시간을 동기화 시키는데에 쓰이고


가끔 백업에 사용되기도 합니다.






이번에 제가 설명드리고하자는건 백업에 대한 설명으로 드리겠습니다.




■ Crond 데몬 활용하기


업하기 위한 폴더와 파일을 생성하도록 하겠습니다.


기본적인 폴더에서 백업을 하려고 했는데 용량이 여의치 않아서 간단한 폴더를 생성하겠습니다.



[root@seob /]# mkdir seob  

[root@seob /]# cd seob

[root@seob seob]# touch min.txt

[root@seob seob]# echo "Hello. Min" >> min.txt 

[root@seob seob]# cat min.txt 

Hello. Min


위 명령어에 대한 설명


/ 폴더 아래에 seob 이라는 폴더를 생성후 min.txt 라는 일반 파일을 생성했습니다.


그리고 그 파일안에 Hello. Min 이라는 문구를 넣었습니다.



그리고 난 뒤 crond 데몬을 활용하여 매시간 1분에 백업을 하도록 설정하겠습니다.



[root@seob home]# cat /etc/crontab 

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/


# For details see man 4 crontabs


# Example of job definition:

# .---------------- minute (0 - 59)

# |  .------------- hour (0 - 23)

# |  |  .---------- day of month (1 - 31)

# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...

# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

# |  |  |  |  |

# *  *  *  *  * user-name command to be executed


기본적인 crontab에 대한 내용입니다.


여기에 언제, 누가, 어떠한 명령으로, 무엇을 실행하는지 작성하시면 됩니다.


기본적으로 주석되어 설명이 되어있기 때문에 설명은 생략하겠습니다.



우리는 매시간 1분마다 백업을 하기 위하니깐 다음과 같이 작성해줍니다.


[root@seob home]# cat /etc/crontab 

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/


# For details see man 4 crontabs


# Example of job definition:

# .---------------- minute (0 - 59)

# |  .------------- hour (0 - 23)

# |  |  .---------- day of month (1 - 31)

# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...

# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

# |  |  |  |  |

# *  *  *  *  * user-name command to be executed

01 * * * * root run-parts /etc/cron.hourly


매시간 1분마다 /etc/cron.hourly 폴더 안에 있는 스크립트를 root 권한으로 실행하라


라는 표기입니다.




※ 알고가기


/etc/cron.*에는 여러가지가 있습니다.


cron.daily/   cron.hourly/  cron.monthly/ cron.weekly/


이렇게 네가지로 구분되며


cron.daily = 하루


cron.hourly = 시간


cron.weekly = 주


cron.monthly = 달


이렇게 구분이 됩니다.


시간에 따른 스크립트를 안에 넣어주시면 됩니다.



그리고 난 뒤 백업을 할 스크립트를 작성해주셔야합니다.


[root@seob /]# cat /etc/cron.hourly/backup.sh 

#!/bin/bash


time="$(date)"   ##### time 이라는 변수를 생성하고 date 명령어를 time 변수에 삽입


tar zcvf /home/backup-"$time".tar.gz /seob

##### /seob 이라는 폴더를 tar.gz으로 압축을 묶고 /home 폴더 아래에 backup-"현재 시간".tar.gz으로 압축


[root@seob /]# chmod 755 /etc/cron.hourly/backup.sh ##### backup.sh 파일의 권한을 755로 변경


crond이 실행되면 cron.hourly에 있는 스크립트가 실행되기 때문에


/etc/cron.hourly에 backup.sh 이라는 스크립트를 만들어 줍니다.


여기서 중요한 것은 스크립트의 권한은 755 혹은 777 로 주세요.


안전성을 고려하신다면 755로 주세요.



이렇게까지 모두 완료되었으면 crond 데몬을 실행합니다.


[root@seob /]# service crond start

Starting crond:                                            [  OK  ]

[root@seob /]# chkconfig crond on



그리고 매시간 1분에 home 폴더로 이동해봅니다.


[root@seob home]# ls

backup-Wed Jul 30 11:01:00 KST 2014.tar.gz


저희가 만든대로 생성이 되었습니다.


문제는.. 띄어쓰기 때문에 압축해제가 되지 않네요.


이름을 aaa.tar.gz로 변경하고 압축을 풀겠습니다.


[root@seob home]# mv backup-Wed\ Jul\ 30\ 11\:01\:00\ KST\ 2014.tar.gz aaa.tar.gz

[root@seob home]# tar zxvf aaa.tar.gz 

seob/

seob/min.txt

[root@seob home]# ls

aaa.tar.gz  seob

[root@seob home]# cd seob

[root@seob seob]# cat min.txt 

Hello. Min


백업이 정상적으로 되었습니다.


min.txt 파일에 있던 내용도 그대로 잘 출력 되네요.











제는 시간에서의 띄어쓰기인데.....


[root@seob /]# cat /etc/cron.hourly/backup.sh 

#!/bin/bash


time="$(date)"   ##### time 이라는 변수를 생성하고 date 명령어를 time 변수에 삽입


tar zcvf /home/backup-"$time".tar.gz /seob

##### /seob 이라는 폴더를 tar.gz으로 압축을 묶고 /home 폴더 아래에 backup-"현재 시간".tar.gz으로 압축


이 부분에서 


time="$(date)" 부분을 time="$(date +%y%m%d)"로 변경해주세요.


그럼 이렇게 저장이 됩니다.


[root@seob home]# ls

backup-140730.tar.gz

[root@seob home]# tar zxvf backup-140730.tar.gz 

seob/

seob/min.txt


띄어쓰기가 없으니 압축도 잘 풀어지네요.



이상으로 기초 crontab 활용에 대해 설명을 마치겠습니다.


저작자 표시 비영리 변경 금지
신고






일반적으로 우리가 사용하는 vi은 행 번호가 보이지 않습니다.





하지만 블로그 혹은 강의 등으로 따라할 때 행 번호가 있으면 참 변하죠.






##### 임시적 행 번호 표시 #####



vi 파일명을 활성화한 상태에서 [ Shift + ; ] + set nu 를 입력 후 [ Enter Key ]를 누르면 행 번호가 보입니다.




하지만 매번 vi 할 때마다 적용해주셔야 합니다.





##### 해당 계정에만 영구적 set nu 적용 #####


[root@seob ~]# cat ~/.vimrc

set nu


해당 계정에서의 .vimrc를 열어 다음과 같이 넣어주시면 됩니다.


일반적으로 이 파일이 없을 경우 생성해서 사용하시면 됩니다.


파일을 생성 후


su - 계정명으로 들어가셔서 확인해보시기 바랍니다.


[root@seob ~]# su -






##### 모든 계정에 영구적 set nu 적용 #####


[root@seob ~]# tail /etc/vimrc 

     set t_Co=8

     set t_Sb=m

     set t_Sf=m

endif


" Don't wake up system with blinking cursor:

" http://www.linuxpowertop.org/known.php

let &guicursor = &guicursor . ",a:blinkon0"


set nu


tail 명령어는 기본적으로 파일의 맨 끝에서 10 행만 출력합니다.


/etc/vimrc 파일 아래의 맨 끝에 set nu을 적용하시면 모든 계정이 영구적으로 vi 사용 시 행 번호가 출력 됩니다.


이것도 설정 후 su - 계정을 꼭 해주세요


저작자 표시 비영리 변경 금지
신고



오늘은 Linux 상에서 카카오톡을 쓸 수 있도록 해보겠습니다.


참 어려운거 별거 없는데요.


Linux에서는 기본적으로 윈도우에서 쓰는 *.exe 파일을 사용할 수 없습니다.


이 단점을 보안하기 위한것이 Wine 입니다.


yum을 통하여 wine을 설치 한 뒤 카카오톡을 설치해보도록 하겠습니다.




  • 카카오톡 및 wine 설치


먼저 wine을 설치합니다.


옛날만하더라도 *rpm 혹은 소스파일을 가지고 컴파일하고 설치했지만


우리는 깔끔하게 yum으로 설치해줍니다.


[root@seob /]# yum install wine


저 같은 경우는 repo가 너무 많아서 133개 정도 설치와 업데이트를 진행하더군요..


[root@seob yum.repos.d]# yum list installed | grep wine
wine.x86_64             1.6.1-1.el6     @epel                                  
wine-alsa.x86_64        1.6.1-1.el6     @epel                                  
wine-capi.i686          1.6.1-1.el6     @epel                                  
wine-capi.x86_64        1.6.1-1.el6     @epel                                  
wine-cms.i686           1.6.1-1.el6     @epel                                  
wine-cms.x86_64         1.6.1-1.el6     @epel                                  
wine-common.noarch      1.6.1-1.el6     @epel                                  
wine-core.i686          1.6.1-1.el6     @epel                                  
wine-core.x86_64        1.6.1-1.el6     @epel                                  
wine-courier-fonts.noarch
wine-desktop.x86_64     1.6.1-1.el6     @epel                                  
wine-filesystem.noarch  1.6.1-1.el6     @epel                                  
wine-fixedsys-fonts.noarch
wine-fonts.noarch       1.6.1-1.el6     @epel                                  
wine-ldap.i686          1.6.1-1.el6     @epel                                  
wine-ldap.x86_64        1.6.1-1.el6     @epel                                  
wine-marlett-fonts.noarch
wine-ms-sans-serif-fonts.noarch
wine-openal.i686        1.6.1-1.el6     @epel                                  
wine-openal.x86_64      1.6.1-1.el6     @epel                                  
wine-pulseaudio.i686    1.6.1-1.el6     @epel                                  
wine-pulseaudio.x86_64  1.6.1-1.el6     @epel                                  
wine-small-fonts.noarch 1.6.1-1.el6     @epel                                  
wine-symbol-fonts.noarch
wine-system-fonts.noarch
wine-tahoma-fonts.noarch
wine-twain.i686         1.6.1-1.el6     @epel                                  
wine-twain.x86_64       1.6.1-1.el6     @epel                                  
wine-wingdings-fonts.noarch
wine-wow.x86_64         1.6.1-1.el6     @epel


보시는거와 같이 1.6.1-1 버전이 설치되었습니다.


다음은 카카오톡 설치 실행파일을 다운로드하러 갑니다.




카카오톡 홈페이지 : http://www.kakao.com


카카오톡 PC 버전 다운로드 페이지 : http://www.kakao.com/services/8






저장은 Save FIle로 하시거나 곧바로 Open with 을 하셔도 됩니다.


Open with 하실 경우 자동으로 wine으로 KakaoTalk_Setup.exe 파일을 실행합니다.


저 같은 경우는 Save File을 클릭하겠습니다.



[root@seob Downloads]# pwd
/root/Downloads
[root@seob Downloads]# ls
KakaoTalk_Setup.exe


저는 기본적으로 /root/Downloads에 저장이 됩니다.



[root@seob Downloads]# wine KakaoTalk_Setup.exe


이렇게 하게 되면 최초 Wine 실행시 Wine Mono Installer, Wine Gecko Installer 를 설치하게 되며 실행됩니다.





첫 화면입니다.


위와 같이 뜬다면 Wine으로 *.exe 파일을 잘 실행한게 됩니다.



설치 전 Kakao가 설치 될 폴더를 지정해줍니다.


저 같은 경우는


/usr/local/kakao 라는 폴더를 생성하겠습니다.


[root@seob /]# mkdir /usr/local/kakao






설치 경로입니다.


Linux의 /root가 Z 드라이브로 인식이 되어있네요.






설치가 완료되었습니다.


처음 보여드렸던 것은 한국어로 되어있지만 영어로 변경해서 설치했습니다.





카카오톡 업데이트가 되고 있는 모습이고 바탕화면에 KakaoTalk이 설치 됐습니다.


이제 Linux에서도 카카오톡을 즐기시면 됩니다.




Centos에서의 한글 사용 방법 - http://mslee89.tistory.com/65




P.S

Centos에서 포스팅하려니 죽을 맛이네요.

저작자 표시 비영리 변경 금지
신고




top 명령에서의 load average란 무엇일까요 ?


top 명령어를 보면서 참 의아했습니다.


top - 20:58:24 up 21 min,  3 users,  load average: 0.78, 0.83, 0.58

Tasks: 262 total,   1 running, 261 sleeping,   0 stopped,   0 zombie

Cpu(s):  0.1%us,  0.1%sy,  0.0%ni, 99.6%id,  0.2%wa,  0.0%hi,  0.0%si,  0.0%st

Mem:   3827348k total,  3666912k used,   160436k free,    10936k buffers

Swap:  8388600k total,     1008k used,  8387592k free,  3272940k cached


부하의 평균 값이라고 보시면 된다고 표현할 수 있습니다.


어느 블로그마다 표현하는 방식이 다 다른데


어디에는 1분 5분 15분 ? 간격이라고 말씀하시고


다른 곳은 또 5분 10분 15분 이라고 하십니다.




제가 볼 때에는 순서는 5분 10분 15분 정도로 확인할 수 있습니다.





직접 작업을 건 결과 


load average: 2.97, 1.50, 0.92 이런식으로 부하가 되었습니다.


5분 칸에는 부하율이 올라갔으며 갈수록 떨어지는 현상으로 변경되었습니다.


즉, 현재 작업을 하고 있으니 5분 칸에는 부하율이 올라가고 있으며 그 뒤에는 떨어지니 부하율이 낮아지는거죠.




그리고 작업이 끝난 뒤에는 


load average: 1.52, 1.84, 1.17 다시 부하율이 점차 낮아지고 있습니다.


작업을 걸었을 때와 상반되죠 ?




그럼, 첫번째 ( 5분 칸 )쪽에 부하율이 계속해서 높아지고 있다면 조치가 필요한 상황입니다.




또한, 저기서 보여지는 수치 값은 얼마가 최대일까 ? 라는 생각을 해보았습니다.


이곳 저곳을 찾기로는 싱글 코어는 1.00이 최대라고 들었습니다.


8 코어인 제 노트북은 최대 8.00까지라고 볼 수 있네요.


실제로 8.00까지 간적은 없습니다.


거의 4.00까지 간적 있죠.






일단 여러가지 테스트를 해보고, 제 가정인 8.00 코어를 넘는지에 대해 확인까지 해보아야 겠습니다.


부족한 점이 있다면 댓글로 남겨주세요.


저작자 표시 비영리 변경 금지
신고



노트북에 새롭게 CentOS 6.5 설치하고 키보드를 입력하는데.. !


계속 터치패드를 누르게 되네요.


스크립트 수정하는 도중에 눌러져서 커서가 다른 곳으로 가 있고..


이번에는 터치패드를 켜고 끄는 방법에 대해 설명하겠습니다.





아주 간단한 포스팅이니 쉽게 따라하시면 됩니다.





터치패드 켜기

[root@seob ~]# synclient TouchpadOff=0



터치패드 끄기

[root@seob ~]# synclient TouchpadOff=1



단순히 숫자값만 변경해주시면 됩니다.




재부팅할 때마다 새롭게 계속 변경해주어야하므로 스크립트를 작성했습니다.


[root@seob ~]# cat touchpad 

#!/bin/bash


if [ $* -eq 0 ];

then

synclient TouchpadOff=0

echo "##### TouchPad On #####"

else 

if [ $* -eq 1 ];

then

synclient TouchpadOff=1

echo "##### TouchPad Off #####"

fi

fi


실행은 ./touchpad 0 혹은 1 넣어서 변경하시면 됩니다.


저작자 표시 비영리 변경 금지
신고


티스토리 툴바