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

imleemin의 이미지

[완료] hrtimer(고해상도 타이머) API 사용하는 방법을 알고 싶습니다. ㅠㅠ

현재 리눅스 상에서 주기적으로 패킷을 보내는 작업을 하는데,
그 주기가 1ms 이하 입니다.

그래서 리눅스 커널 2.6.21 부터 커널에 포함 되어 나온다던
고해상도 타이머 기능을 사용해 볼려고 했는데요..

도통 어떻게 사용하는 건지 모르겠네요.;;

자료를 뒤적이던 중, 우연히 관련 API를 설명해 놓은 글을 보고,
컴파일 할려고 돌려보니, 헤더 파일을 찾을 수가 없다는 에러가 떴습니다.
관련 헤더 파일(hrtimer.h, ktime.h)이 있는 폴더(/usr/src/kernels/설치된리눅스버전/include)를 경로 지정해주고,
컴파일 했더니 이번엔 또 에러가 잔뜩 올라오더라구요. ;ㅠㅠ

제가 가입했던 리눅스 관련 카페에도 문의를 했었는데,
kernel-devel? 설치 한 번 해보라고 해서 해봤는데
이미 설치되어 있다고 하면서, 안되더라구요..

어떻게 하면 고해상도 타이머 기능을 쓸 수 있는 거죠??

리눅스 관련 개발이 초짜인지라.. 정말 막막하네요 ㅠ

hoyeon222의 이미지

sendmail에서 postfix로 메일 이전 시 사용자정보 가져오기에서 pop3 로그인 오류

서버를 옮기면서 sendmail에서 postfix로 옮겼습니다.

일단 postfix는 삽질끝에 계정 추가 후 외부 송수신이 다 가능한데요,

sendmail에 있던 정보를(사용자 아이디, 비밀번호, 메일함)를 가져왔는데,

아웃룩에서 테스트 할 경우 송신은 되는데, POP3에 로그인이 안되 수신이 안되네요,

일단

/etc/passwd
/etc/shadow
/etc/group 에 옮길 사용자 들만 복사해서 새 서버에 넣었구요,

기존에 sendmail은 110포트를 사용하였는데,

현재는 995포트를 사용합니다.(110으로 사용 하려면 아이디와 비밀번호를 계속 요구해서 암호화된 연결(SSL)을 사용합니다)

사용자를 옮기면서 저 위 세 파일에 있는 정보만 옮기면 안되는것인가요?

아니면 포트가 달리지면 설정을 따로 해줘야 하는지요,

qmail과 postfix로 몇주째 삽질끝에 막바지에 와있는데...

이전작업이 골치네요,

답변 부탁드립니다.

declspec의 이미지

자동 RST 패킷 응답 막는법

TCP 프로토콜에서
SYN - SYN/ACK - ACK

이렇게 핸드쉐이킹을 거치잔아요?
여기서 SYN 을 보낸적이 없는데
어딘가에서 SYN/ACK 가 온다면
커널(리눅스)이 자동으로 RST 패킷을 보내버립니다.

이걸 자동으로 안보내게 할 수 없을까요? ㅜㅜ

투명 프록시를 만드려고 하는데
SYN 을 포워딩 해주고 SYN/ACK 를 받으니
바로 프록시가 RST 를 보내버려서
TCP 연결이 안되네요 ㅠㅠ

bmsjy의 이미지

USB 메모리에 Linux 설치하기

안녕하십니까.

제가 리눅스에 대해 거의 아는 바가 없는 데스크탑 우분투 이용자라는 점을 염두에 두고 읽어주십시오.

제가 원하는 바는

- 8~16GB 정도의 USB메모리에 최신버전의 리눅스를 정상 설치하고 (예 : ubuntu, PClinuxOS, OpenSUSE)

- 일반적으로 필요한 몇 안되는 프로그램들를 깔아서 (예 : 리브레오피스, 김프, 이클립스)

- 사무실, 집은 물론, 방문처나 도서관, 피시방 등에 있는 PC에 USB 재시동으로 어디서든 동일한 작업환경을 갖는 것입니다.

- 리눅스 배포판의 LiveCD를 USB에 담은 상태로는 한글처리, 원하는 프로그램의 설치와 셋업, 그리고 작업데이터 보존저장에 문제가 있더군요.

제가 뭘 몰라서 그런지 unuetbootin이나 Universal-USB-installer 등으로는 Live-USB를 만들 뿐이더군요.

제 섯부른 생각으로는 이렇게만 되면, 공용 혹은 타인 PC의 사용시 내가 작업한 내용이 타인의 PC(하드디스크)에 어떻게든 남게 될 거라는 걱정도 없어질 것 같습니다만...

