맥에서 사용하던 고장난 외장 하드 복원하기
By 지훈현서 | 2020년 8월 15일 |
요즘에야 클라우드에 많이들 백업을 해 놓기도 하지만,30년 전부터 별도의 하드에 백업을 받는 것이 버릇이 되어 있었습니다. 최근 까지 회사 맥미니에 연결해 놓고 4테라, 8테라 3.5인치 외장 하드디스크를 준비하여 rsync로 백업을 했었습니다.다른 것 보다도 20만장 이상 찍은 사진 원본들을 2중으로 백업을 받았습니다. 아이들 어릴적 사진이 있어 언젠가은퇴하면 따로 정리해야지.. 하는 생각으로 말이지요. 문제는 어느날 .. 아마도 정전 때문이었으리라 생각이 들기도 하는데 맥에서 전혀 읽지 못하는 것이었습니다.한개만 망가졌으면 몰라도 두 개가 동시에 안되는 것이었습니다.식겁해서 디스크 유틸리티로 이것 저것 시도를 해 보았지만 모두 실패를 했습니다.파일시스템은 최신 Apple File System을 사용하
[Python] OpenCV를 이용한 Image Diff
By 지훈현서 | 2017년 8월 24일 |
![[Python] OpenCV를 이용한 Image Diff](https://img.zoomtrend.com/2017/08/24/a0105618_599e29de1954c.png)
틀린 그림 찾기 게임이 있다고 가정합니다.이를 눈으로 찾기는 아주 어렵지만,이를 자동으로 해 주는 프로그램이 있다면 편하겠죠? 이를 검색을 해 보았더니, Image Difference with OpenCV and Python 라는 블로그가 존재 하더군요.(해당 소스 참조, 약간 수정된게 있었는지 버전 문제인지 ... 작업했던 기억이...) 뭐 소스나 기타 등등은 제외하고 OpenCV 버전 및 이를 돌리는 것도 X-Window에 의존성을 갖는지라, 맥에서 시작했다가가상머신의 우분투서버에서 돌려보았습니다.(대신 X-Window 가 실행되고 있어야 합니다) 결론은, 위에처럼 Original 이미지와 Modified 이미지가 있으면 이 이미지에서틀린 부분만 찾아주는 것입니다. 우분투 16.04 LTS (
인터럽트(3) - 인터럽트 발생을 막고 싶을 때
By Guillermo Austin Kim | 2018년 2월 10일 |
어떤 코드 흐름에서는 인터럽트가 발생하면 안될 경우가 있습니다. 예를 들면 프로세서가 슬립에 진입할 때 각 디바이스 드라이버를 서스팬스 시키는 처리 도중 인터럽가 뜨면 안됩니다. 아래는 어셈블코드에서 호출되는 코드인데, 유저 모드에서 권한이 없는 가상 메모리 공간에 접근하면 ARM 프로세스가 감지하고예외(Exception)을 발생시킵니다. 이 때 bad_mode 함수가 호출되는데, 결국 panic 함수를 호출해서 커널 패닉을 유발시킵니다. 커널 패닉을 시키기 바로 전 local_irq_disable 함수를 호출해서 인터럽트를 아예 막아 버립니다.[arch/arm/kernel/traps.c]asmlinkage void bad_mode(struct pt_regs *regs, int reason){ co
undocker - 도커(Docker) 이미지에서 파일 추출
By 반달가면 | 2021년 9월 9일 |
도커(docker) 이미지로부터 디렉토리 구조와 파일을 추출할 수 있는 프로그램을 발견했다. 당장 쓸 일은 없지만, 혹시 모르니 일단 정리해 두기로. 관련된 블로그 원문은 아래의 링크다. Unpacking docker image with undocker docker save 명령으로 이미지 파일을 저장할 수 있는데 tar 형식으로 저장된다. (docker save 관련 내용은 이전 게시물을 참고하자. 여기로) 이 tar 파일은 단순히 디렉토리 구조와 파일을 압축한 것이 아니라 내부에 또 다시 여러개의 tar 파일이 있고 좀 복잡하게 되어 있다. 이로부터 디렉토리/파일을 복원하는 undocker.py 스크립트를 만든 모양이다. undocker의 깃허브(github) 페이지는 아래의 링크