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

chocokeki의 이미지

makefile 병렬빌드 할 때 의존성 문제 때문에 문의 드립니다

제목이 뭔가 복잡한데요 아래와 같은 문제를 겪고 있습니다

p1: job1 job2 job3 ...
p2: job4 job5 ....
all : p1 p2 .....

싱글코어로 make를 하면 이상없이 잘 되는데요 병렬빌드 옵션인 -j를 넣으면 빌드가 정상적으로 이뤄지지 않습니다.

원인을 분석해보니 all: 에 있는 p1 작업과 p2 작업이 순서를 반드시 지켜야 해서 그러는 것 같습니다

다시말해서 p1이 완벽히 끝나야 p2 컴파일 진행이 되야 하는데 병렬 빌드를 시키면 p1, p2를 같이 컴파일 작업을 수행해서 문제가 발생합니다
(p1의 job1 작업에 파일 삭제 같은 구문이 있습니다)

이 문제를 어떻게 해결해야하는지 아시는분 계신지요?
job1의 삭제 구문은 반드시 있어야 합니다

makefile sequential dependency 키워드로 검색해보니 pipe 쓰라는 얘기가 있어서
all: p1 | p2로 시도해보았으나...안되네요

stew의 이미지

CentOS 8 systemd

안녕하세요. 리눅스 systemd에 관련해 질문 드립니다.

CentOS 8에서 apache 2.4.48을 컴파일 설치하여

./apachectl start 명령어로 실행시켰습니다.

(systemd에 수동으로 서비스 등록을 하지 않은 상황)

그런데 systemd에 수동으로 서비스 등록을 하지 않았는데 pstree 명령어로 확인해보니 httpd 데몬이 systemd 위에서 작동하고 있었습니다.

서비스 등록을 하여 httpd.service로 httpd를 작동하는 방식과 ./apachectl로 서비스 등록을 하지 않고 httpd를 작동하는 방식의 차이가 있을까요?

stew의 이미지

CentOS 8 ./apachectl vs ./httpd

안녕하세요. 웹서버 관련해서 독학중인 취준생입니다.

현재 CentOS 8에서 apache 2.4.48을 컴파일 설치하여 테스트를 했습니다.

여러 자료를 찾아본 결과 ./apachectl 명령어와 httpd 명령어 두 가지가 있었습니다

둘 다 apache의 httpd 데몬을 실행시키는 명령어라고 하더라고요.

근데 ~/bin의 apachectl 와 httpd 파일을 vi 편집기로 열어보니

apachectl 파일은 스크립트, httpd 파일은 바이너리로 되어있었습니다.

# ./apachectl start , # ./httpd -k start 두 가지의 명령어로 httpd 데몬을 실행시켜 ps 명령어로 확인을 해보니 둘 다 httpd -k start로 실행중이였습니다.

./apachectl 명령어와 ./httpd 명령어의 차이점에는 어떤 차이가 있을까요?

읏짜의 이미지

linux device driver

디바이스 드라이버를 공부중인데요.
캐릭터형, 블록형, 네트워크형 드라이버 이렇게 있는 걸로 알고 있었는데 platform device driver 라는게 있더라구요
개념적으로는 앞의 3개 같은경우는 pci나 usb같은 serial로 연결되서 hot plugging이 가능하다
platform은 onchip으로 나와서 불가능하다 인 것 같은데요

앞의 3개랑 platform device driver랑은 아예 별개인건가요?
char형이면서 platform device driver이다 라는게 가능한건가요?

wltjd666의 이미지

리눅스 가상머신과 WSL의 차이, 도커?

안녕하세요. 요즘 리눅스 환경을 설정하려고 이것 저것 알아보고 있는데요.
너무 헷갈리는 부분이 있어서 질문 드려요.

리눅스를 설치하는 방법은 제가 이해한 바로는 이렇습니다.

1. 컴퓨터 자체에 운영체제 설치(멀티 OS)
2. 가상머신으로 리눅스 구동하기
3. 윈도우 WSL2로 리눅스 사용하기..

이렇게 세가지 정도 알고 있고, 1번과 2번은 확실하게 이해했고, 2번은 직접 해보기도 했습니다.
그런데 3번 WSL2가 조금 이해가 안가는 부분이 있어요.

