프로그래밍 QnA + 설치 및 활용 QnA

inviolable의 이미지

#define문 해석 좀 부탁드립니다.

리눅스 signal함수 정의 : void(*signal(int signo, void(*func)(int)))(int);

이해 되시죠??? signal함수는 int형을 인수로 가지고 void를 리턴하고 2개의 인수(signo, 신호 처리부 함수 포인터)를 갖는 함수 포인터를 리턴하는 함수입니다(void* 을 리턴하는게 아니라 void를 리턴, *는 함수 포인터라는 의미의 선언임 포인터 선언시 int *p = &a; 이렇게 하듯이).

이 함수 포인터 2번째 인수로(void(*func)(int)인수) SIG_IGN상수나 SIG_DFL상수를 넣을 수 있는데 이 상수의 정의가 다음과 같습니다(헤더 파일에 정의)

#define SIG_DFL(void(*)())0
#define SIG_IGN(void(*)())1

이 두 #define문이 이해가 안갑니다.

보통 #define문처럼 #define a b 이런식으로 되어있지도 않고 해서... 설명 좀 부탁드립니다.

inviolable의 이미지

리눅스에서 로그인 쉘을 실행할 때 argv[0]에 -를 생략해도 되나요???

책 281p에는 이런 설명이 있습니다 :

(exec함수에 대한 설명 중, execl이나 execle처럼 l이 들어있는 exec함수는 첫번째 인수로 경로 이름을 받고 두번째 인수로 argv[0]을 받습니다.) 실제로 login은 하나의 대시(-)를 argv[0]의 접두어로 추가한 후에 셀을 실행한다. 이러면 셀은 자신이 하나의 로그인 셀로서 실행됨을 인식하고 시동 프로파일(start-up profile) 명령들을 실행한다.

책 313p에는 이런 설명이 있습니다 :

사용자가 이름을 입력하면 getty의 작업이 끝난다. 이제 getty는 다음에 해당하는 방식으로 login을 실행한다.
execle("/bin/login","login","-p",username,(char*)0,envp);

책 281페이지 설명대로라면 login실행시 argv[0](2번째 인수)에 접두어에 -가 붙어야 되는 것 아닌지요???

l77jk의 이미지

암호화 알고리즘 MD5에서 SHA512로 교체방법 문의 드립니다.

버전
$uname -a
Linux webhard 2.6.18-53.e15#1 SMP Web Oct 10 16:34:02 EDT 2007 i686 i686 i386 NU/Linux

현재 암호화 알고리즘이 MD5이구요.

SHA512 암호화 알고리즘으로 변경하려고 합니다.

$authconfig --passalgo=sha512 --update

error message
:authconfig : error : no such option : --passalgo

passalgo 라는 옵션이 없다고 나오내요.

$authconfig 라고 치고 옵션을 보면

암호화 알고리즘에 해당하는 옵션은 MD5 ENABLE에 대한 옵션뿐이 없는듯합니다.

이커널에서는 지원을 하지않는건지...

$yum install authconfig 패키지를 설치해도 같은 메세지가 나옵니다.

gksendbs의 이미지

우분투 시리얼 통신 질문입니다.

아래 글이 수정이 안되서 다시 올립니다.ㅜㅜ

디바이스는 안드로이드기기인데 리눅스를 깔아놨구요

장치명은 ttyUSB0입니다.

그냥 이 디바이스로부터 들어오는 데이터를 읽기만 하면 됩니다.

그래서 저는 시리얼로 기기에서 보내는 데이터를 받고 싶은데

컴파일되고 실행도 되는데 실행하면 아무것도 뜨지 않습니다.

가만히 기다리면 segmentation fault가 뜹니다.

고수님들 도와주세요.ㅜㅜ

stevepak0124의 이미지

홈서버 구축예정인데 제대로 진행해나가고 있는지 확인해주세요.

php, JVM, mysql,node.js, NAS, FTP, 가상화등등의 용도를 위해 홈서버를 구축할려고 합니다.
클라우드 서버가 한달에 10만원 정도 나오던데 개발자 초년생으로서 상당히 부담스러워 일찍이 포기하였습니다.
OS는 CentOS로 정했습니다.

gksendbs의 이미지

리눅스 시리얼 통신 중입니다.

디바이스는 안드로이드기기인데 리눅스를 깔아놨구요

장치명은 ttyUSB0입니다.

그냥 이 디바이스로부터 들어오는 데이터를 읽기만 하면 됩니다.

그래서 저는 시리얼로 기기에서 보내는 데이터를 받고 싶은데

컴파일되고 실행도 되는데 실행하면 아무것도 뜨지 않습니다.

가만히 기다리면 segmentation fault가 뜹니다.

고수님들 도와주세요.ㅜㅜ

vein10th의 이미지

LLVM을 Linux나 MacOS외의 다른 장비에서 빌드해보신분 계신가요?

최근에 컴파일러를 공부하면서 LLVM에 대해서 관심을 갖게 되었는데요..

LLVM의 홈페이지를 보니, LINUX이외에 AIX나 HP, SOLARIS에서도 되는 것처럼되어 있습니다만.

HP장비를 사용할 기회가 생겨서 가장 최신 릴리즈인 LLVM 3.1 소스를 설치해서 빌드하려고 하는데

configure하는 과정에서 unknown architecture(?)인가 하면서 설치가 안되네요..

확인해보니, 2.5까지는 IA64를 지원하는데, 2.6부터는 지원하는 말이 없네요..

(제 개인적인 생각으로는 2.6부터 CLANG이 나오면서 그런거 같은데, 왠지 Apple에서 LLVM을 지원다보니 그런거 같기도 하고)

혹시, 실제로, LINUX나 MacOS이외에 HP나 AIX, SOLARIS에서 빌드해보신분 계신가요?

pci486의 이미지

소프트 웨어 적으로 분산 서버를 구축하려고 합니다. 조언 부탁드립니다.

일단 주 목적은
실제 운영중인 웹의 소스 코드에 패치 작업을 하거나 오류를 수정할시에
운영중인 웹이 죽지 않게 하기 위함 입니다.

일단 제가 생각하는 것이

인터넷 -> 리눅스 1 -> 웹서버 1
웹서버 2 ( 대기 )

상태에서 웹서버 1에 문제 발생시

인터넷 -> 리눅스 1 웹서버 1 ( 오류 수정작업 후 대기)
-> 웹서버 2 ( 운영 )

이런 방식입니다.

일단 하드웨어로 조지는 게 가장 좋을것 같은데
그거는 돈이 좀 들기에... 회사측에선 안된다 그러고

저 방식을 소프트 웨어적으로 구현할려면
어떤식으로 하여야 하는지 조언을 해주시거나
참고할 정보를 알려주시면 감사 하겠습니다.

페이지

프로그래밍 QnA + 설치 및 활용 QnA 구독하기