'Linux'에 해당되는 글 15건
- 2011.01.25 [Shell Script] Log 디렉토리 삭제
- 2010.03.23 ubuntu 9.10 sound... Dummy output problem.
- 2010.03.03 커널 컴파일(kernel compile - make install) 에러
- 2010.03.03 make menuconfig 에러
- 2010.01.06 우분투 / 데비안 계열 고정 ip 설정 4
- 2009.12.12 diff and patch in linux
- 2009.11.30 Debian lenny - FlashPlayer 설치
- 2009.08.31 vi 문자열 치환 2
- 2009.08.28 LXR(Linux Cross-Reference)
- 2009.08.25 Ubuntu 한국 업데이트(kr.archive.ubuntu.com) 미러 접속문제.. 1
2011. 1. 25. 13:57
[Shell Script] Log 디렉토리 삭제
2011. 1. 25. 13:57 in Linux/Tip
쌓여만 가는 로그때문에 하드 용량의 압박을 받을 때가 종종 생긴다.
어차피 로그는 어떠한 이벤트(사고)가 발생했을 때 전 후로 참조할 부분만 있으면 되지..
몇달이고 몇년이고 로그를 보물단지처럼 간직하고 있을 필요는 없을듯..
1달 정도의 로그만 유지하기 위한 간단한 스크립트다
#!/bin/sh
LOG_DIR=~/test/src/log
DELETE_LOG=`date +%Y%m%d --date '1 month ago'`
if [ -d $LOG_DIR/$DELETE_LOG ]; then
rm -rf $LOG_DIR/$DELETE_LOG
else
echo "There's no logs..."
fi
LOG_DIR=~/test/src/log
DELETE_LOG=`date +%Y%m%d --date '1 month ago'`
if [ -d $LOG_DIR/$DELETE_LOG ]; then
rm -rf $LOG_DIR/$DELETE_LOG
else
echo "There's no logs..."
fi
오늘 날짜를 기준으로 해서 1달 전의 로그 디렉토리를 지운다.
'logrotate' 라는 녀석을 살펴보았는데.. 이 녀석은 file 로 된 로그에 한해서 사용되는 모양이다.
자세한 것은 더 살펴봐야 하겠지만..
'Linux > Tip' 카테고리의 다른 글
ubuntu 9.10 sound... Dummy output problem. (0) | 2010.03.23 |
---|---|
우분투 / 데비안 계열 고정 ip 설정 (4) | 2010.01.06 |
diff and patch in linux (0) | 2009.12.12 |
vi 문자열 치환 (2) | 2009.08.31 |
Ubuntu 한국 업데이트(kr.archive.ubuntu.com) 미러 접속문제.. (1) | 2009.08.25 |
2010. 3. 23. 01:10
ubuntu 9.10 sound... Dummy output problem.
2010. 3. 23. 01:10 in Linux/Tip
우분투 9.10 을 설치하곤 여태껏 한번도 소리가 안들린다고 생각한 적이 없었다...
오늘 유투브에서 동영상을 보려 헤드폰을 사용하기 전까지는.. -_-;
사운드 카드 아이콘에 마우스를 가져가니 "Dummy output"이란다...
일단 해결 방법을 찾았고, 지금은 사운드 자~알 나온다 ^^;
해결방법..
$ sudo update-grub
$ sudo apt-get remove --purge alsa-base
$ sudo apt-get remove --purge pulseaudio
$ sudo apt-get install alsa-base
$ sudo apt-get install pulseaudio
$ sudo alsa force-reload
$ sudo reboot
$ sudo apt-get remove --purge alsa-base
$ sudo apt-get remove --purge pulseaudio
$ sudo apt-get install alsa-base
$ sudo apt-get install pulseaudio
$ sudo alsa force-reload
$ sudo reboot
참고 웹 페이지..
http://ubuntuforums.org/showthread.php?p=8267482
'Linux > Tip' 카테고리의 다른 글
[Shell Script] Log 디렉토리 삭제 (0) | 2011.01.25 |
---|---|
우분투 / 데비안 계열 고정 ip 설정 (4) | 2010.01.06 |
diff and patch in linux (0) | 2009.12.12 |
vi 문자열 치환 (2) | 2009.08.31 |
Ubuntu 한국 업데이트(kr.archive.ubuntu.com) 미러 접속문제.. (1) | 2009.08.25 |
2010. 3. 3. 01:02
커널 컴파일(kernel compile - make install) 에러
2010. 3. 3. 01:02 in Linux/Kernel
2.6.4 커널을 가지고 "make install" 명령을 입력하면 쭈욱 쭈욱 컴파일을 해나간다.
컴파일을 시작한지 얼마 되지도 않았는데..
아래와 같은 에러 메시지가 출력됐다... -_-;
# make install
...
CC arch/i386/kernel/process.o
{standard input}: Assembler messages:
{standard input}:104: Error: suffix or operands invalid for `mov'
{standard input}:105: Error: suffix or operands invalid for `mov'
{standard input}:765: Error: suffix or operands invalid for `mov'
{standard input}:766: Error: suffix or operands invalid for `mov'
{standard input}:982: Error: suffix or operands invalid for `mov'
{standard input}:983: Error: suffix or operands invalid for `mov'
{standard input}:1072: Error: suffix or operands invalid for `mov'
{standard input}:1073: Error: suffix or operands invalid for `mov'
{standard input}:1151: Error: suffix or operands invalid for `mov'
{standard input}:1163: Error: suffix or operands invalid for `mov'
make[1]: *** [arch/i386/kernel/process.o] 오류 1
make: *** [arch/i386/kernel] 오류 2
...
CC arch/i386/kernel/process.o
{standard input}: Assembler messages:
{standard input}:104: Error: suffix or operands invalid for `mov'
{standard input}:105: Error: suffix or operands invalid for `mov'
{standard input}:765: Error: suffix or operands invalid for `mov'
{standard input}:766: Error: suffix or operands invalid for `mov'
{standard input}:982: Error: suffix or operands invalid for `mov'
{standard input}:983: Error: suffix or operands invalid for `mov'
{standard input}:1072: Error: suffix or operands invalid for `mov'
{standard input}:1073: Error: suffix or operands invalid for `mov'
{standard input}:1151: Error: suffix or operands invalid for `mov'
{standard input}:1163: Error: suffix or operands invalid for `mov'
make[1]: *** [arch/i386/kernel/process.o] 오류 1
make: *** [arch/i386/kernel] 오류 2
이 에러에 대한 해결책은 아래 링크를 참조하면 될 듯 하다.
http://www.linuxquestions.org/questions/linux-from-scratch-13/problem-while-make-kernel-343910/
# wget http://www.kernel.org/pub/linux/devel/binutils/linux-2.6-seg-5.patch
# patch -Np1 -i linux-2.6-seg-5.patch
# patch -Np1 -i linux-2.6-seg-5.patch
패치 후 "make install"을 하면 정상적인 컴파일이 이루어지고, "arch/i386/boot/bzImage"를 얻을 수 있다.
구 버전의 커널에서 일어나는 현상인듯 한데.. 정확한건 잘 모른다.
kldp.org(http://kldp.org/node/74510) 에서는, 2.6.18 버전 커널의 경우 커널 컴파일이 에러 없이 동작하는데.. 2.6.9 버전 커널의 경우에는 동일한 에러가 발생한다고 한다.
답변은.. "구버전커널이시군요. 신버전커널 받아서 해보시죠" 이다. -_-;;
'Linux > Kernel' 카테고리의 다른 글
make menuconfig 에러 (0) | 2010.03.03 |
---|---|
LXR(Linux Cross-Reference) (0) | 2009.08.28 |
2010. 3. 3. 00:12
make menuconfig 에러
2010. 3. 3. 00:12 in Linux/Kernel
2.6.4 버전의 커널에서 "make menuconfig" 하는 도중 아래와 같은 에러 발생.. -_-;
...
HOSTCC scripts/kconfig/mconf.o
scripts/kconfig/mconf.c:91: error: static declaration of ‘current_menu’ follows non-static declaration
scripts/kconfig/lkc.h:63: error: previous declaration of ‘current_menu’ was here
make[1]: *** [scripts/kconfig/mconf.o] 오류 1
make: *** [menuconfig] 오류 2
HOSTCC scripts/kconfig/mconf.o
scripts/kconfig/mconf.c:91: error: static declaration of ‘current_menu’ follows non-static declaration
scripts/kconfig/lkc.h:63: error: previous declaration of ‘current_menu’ was here
make[1]: *** [scripts/kconfig/mconf.o] 오류 1
make: *** [menuconfig] 오류 2
4.x 버전대의 gcc로 컴파일을 하면 에러가 발생하는 모양이다.
해결책은 3.x 버전의 gcc로 갈아탄 후 컴파일을 하는 것이다.
본인의 경우 3.4.6 버전의 gcc를 사용해 make menuconfig를 실행한 결과 위와 같은 에러메시지는 보이지 않고 정상적으로 동작을 했다.
다른 방법으로는 "scripts/kconfig/mconf.c" 파일의 91번째 라인에서 "static" 키워드를 제거하면 된다.
...
//static struct menu *current_menu;
struct menu *current_menu;
...
//static struct menu *current_menu;
struct menu *current_menu;
...
'Linux > Kernel' 카테고리의 다른 글
커널 컴파일(kernel compile - make install) 에러 (0) | 2010.03.03 |
---|---|
LXR(Linux Cross-Reference) (0) | 2009.08.28 |
2010. 1. 6. 14:00
우분투 / 데비안 계열 고정 ip 설정
2010. 1. 6. 14:00 in Linux/Tip
우분투나 데비안에서 고정 ip를 설정하는 방법이다.
데비안의 경우 설치 시 ip를 설정할 수 있지만, 우분투의 경우는 DHCP로 잡히기 때문에.. 필요에 따라 다시 설정을 해 주어야 한다.
먼저 네트워크 인터페이스를 내린다(중지 시킨다).
$ sudo ifdown eth0
네트워크 인터페이스 설정 파일을 자신의 상황에 맞게 수정한다.
$sudo vi /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
network 192.168.0.0
broadcase 192.168.0.255
gateway 192.168.0.1
dns-nameservers 168.126.63.1 168.126.63.2
네임 서버를 수정한다.
$ sudo vi /etc/resolv.conf
nameserver 168.126.63.1
nameserver 168.126.63.2
네트워크 인터페이스를 올린다(다시 동작 시킨다).
$ sudo ifup eth0
ip 를 자동으로 할당받고 싶다면, '/etc/network/interfaces' 에서 iface eth0 inet static 이하의 부분을 iface eth0 inet dhcp 로 수정해 주면 된다.
'Linux > Tip' 카테고리의 다른 글
[Shell Script] Log 디렉토리 삭제 (0) | 2011.01.25 |
---|---|
ubuntu 9.10 sound... Dummy output problem. (0) | 2010.03.23 |
diff and patch in linux (0) | 2009.12.12 |
vi 문자열 치환 (2) | 2009.08.31 |
Ubuntu 한국 업데이트(kr.archive.ubuntu.com) 미러 접속문제.. (1) | 2009.08.25 |
2009. 12. 12. 22:50
diff and patch in linux
2009. 12. 12. 22:50 in Linux/Tip
'diff'는 두 파일간의 차이를 보여주는 프로그램이다.
원본 파일이 있고, 그 파일을 수정한 다른 파일이 있다면 그 파일간의 바뀐점이 무엇인지 알고 싶을 때 사용할 수 있다. 혹은 여러사람이 작업을 할 때 기존의 파일을 수정하였을 때 어떤 부분이 바뀌었는지도 확인 할 수 있다.
아래와 같이 diff 라면 명령어를 사용하여 확인 할 수 있다.
$ diff a파일 b파일
변화가 있는 부분을 파일로 저장하기 위해선..
$ diff a파일 b파일 > 파일.diff
혹은
$ diff -u a파일 b파일 > 파일.diff
을 사용할 수 있다.혹은
$ diff -u a파일 b파일 > 파일.diff
diff 사용 예...
$ vi hello.c
#include <stdio.h>
void main()
{
printf(hello);
}
#include <stdio.h>
void main()
{
printf(hello);
}
$ vi hello2.c
#include <stdio.h>
int main(int argc, char **argv)
{
printf("hello \n");
return 0;
}
#include <stdio.h>
int main(int argc, char **argv)
{
printf("hello \n");
return 0;
}
$ diff -u hello.c hello2.c > hello.diff
$ cat hello.diff
--- hello.c 2009-12-12 21:46:38.000000000 +0900
+++ hello2.c 2009-12-12 21:48:32.000000000 +0900
@@ -1,6 +1,7 @@
#include <stdio.h>
-void main()
+int main(int argc, char **argv)
{
- printf(hello);
+ printf("hello \n");
+ return 0;
}
$ cat hello.diff
--- hello.c 2009-12-12 21:46:38.000000000 +0900
+++ hello2.c 2009-12-12 21:48:32.000000000 +0900
@@ -1,6 +1,7 @@
#include <stdio.h>
-void main()
+int main(int argc, char **argv)
{
- printf(hello);
+ printf("hello \n");
+ return 0;
}
디렉토리를 비교하려면,
$ diff -urN A디렉토리 B디렉토리
'patch' 는 diff 명령을 통해 만들어진 파일을 적용하는 명령이다.
위에서 작성한 hello.c 파일과 hello2.c 파일의 바뀐점이 diff 명령을 통해 hello.diff 파일에 적용되고, hello.diff 파일을 사용하여 hello.c파일을 hello2.c파일과 동일하게 패치 한다.
$ patch -p0 < hello.diff
위와 같이 패치를 하게 되면, hello.c 파일이 hello2.c 와 동일한 파일로 패치되어 있는 것을 확인할 수 있다.patch 에서 'p0'라는 옵션이 있는데.. 이 옵션은 diff를 할 때 파일이 놓인 경로의 깊이를 나타내는 것으로 볼 수 있다. 위의 diff 명령은 동일한 디렉토리 내에서 파일을 diff 한 것이지만, 일반적으로 프로젝트를 하게 되면 동일한 디렉토리가 아닌 project1/ project2/ 와 같이 다른 디렉토리도 작업을 하게 될 것이다.
$ diff -urN project1/ project2/ > project.diff
$ cat project.diff
diff -urN project1/hello.c project2/hello.c
--- project1/hello.c
+++ project2/hello.c
...
$ cp project.diff project1/
$ cd project1
$ patch -p1 < project.diff
$ cat project.diff
diff -urN project1/hello.c project2/hello.c
--- project1/hello.c
+++ project2/hello.c
...
$ cp project.diff project1/
$ cd project1
$ patch -p1 < project.diff
위처럼 경로명이 몇단계로 이루어지느냐에 따라 p0, p1, .. 을 결정 할 수 있게 된다.
경로명을 몇꺼풀 벗길 것인가.. 라는 얘기이다.
위의 예처럼 -p0 옵션을 사용하면, 한 꺼풀도 안벗기고 패치한다. 동일한 디렉토리위 내용을 패치한다고 할 수 있다. 위의 예와 같이 하면 -p1 옵션을 사용해서 패치하게 된다.
'Linux > Tip' 카테고리의 다른 글
ubuntu 9.10 sound... Dummy output problem. (0) | 2010.03.23 |
---|---|
우분투 / 데비안 계열 고정 ip 설정 (4) | 2010.01.06 |
vi 문자열 치환 (2) | 2009.08.31 |
Ubuntu 한국 업데이트(kr.archive.ubuntu.com) 미러 접속문제.. (1) | 2009.08.25 |
예쁜 쉘 프롬프트 (1) | 2009.03.18 |
2009. 11. 30. 23:36
Debian lenny - FlashPlayer 설치
2009. 11. 30. 23:36 in Linux
요즘 우분투를 밀고 데비안(Debian)을 사용하는데, 웹브라우져(아이스위즐)에서 플래시 실행이 안된다. -_-;
구글링을 한 결과 Adobe Flash Player를 설치하는 방법을 찾아서 설치해 보았다.
소스리스트 추가
# vi /etc/apt/sources.list
deb http://www.backports.org/debian lenny-backports main contrib non-free
deb http://www.backports.org/debian lenny-backports main contrib non-free
소스리스트에 추가 후 다음을 실행
# wget -O - http://backports.org/debian/archive.key | apt-key add -
# apt-get update
# apt-get -t lenny-backports install flashplugin-nonfree
# apt-get update
# apt-get -t lenny-backports install flashplugin-nonfree
참고 : http://www.shimminkyu.com/tc/914
'Linux' 카테고리의 다른 글
Linux에서 사용자 관리 명령어 사용시 변경되는 파일 (1) | 2008.10.31 |
---|---|
Linux 사용자 관리 (0) | 2008.10.29 |
Ubuntu Server 네트워크 설정 (0) | 2007.10.17 |
'vi 에서 문자열을 편하게 바꾸고 싶다. '
그간 바꾸고자 원하는 단어나 문자열을 지우고 바꾸는 단순 무식한 방법을 사용했다. 가장 간단하고 쉬우니깐!!
하지만, 여러개의 동일한 단어나 문자열을 다른 동일한 단어나 문자열로 바꾼다고 했을 때.. 그간 사용했던 방법은 정말 왕 무식한 방법이다.
사용법은 의외로 간단하다.
:%s/기존 문자열/바꿀 문자열/g
예를 들어 babo라는 문자열을 baba로 바꾸고 싶다면..
:%s/babo/baba/g
라고 하게 되면, vi 로 열고 있는 문서의 모든 babo라는 문자열을 baba로 바꾸게 된다.아래는 문자열을 치환하고자하는 방법에 따라 몇가지 종류를 나열한 것이다.
필요할 때 참고하면 될듯..
:s/기존 문자열/바꿀 문자열/ - 커서가 있는 행에서 처음 나오는 기존 문자열을 바꿀 문자열로 치환
:s/기존 문자열/바꿀 문자열/g - 커서가 있는 행에 나오는 모든 기존 문자열을 바꿀 문자열로 치환
:%s/기존 문자열/바꿀 문자열/g - 전체 내용에서 기존 문자열을 바꿀 문자열로 치환
:%s/기존 문자열/바꿀 문자열/gc - 전체 내용에서 기존 문자열을 바꿀 문자열로 치환, 치환시 확인
:1,20s/기존 문자열/바꿀 문자열 - 1~20 행에서 처음 나오는 기존 문자열을 바꿀 문자열로 치환
:1,20s/기존 문자열/바꿀 문자열/g - 1~20 행에 나오는 모든 기존 문자열을 바꿀 문자열로 치환
:-2, +4s/기존 문자열/바꿀 문자열/ - 커서 위 2, 아래 4행 중 처음 나오는 기존 문자열을 바꿀 문자열로 치환
:-2, +4s/기존 문자열/바꿀 문자열/g - 커서 위 2, 아래 4행에 나오는 모든 기존 문자열을 바꿀 문자열로 치환
:s/기존 문자열/바꿀 문자열/g - 커서가 있는 행에 나오는 모든 기존 문자열을 바꿀 문자열로 치환
:%s/기존 문자열/바꿀 문자열/g - 전체 내용에서 기존 문자열을 바꿀 문자열로 치환
:%s/기존 문자열/바꿀 문자열/gc - 전체 내용에서 기존 문자열을 바꿀 문자열로 치환, 치환시 확인
:1,20s/기존 문자열/바꿀 문자열 - 1~20 행에서 처음 나오는 기존 문자열을 바꿀 문자열로 치환
:1,20s/기존 문자열/바꿀 문자열/g - 1~20 행에 나오는 모든 기존 문자열을 바꿀 문자열로 치환
:-2, +4s/기존 문자열/바꿀 문자열/ - 커서 위 2, 아래 4행 중 처음 나오는 기존 문자열을 바꿀 문자열로 치환
:-2, +4s/기존 문자열/바꿀 문자열/g - 커서 위 2, 아래 4행에 나오는 모든 기존 문자열을 바꿀 문자열로 치환
더 많은 내용은 'KLDP의 vi, vim 활용에 관한 문서'를 참조하면 될 듯 하다.
'Linux > Tip' 카테고리의 다른 글
우분투 / 데비안 계열 고정 ip 설정 (4) | 2010.01.06 |
---|---|
diff and patch in linux (0) | 2009.12.12 |
Ubuntu 한국 업데이트(kr.archive.ubuntu.com) 미러 접속문제.. (1) | 2009.08.25 |
예쁜 쉘 프롬프트 (1) | 2009.03.18 |
리눅스 IP 설정 (0) | 2008.04.24 |
2009. 8. 28. 14:29
LXR(Linux Cross-Reference)
2009. 8. 28. 14:29 in Linux/Kernel
'LXR' 이라고 리눅스 커널 소스를 볼 때 아주 유용한 사이트가 있다.
리눅스 커널 버전별로 정리가 되어있고, 각 함수라든지, 변수 등이 링크되어있어 편하게 소스를 분석할 수 있다.
사실 편하긴 하지만 소스 분석하는것이 쉬운것은 절대 아닌듯 하다. -_-;;
온라인에서 뿐만 아니라 'LXR' 이라는 툴을 리눅스 기계에 설치해서 커널 소스 이외에도 다른 프로젝트들을 lxr 사이트처럼 문서화 해서 사용할 수 있다고 한다.
왜 나만 모르는 듯한 기분이 드는건지.. -_-;
오픈소스쪽에 가면 정말이지 생각도 못한 툴이나 프로그램들이 넘쳐나는 듯 하다.
무식이 죄라는 말.. 한번 더 공감!!
'Linux > Kernel' 카테고리의 다른 글
커널 컴파일(kernel compile - make install) 에러 (0) | 2010.03.03 |
---|---|
make menuconfig 에러 (0) | 2010.03.03 |
2009. 8. 25. 10:22
Ubuntu 한국 업데이트(kr.archive.ubuntu.com) 미러 접속문제..
2009. 8. 25. 10:22 in Linux/Tip
"apt-get" 로 우분투 업데이트를 할때면 "한국 업데이트 미러(kr.archive.ubuntu.com)"에 정상적으로 접속하지 못하는 경우가 종종 발생하곤 한다.
뭐.. 될 때도 있고, 안될 때도 있고..
이참에 쫌 귀찮은걸 감안하고 업데이트 미러를 바꿔버렸다.
우분투 소스리스트(/etc/apt/source.list)를 열어 수정을 해준다.
http://kr.archive.ubuntu.com 이라고 된 부분을 http://ftp.daum.net 로만 바꾸어주면 된다.
$ sudo vi /etc/apt/source.list
수정 후 저장하고 apt-get update를 해보면 정상적으로 동작하는 것을 확인할 수 있다.
다음이니깐 서버가 다운되는 일은 없겠지?? ^^;
'Linux > Tip' 카테고리의 다른 글
우분투 / 데비안 계열 고정 ip 설정 (4) | 2010.01.06 |
---|---|
diff and patch in linux (0) | 2009.12.12 |
vi 문자열 치환 (2) | 2009.08.31 |
예쁜 쉘 프롬프트 (1) | 2009.03.18 |
리눅스 IP 설정 (0) | 2008.04.24 |