1. 여기서 WSL은 리눅스를 구동할 수 있는 가상머신이라고 볼 수 있나요?
2. 가상머신이라고 볼 수 있다면, 2번과 다른 점은 무엇인가요? 왜 메모리 측면에서 더 좋나요?

3. 우분투 터미널을 사용하려면 무조건 WSL과 연동되어야 하는 건가요?
4. 도커를 사용하는 이유를 잘 이해하지 못했습니다. 컴퓨터 메모리를 아끼기 위함인가요?

tamatama의 이미지

boost 의 asio 사용시 네임스페이스 문제 (c++, visual sutdio 2017 community)

visual sutdio 2017 community을 사용하고 있으며

boost의 asio 를 이용해서 소켓통신 프로그램을 만드려고 합니다.

boost를 설치하고 프로젝트에 디렉터리 포함까지 다하고

샘플코드등을 받아서 확인하는데 컴파일시에 네임스페이스 에러 발생하네요..

using boost::asio; 

까지는 문제 없으나

skyinfo34의 이미지

Ubuntu 18.04 DHCP server 관련 (client가 remote에 있는 환경)

안녕하세요.
Ubuntu 18.04 에서 DHCP server 를 구동하려 합니다.
그런데, direct network이 아니라, remote network 환경입니다.
따라서, 서버와 client 사이에 relay agent가 있는 구성입니다.

DHCP server ----------- DHCP Relay Agent------------- DHCP client
(10.1.1.1/24) (10.1.1.2/24) (10.100.100.1/24) (10.100.100.0/24)
(10.200.200.1/24) (10.200.200.0/24)

sunnybegood의 이미지

[질문] 프로그램과 하드웨어 연결 개념 부탁..

안녕하세요.

MFC 로 프로그램 만들고 외부에서 유선이던 무선이던 장치로 신호를 받고 싶은데.

개념이 부족해서 도움 부탁드리고자 이렇게 질문 올려 봅니다.

소프트웨어 : 컴퓨터 외부의 장치(?) 에서 (유선 무선 상관없음) 신호를 받아서 화면처리 한다.

하드웨어 : 단순한 여러개의 버튼 또는 스위치 정도의 신호를 컴퓨터 내부의

             프로그램에게 전달할수 있는 장치(?).

눌려졌다나 켜졌다 꺼졌다 정도의 신호를 컴퓨터로 보내면 되고 프로그램에서 신호를 받고  

신호에 따라 화면처리 되게 하는 것이 목표 이고요..

요약하면 컴퓨터 프로그램에 무선 또는 유선으로 연결되어서 퀴즈프로그램에서 사람들이 버튼 

눌르면 누가 눌렀는지 알수 있게되는 정도 수준이면 됩니다.

이런 하드웨어 버튼 장치를 파는 곳이 있는지 아니면 만들어야 되는지. TCP/IP 를 이용해야 되는지 

RS-232C 를 이용해야 되는지 무선을 이용해야 되는지 아두이노를 이용해야 되는지...

byungjun4458의 이미지

레드헷 리눅스 재부팅시 서비스 기동 실패

안녕하세요

다름이 아니라 지금 아주 특이한 상황이 있어서 도움을 받고자 글을 작성해 봅니다.

RedHat 8.1 / RedHat 7.7 대상에서 발생하는 문제이며
재기동시 특정 서비스 시작시 실패가 발생합니다.

하지만 문제는 수동으로 서비스를 시작하면 정상적으로 기동됩니다.

제일 처음 확인한것은 아래와 같습니다.

1. runlevel 명령어로 현재 실행 중인 run level 확인
2. cd /etc/rc.d/rc[런레벨 번호].d 이동 (e.g. cd /etc/rc.d/rc3.d)
3. ls -al | grep 서비스 이름 검색
4. SXX서비스이름 형태의 파일 존재 여부 확인 (시작 문자열이 S인지 확인 및 XX 번호 확인)
5. 해당 파일 실행 여부 확인 절대 경로 및 상대경로 모두 실행 테스트 (e.g. ./S99서비스 이름 start , /etc/rc.d/rc3.d/S99서비스 이름 start)

페이지

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