mzzzz11의 이미지

C포인터 관련 질문입니다.

소스 :
int zippo[2][2] = {{1,2,},{3,4}};

printf("%p\n", zippo);
printf("%p\n", *zippo);
printf("%d\n", *zippo[0]);

결과 :
0xbfad0100
0xbfad0100
1

가 나옵니다

여기에서 궁금한 점은 zippo와 zippo[0]은 같은 값을 가지게 되는데 * 연산자를 두 변수 앞에 붙여주면
*zippo는 똑같은 주소값 0xbfad0100이 *zippo[0]은 결과값 1이 나옵니다.
제가 아는 * 연산자의 개념과 조금달라서
이렇게 나오는 이유를 알고싶습니다.

declspec의 이미지

TCP 체크섬. 도와주세요 ㅠ.ㅠ

리눅스상에서
패킷변조를 하면서
TCP 체크섬을 재계산 하려고 합니다.

pseudo header 12 바이트를 구성했으면
그것과 TCP헤더 ~ 데이터 마지막까지.
를 하나의 배열로 쭉 이어져 있도록 놓고
일단은 TCP 체크섬부분은 0 으로 채우고.
2바이트씩 잘라서 전부 더한다음에
1바이트가 남는다면 그것도 0 을 패딩넣어서 더해주고.
2바이트 초과하는 부분을 다시 2바이트에 더하고
맨마지막에 전체 비트반전.

이렇게 해서 2바이트를 만들면
그게 체크섬 아닌가요?ㅠㅠ

근데 지금 체크섬 구하는 함수를 만들었는데
이게 맞다가, 틀렸다가, 맞다가, 틀렸다가
계속 막 이러네요 ㅠ.ㅠ
틀려도 아주 미세하게 틀립니다 ㅠㅠ
45FE -> 46FE 이런식으로...

어디가 잘못된건지 한참 헤메고있는데 도와주세요 ㅠ.ㅠ

mzzzz11의 이미지

C언어에서 배열변수에 대한 질문있습니다.

C 언어에서

int array[10];

이렇게 선언을 하게되면 array라는 변수는 &array[0]의 값(즉 첫번째 값의 주소값)을 가지는 걸로 알고있습니다.

여기서 궁금한 점은

int cpy[10]; <- 이렇게 똑같이 선언을 해놓고

cpy = array; 또는
cpy = &array[0];
이렇게 하면 주소값이 대입연산자에 의해 들어간다고 생각을 했었는데
컴퍼일 오류가 나네요 왜그런 건가요?

해결방법은 int *ptr; 이렇게 해서 대입하면 된다는 것은 알고있습니다.

궁금증의 요지는 왜 위 처럼 대입을 하면 오류가 뜨는지 궁금합니다^^

kirina70의 이미지

Makefile 상대경로를 절대경로로 변환하고 있는데요 잘 안되네요...

..\Makefile:101: warning: overriding commands for target `CBcbaVfd.o'
..\Makefile:76: warning: ignoring old commands for target `CBcbaVfd.o'
..\Makefile:114: warning: overriding commands for target `CBcbaOmr.o'
..\Makefile:78: warning: ignoring old commands for target `CBcbaOmr.o'
..\Makefile:130: warning: overriding commands for target `CBcbaPrt.o'
..\Makefile:80: warning: ignoring old commands for target `CBcbaPrt.o'
make: *** No rule to make target `CBcbaVfd.cpp', needed by `CBcbaVfd.o'. Stop.

rewk의 이미지

웹브라우저를이용해서 리눅스 터미널을 이용하는방법이있을까요?

리눅스 고수님들의 많은 답변을 듣고 싶습니다.

윈도우 CMD나 putty라는 원격접속 클라이언트로 텔넷이나 SSH접속을 하지않고

웹브라우저를 이용하여 터미널서비스를 이용할 수 있는 방법이 있을까요??

DebPolaris의 이미지

개인용 라이센스의 경우 어디까지 사용 가능한가요??

안녕하세요...

대학교에서 컴퓨터 실습실을 관리하고 있습니다.

다름이 아니고 불법소프트웨어 점검이 나온다고 하는데

개인용 라이센스를 가진 소프트웨어의 경우 학교 실습실에서 사용하면
불법소프트웨어 사용이 되는 건가요??

그럼 알집 같은 소프트웨어 사용도 불법이 되는 건지 궁금합니다.
(제가 알기로는 알집도 개인 사용자에 한해서 무료라고 알고 있거든요...)

페이지

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