find 명령어를 통해 파일에 포함된 특정 문자열 찾기

find ./ -name '*.*' | xargs grep '문자열'

만약 많은 문자열이 있어서 일일이 수정하기 어렵다면 치환

find ./ -name "*.txt" -exec perl -pi -e 's/기존 문자열/바꿀 문자열/g' {} \;

즉 현재 디렉토리에 있는 c 파일중에 print 를 printf 로 바꾸고 싶다면

find ./ -name "*.c" -exec perl -pi -e 's/print/printf/g' {} \;

Posted by mktalk

vsftpd - ssl 연동

Linux Tip 2008/04/08 17:04

아무리 찾아봐도 vsftpd.conf 에

ssl_enable=NO 옵션 항목에 대한 얘기만 있다
실제로 YES 를 해도.. vsftpd 는 떠오르지 않는다. Zombie 가 될 뿐.

그냥 vsftpd 를 실행해 봤다.

500 OOPS: SSL: ssl_enable is set but SSL support not compiled in

컴파일 할때부터 ssl 을 지원하도록 해야 하는 것이다. 하지만 대부분 vsftpd.conf 만 설명할뿐 저부분에 대한 언급은 없다. 실제로 해보지 않았다는 것이겠지.

먼저 vsftpd 소스에서 buiddefs.h 를 수정한다.

#ifndef VSF_BUILDDEFS_H
#define VSF_BUILDDEFS_H

#undef VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#undef VSF_BUILD_SSL

#endif /* VSF_BUILDDEFS_H */

위의 항목중 VSF_BUILD_SSL 을 undef -> define 으로 변경한 후 다시 컴파일 한다.

하지만 이 상태로 다시 실행을 해도 난관은 온다.

openssh 에 포함된 ssh-keygen 을 통해 rsa, dsa 를 모두 생성한거 같은데

500 OOPS: SSL: cannot load RSA certificate

RSA 인증서를 로드할 수 없단다. 음 다른게 필요한건가? -_-...

Posted by mktalk

[root:/usr/bin]# ./sshd
sshd re-exec requires execution with an absolute path

openssh 컴파일 후 타겟보드에 sshd 를 구동 시키려하자 위와 같은 메시지가 나왔다

[root:/usr/bin]# /usr/bin/sshd

위와같이 절대 경로로 적어주라는 것이다.

모르면 정말 열심히 찾아야 한다 ㅠㅠ

Posted by mktalk
TAG openssh, sshd
http://www.linux-mips.org/pub/linux/mips/kernel/v2.6/linux-2.6.24.3.tar.gz

Latest Version 2.6.24.3 입니다.
linux-mips.org 사이트가 간혹 잘 열리지 않는군요.
Posted by mktalk
사실 리눅스를 별로 다뤄보지도 못했고 늘 필요할때마다 인터넷을 뒤져가며
셋팅을 하곤 했는데 찾다 보면 환경이 다른 경우도 참 많고, 심지어는 그냥 다른곳에서
긁어다가 올려놓은 글들이 참 많았다. 근데 그게 자신이 필요해서 해보고 잘되서 올려놓은게 아니라 그냥 올려놓은 것들이 꽤나 많았던거 같다..

아무도 찾지 않을 수 있지만.. 또 아나 내가 까먹고 내가 검색하고 들어올지.. ^^;

최근 네비게이션에 보면 Alchemy Processor 를 사용했다고 광고하는 제품을 보셨을지 모른다. au1x00 모델들로 이 Alchemy Processoer 에서 개발시 사용되는 컴파일러다.
mips 계열로 보통 PMP, 네비게이션 등에 많이 사용된다고 한다.

인터넷 검색에서 나오는 au1x00 계열의 제품들중 개발 환경을 제공하는 TAVI 란 제품이 있다.

http://ondemand.tavi.com/opensource/mipsel-linux-gcc-sdk-3.4.4-nml.tgz

위 링크에서 mipsel-linux-gcc-sdk-3.4.4 를 받을 수 있다.

오늘은 다운로드까지만 !! ^^;
Posted by mktalk
Makefile:299: *** 첫번째 타겟보다 앞에서 명령어가 시작되었습니다.  멈춤.

lighttpd 를 컴파일 하면서 발생된 에러.
왜   났을까? 그건 makefile 을 수정하면서 발생됐다.
왜 makefile 수정했는가?

mod_mem_cache 를 적용하기 위해 lighttpd 에 있는 patch 를 적용한다는게
그만 무식이 지나쳐 손수 소스를 다 손대다 보니 이런 문제가 발생하였다.

실제 299 라인으로 가보겠다.

        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
        $(mod_mem_cache_la_LDFLAGS) $(LDFLAGS) -o $@

Makefile 속의 299 라인이다.
뭐가 문제가 될까?
언뜻 봐선 모른다. 하지만... 실제 커서를 가지고 가면 맨 라인의 끝에 공백이 있음을
발견하게 된다.

공백을 삭제해주고 나면 정상적으로 컴파일 된다.

교훈 1. 무식하게 patch 를 손으로 수정하지마라 -_-.

담엔 patch 를 통해 적용을 시켜봐야겠다.
Posted by mktalk
df 확인시 아래처럼 파티션별로 사이즈를 확인할 수 있다.

Filesystem           1k-blocks      Used Available Use% Mounted on
tmpfs                     8192              60      8132      1%       /var
/dev/hda            240236224  13373264 214659588   6%      /hdd

그냥 생각하기에 1k-blocks - Used = Available 이 되야 할꺼 같은데
/hda 상태를 보면 그렇지 않다.

자료를 찾다보니 reserved-blocks-percentage 옵션으로 인해 mke2fs 생성시
기본적으로 5% 정도를 확보한다고 한다.

tune2fs -m 0 /dev/hda 로 reserved-blocks-percentage 를 0% 로 하면

Filesystem           1k-blocks      Used Available Use% Mounted on
tmpfs                     8192             60      8132       1%         /var
/dev/hda            240236224  13373264 226862960   6% /hdd

Available 이 달라진것을 확인할 수 있다.

reserved block  은 저널링 파일시스템에서 사용한다고 하니 그냥 두시는게 ^-^
Posted by mktalk