Archive for category Linux
untar to differect directory
tar -C /usr/local/uvscan/tmp/ -xvf /datos/updates/dat-5031.tar
Copy hidden files
cp -rT /from/directory /to/directory
Find string in various files
find . | xargs grep ’string’
Removing Unwanted Startup Files or Services in Debian
http://www.debianhelp.co.uk/unwanted.htm
Debian Source List
데비안을 dvd로 인스톨 했을때 소스 리스트가 cd-rom으로 되어있다
서버가 먼곳에 있거나 리모트 인스톨할때는 dvd로 인스톨을 못하므로 인터넷으로 다운 받아서 설치 해야 하는데
이때는
sudo vi /etc/apt/sources.list
# deb cdrom:[Debian GNU/Linux 5.0.3 _Lenny_ - Official amd64 DVD Binary-1 20090905-11:36]/ lenny contrib main#deb cdrom:[Debian GNU/Linux 5.0.3 _Lenny_ - Official amd64 DVD Binary-1 20090905-11:36]/ lenny contrib main
#deb cdrom:[Debian GNU/Linux 5.0.3 _Lenny_ - Official amd64 DVD Binary-3 20090905-11:36]/ lenny contrib main
#deb cdrom:[Debian GNU/Linux 5.0.3 _Lenny_ - Official amd64 DVD Binary-4 20090905-11:36]/ lenny contrib main
#deb cdrom:[Debian GNU/Linux 5.0.3 _Lenny_ - Official amd64 DVD Binary-5 20090905-11:36]/ lenny contrib main
#deb cdrom:[Debian GNU/Linux 5.0.3 Update DVD 20090907: amd64 DVD 1]/ lenny contrib main non-free
apt-get 명령할때 cd-rom에서 인스톨 하는 것에 주석을 달아준다.
데비안 (Debian) 에서 서브버전 (Subversion) 설치하기
우선 svn과 아파치2의 svn module을 설치한다
sudo apt-get install subversion libapache2-svn
보통 module을 설치했을때 자동으로 활성화 되지만 활성화되었는지 확인한다.
sudo a2enmod dav_svn
svn을 설치할 디렉토리를 만들고 거기다 svn repository를 설치한다.
sudo mkdir /home/svn
sudo svnadmin create /home/svn
svn 디렉토리를 아파치 유저를 owner로 설정한다
sudo chown -R www-data /home/svn
웹서버에 svn을 설치하므로 비밀번호를 설정해줘야 한다. htpasswd 명령어에 -c를 더해 비밀번호 파일을 생성한다./
sudo htpasswd -c /etc/apache2/dav_svn.passwd username
유저를 더 하려면
sudo htpasswd /etc/apache2/dav_svn.passwd username2
아파치를 다시 시작한다.
sudo /etc/init.d/apache2 restart
리눅스 하드 디스크 및 파티션 공간 알아보기
df 는 리눅스에 설치된 하드 드라이브의 모든 파티션을 보여준다
df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 ext3 327M 133M 178M 43% /
tmpfs tmpfs 1008M 0 1008M 0% /lib/init/rw
udev tmpfs 10M 720K 9.3M 8% /dev
tmpfs tmpfs 1008M 0 1008M 0% /dev/shm
/dev/sda9 ext3 280G 190G 76G 72% /home
/dev/sda8 ext3 373M 11M 343M 3% /tmp
/dev/sda5 ext3 4.6G 2.6G 1.8G 60% /usr
/dev/sda6 ext3 2.8G 1.4G 1.3G 51% /va
참고로 du 는 현재 디렉토리의 모든 파일 크기를 보여준다.
du -ah
4.0K ./index.php
4.0K ./index.php~
4.0K ./index.html
16K .
Linux – Output 파일로 저장하기
CLI (Command Line Interface) 도스와 같은 리눅스 CLI를 쓰다보면 참 답답할때가 있다. GUI (Graphical User Interface) 에 너무 적응이 되서 어쩔줄을 모를때가 한두번이 아니다.
CLI를 쓸때는 항상 내가 무엇을 해야 할지 알아야 한다. GUI에선 여기저기 클릭하다보면 소 뒷걸음질치다 쥐잡는 격으로 답을 찾곤 하는데
CLI에선 그런 경우가 아예 없다고 보면 된다. 요새 리눅스는 GUI 버젼이 나와서 쓰기 많이 편해졌는데 그래도 안정성때문에 아직도 CLI를 쓰는 경우가 많다.
내가 사용하는 서버중 절대 안정성을 원하는 서버는 CLI로 설정했는데
안정적이다보니 몇주나 혹은 몇달만에 로긴하곤 한다. 그럴때마다 같은 문제에 접하게 되면 그때 어떻게 했더라? 하면서 기억을 더듬는데 참 난감하다.. ㅡㅡ;
그중 한가지가 리눅스를 처음 접했을때 ls 명령문….
파일이 수십개가 있는 디렉토리를 보고 싶을때 ls 엔터키를 치면 내가 보고 싶은 줄은 벌써 지나가버리고 없다.
주변에 물어 볼 사람도 없고 ㅜㅜ; 그때 참 내 자신이 불쌍했다. ls 몇번씩 치면서 지나가는 줄 다시 보려고 하고……
정답은 ls | more 이때 출력이 스크린보다 더 크면 한줄씩 진행되어 볼수 있게 된다.
하지만 스크립트등을 디버그 할때 에러 출력이나 다른 출력들을 보고 싶을 때 more는 아무 쓸모도 없다.
그럴땐
./my_script > file <– 정상 출력
./my_script 2> file <– 에러 출력
./my_script &> file <– 모든 결과 출력
위처럼 file로 결과를 저장해서 보면 된다.
Debian – cron log
Debian Lenny 버젼에서는 cron 로그 파일이 존재하지 않는다. cron 로그 파일을 따로 만들지 않고 그냥 syslog 파일에다 모든 것을 기록하는데
만약 cron 로그 파일을 따로 만들고 싶다면
다음 파일을 열어 cron에 해당되는 주석을 삭제해준다
/etc/syslog-ng/syslog-ng.conf
# this is commented out in the default syslog.conf
# cron.* /var/log/cron.log
log {
source(s_all);
filter(f_cron);
destination(df_cron);
};
그리고 syslog 를 다시 시작해주면
/etc/init.d/syslog-ng restart
cron job이 이루어질때 따로 /var/log/cron.log 파일이 생기고 이 파일에 cron job 이 기록된다.
Debian – locate
파일을 찾을 때 유용하게 쓰이는 locate
find 보다 locate를 쓰는 이유는
명령어의 간단함과 간편함 그리고 하도 locate를 쓰는 버릇이 들었다
하지만 지금 쓰고 있는 debian에서 locate를 치면
locate syslog
-bash: locate: command not found
에러 메세지가 뜬다.
구글을 뒤져보니 업데이트된 Lenny 의 locate가 mlocate 로 바뀐 것
mlocate를 인스톨해주고 updatedb 를 실행해주면
locate를 쓸 수 있다.
apt-get install –reinstall mlocate
updatedb