우분투 14.04 기반 배포판에서 16.04 / 18.04의 S/W 저장소 미러를 구성하는 문제(apt-mirror 오류)
By 반달가면 | 2019년 4월 11일 |
apt-mirror를 이용해서 우분투 S/W 저장소(software repository)의 미러(mirror) 서버를 구성하는 방법은 이전 게시물을 참고하자. 여기로 우분투 14.04 LTS 기반 배포판인 리눅스 민트 17에서 apt-mirror로 우분투 14.04(trusty), 16.04(xenial), 18.04(bionic)의 S/W 저장소 미러를 구축해서 사용하던 중, 한가지 문제가 발생했다. 14.04 기반의 클라이언트에서는 별 문제가 없었는데, 16.04와 18.04 기반의 클라이언트에서 저장소 정보 갱신을 위해 "sudo apt-get update" 명령을 입력하면 오류가 발생했다. 예를 들어 18.04 클라이언트의 경우 /ubuntu/dists/bionic/main/dep11/C
[라즈베리파이] 커널동기화 - 임계영역(Critical Section)이란
By Guillermo Austin Kim | 2018년 9월 7일 |
리눅스 커널이나 운영체제에서 임계영역(Critical Section)이나 커널 동기화를 설명할 때 화장실을 예를 많이 듭니다. 하나밖에 없는 화장실 문에 있는 자물쇠를 잠그고 용무를 보는 상황입니다. 위 상황을 리눅스 커널 동기화 과정과 빗대서 생각해 봅시다. 첫 번째, 자물쇠는 화장실 문에 있는 잠금장치입니다. 누구나 화장실에 들어갈 때 화장실 문을 잠급니다. 화장실에 들어갈 때 먼저 화장실 문에 있는 자물쇠가 잠겨 있나 확인하는 습관입니다. 화장실 잠금장치는 여러 가지 종류가 있듯 리눅스 커널에도 스핀락, 뮤텍스 기법에 따라 자물쇠 잠금 방법이 다릅니다. 두 번째, 화장실에서 용무는 딱 한 사람만 볼 수 있습니다. 화장실에서 두 사람이 동시에 들어갈 수 없습니다. 유일하게 한 사람이 일을 보는 순
[리눅스커널][인터럽트후반부] IRQ 스레드 핸들 irq_thread() 함수 분석
By Guillermo Austin Kim | 2019년 2월 25일 |
IRQ 스레드 핸들 irq_thread() 함수 분석 이번에는 IRQ 스레드 핸들 함수가 어떤 과정으로 실행하는지 점검해 보겠습니다. 커널 쓰레드가 생성되면 무한 루프를 돌면서 쓰레드 상태에서 따라 정해진 동작을 수행하는 스레드 핸들 함수가 실행합니다. IRQ 스레드는 irq_thread() 함수가 이 역할을 수행합니다. 먼저 IRQ 스레드를 깨우면 실행하는 irq_thread() 함수를 소개합니다.1 static int irq_thread(void *data)2 {3 struct callback_head on_exit_work;4 struct irqaction *action = data; 5 struct irq_desc *desc = irq_to_desc(action->irq);6 irq
[라즈베리파이] 라즈베리 파이 초기 설정하기
By Guillermo Austin Kim | 2020년 1월 5일 |
라즈베리 파이는 버전이 업그레이드될수록 초기 설정을 쉽게 할 수 있게 진화하고 있습니다. 마우스 클릭만 몇 번 하면 기본 설정을 마칠 수 있으니 긴장하지 말고 따라 해 봅시다. 다음 화면에서 [Next] 버튼을 클릭합니다. 그림 2.21 라즈베리 파이 설정 대화상자 [Set Country] 대화상자가 나타나면 [Use US Keyboard]를 체크박스를 체크한 다음 [Next] 버튼을 클릭합니다. 그림 2.22 국가 및 언어 설정 다음 화면은 패스워드를 설정하는 대화상자인데, 여기서는 일단 [Next] 버튼을 클릭해 넘어갑니다. 그림 2.23 패스워드 설정 이어서 나오는 [Set Up Screen]에서는 별도로 중요한 설정이 없으므로 [Next] 버튼을 클릭해 넘어갑니다. 그림