Grub 부트로더 복구하는 방법

리눅스를 설치하고 지우면서 boot하면 가끔 당하는 grub rescue> 막막합니다. 그럴때 boot rescue나 Live CD를 쓰지 않고 간단히 해결하는 방법 grub rescue>  ls 그럼 partition들을 다 보여 줍니다. (hd0) (hd0,msdos2) (hd0,msdos1) 근데 어떤 놈 일까요? grub rescue> ls (hd0,msdos2)/ grub rescue>  ls (hd0,msdos1)/ 이런식으로 하나씩 내용을 보면  ext4 중  /lost+found     /sys      /bin  /boot .... /usr 요렇게 partition의 ls가  놈이 나오는게 있습니다. (hd0,msdos2) 이 고놈이라고 치면 # 아래 msdos를 빼고 한다는 걸 까먹으면 도루묵! grub rescue>  set prefix= (hd0,2) /boot/grub grub rescue>  set root=(hd0,2) grub rescue>  insmod normal grub rescue>  normal 다 치고 나면 리눅스가 정상으로 시작 됩니다. 그럼 안도의 한숨 내쉬고 Shell 을 연 다음  $ sudo update-grub $ sudo grub-install /dev/sda 출처 - http://linuxmint.kr/4082

Linux 컨테이너

이미지
 향상된 컴퓨터의 성능으로 인해 그 성능을 더 효율적으로 사용하기 위한 가상화라는 단어가 친숙해졌습니다.  처음에는, 가상화 기술을 사용하기 위해여 KVM, VMWARE 같은 하이퍼바이저를 사용하는 기술을 사용하였지만, 최근에는 Docker로 대표되는 리눅스 컨테이너(LXC)와 같은 컨테이너 형 가상화 기술을 이 더 각광받고 있습니다.  컨테이너형 가상화 기술은 기존 기술보다 더 가볍고, 이식성이 뛰어난 특징을 가지고 있습니다. 그리고 '가상화'라기 보단 '격리'라는 개념에 더 가깝다고 합니다. (말그대로 컨테이너안에 가둔다는 것 같습니다.) 리눅스 컨테이너를 살펴보면 OS 내부는 물리적 자원을 관리하는 "커널 공간"과 애플리케이션을 실행하는 "사용자 공간"으로 나누어집니다. 컨테이너형 가상화 기술은 사용자 공간(User space)를 나누어 각각의 사용자 프로세스에서 보이는 리소스를 제한하는 방법입니다. 1. LXC (Linux Container)란? LXC (LinuX Containers)는 단일 컨트롤 호스트 상에서 여러개의 고립된 리눅스 시스템 (컨테이너)들을 실행하기 위한 운영 시스템 레벨 가상화 방법이다.  리눅스 커널은 cgroups를 절충하여 가상화 머신을 시작할 필요 없이 자원 할당 (CPU, 메모리, 블록 I/O, 네트워크 등)을 한다. Cgroups는 또한 애플리케이션 입장에서 프로세스 트리, 네트워크, 사용자 ID, 마운트된 파일 시스템 등의 운영 환경을 완전히 고립시키기 위해 namespace isolation을 제공한다.  LXC는 cgroups와 namespace를 결합하여 애플리케이션을 위한 고립된 환경을 제공한다. Docker 또한 실행 드라이버의 하나로 LXC를 사용할 수 있으며 이를 통해 이미지 관리와 개발 서비스를 제공한다.  - 위키피디아  2. 기존 가상화 기술과 LXC의 차이점 ...

[머신러닝] Deep Learning Tutorials

이 글은 http://deeplearning.net/tutorial/index.html의 내용을 공부목적으로 번역한 것입니다. 번역이 이상할 수 있고 필요한 내용만 번역되어 있을 수 도 있습니다. -------------------------------------------------------------------------------------------------------------------------------------  딥러닝은 머신러닝의 원래 목표중 하나인 인공지능으로 다가게하는 목적으로 소개된 머신러닝 연구의 새로운 분야다.  딥러닝은 이미지, 소리 그리고 텍스트와 같은 데이터들의 이해를 돕는 다양한계층의 표현과 추상적 개념에 대한 학습이다. 딥러닝 알고리즘에 대한 예제를 보고싶으면 다음을 예를 보면 된다 : The monograph or review paper  Learning Deep Architectures for AI  (Foundations & Trends in Machine Learning, 2009). The ICML 2009 Workshop on Learning Feature Hierarchies  webpage  has a  list of references . The LISA  public wiki  has a  reading list  and a  bibliography . Geoff Hinton has  readings  from 2009’s  NIPS tutorial .  여기있는 튜토리얼들은 가장 중요한 몇개의 딥러닝 알고리즘과 그것을  Theano 를 이용해 어떻게 작동시킬것인지 소개할 것이다. Theano는 딥러닝 모델을 쉽게 배울수 있게하고 그것들을 GPU에서 훈련시킬수 있도록 선택할 수 있는 파이썬 라이브러...

[머신러닝] CNN(Convolution Neural Network)

이미지
Why CNN?  이미지 인식과 같은 분야에서 MLP(Multi-Layer Perceptron) 또는 multi-layered neural network를 사용하게 되면 MLP는 모든 입력이 위치와 상관없이 동일한 수준의 중요도를 갖는다고 본다. 그렇기 때문에 이를 이용해 fully-connected neural network를 구성하게 되면 파라미터의 크기가 엄청나게 커지는 문제가 생긴다. 이에 대한 해결책으로 탄생한 것이 바로 CNN이다. Receptive Field  수용영역이란 외부 자극이 전체 영향을 끼치는 것이 아니라 특정 영역에만 영향을 준다는 뜻이다. 손가락으로 몸의 여러 부분을 찔러 보았을 때 그것을 느낄 수 있는 범위가 제한적이라는 것을 생각하면 될 것이다. 그리고 어디를 찌르느냐에 따라 느끼는 영역의 크기가 다를 것이다.  마찬가지로 영상에서 특정 위치에 있는 픽셀들은 그 주변에 있는 일부 픽셀들 하고만 correlation이 높고 거리가 멀어질수록 그 영향은 감소하게 된다. 이를 이용해 영상이나 이미지를 해석하여 "인식 알고리즘"을 수행하고자 할 경우 영상 전체 영역에 대해 서로 동일한 중요도를 부여하여 처리하는 대신에 특정 범위를 한정해 처리를 하면 훨씬 효과적일 것이라 짐작 할 수 있다. 이를 영상에만 한정하는 것이 아니라 locality를 갖는 모든 신호들에 유사하게 적용할 수있다는 아이디어에 기반하여 출현한 것이 CNN이다. convolution이란?  영상 처리 분야에서 convolution은 주로 filter 연산에 사용되며 영상으로부터 특정 feature들을 추출하기 위한 필터를 구현할 때 convolution을 사용한다. 즉 3 by 3 또는 그 이상의 window 혹은 mask를 영상 전체에 대해 반복적으로 수행을 하게 되면, 그 mask의 계수 값들의 따라 적정한 결과를 얻을 수 있다.  아래 그림을 보면 왼쪽...

[데이터 분석] 데이터 준비하기 : 다듬기, 변형, 병합

이미지
 미국 농무부는 음식의 영양소 정보 데이터베이스를 제공하고 있습니다. 영국 해커 애슐리 윌리엄스는 이 데이터베이스를 Json 형식으로 웹사이트 ( http://ashleyw.co.uk/project/food-nutrient-database )에 제공하고 있습니다.  각 음식에는 수자로 된 고유 ID와 영양소 및 제공량을 담고 있는 두 가지 리스트가 있으나 이 데이터 형식은 분석하기 좋지 않으므로 데이터 형식을 바꿔 보도록 하겠습니다.   웹사이트에서 데이터를 내려받은 다음 압축을 해제하고 선호하는 JSON 라이브러리를 사용해서 파이썬에 읽어오도록 하겠습니다.  db에 있는 각 엔트리는 한 가지 음식에 대한 모든 정보를 담고 있는 사전형입니다. 'nutrients' 필드는 사전의 리스트이며 각 항목은 한 가지 영양소에 대한 정보를 담고 있습니다.  사전의 리스트를 DataFrame으로 바꿀 때 추출할 필드의 목록을 지정해줄 수 있습니다. 음식의 이름과 그룹, id 그리고 제조사를 추출해 보도록 하겠습니다.  그리고 value_counts 메서드를 이용해서 음식 그룹의 분포를 확인해 볼 수 있습니다.  이제 모든 영양소 정보를 분석해 보도록 하겠습니다. 먼저 더 쉽게 분석을 하기 위해 각 음식의 영양소 정보를 하나의 테이블에 담아보겠습니다. 그러기 위해서는 몇 가지 과정을 거쳐야 하는데 먼저 음식의 영양소 리스트를 하나의 DataFrame으로 변환하고 음식의 id를 위한 칼럼을 하나 추가합니다. 그리고 이 DataFrame을 리스트에 추가합니다. 마지막으로 이 리스트를 concat 메서드를 사용해서 하나로 합쳐보겠습니다.  문제가 없다면 nutrients는 다음과 같을 것입니다.   총 389355개의 데이터가 있습니다. 하지만 이 DataFrame에는 중복된 데이터가 있으므로...

[책 리뷰] 프로페셔널의 조건

이미지
 서평  노트를 뒤적거리다 작년에 읽은 피터드러커의 프로페셔널의 조건이란 책에 대해 간단하게 메모해 놓은 것을 발견했다. 작년에 들은 어떤 강의에서 자기 개발서의 원조격인 책이라고 이것만 보면 다른 자기 개발서들은 이 책을 보고 저자들이 주석을 달아 놓은 수준이라 굳이 읽을 필요가 없다고 한 강사님의 말을 기억해 두었다가 도서관에서 빌려서 봤었다. 읽어보고 느낀점은 그 분야의 고전에 해당하는 책들은 다르구나라는 느낌과 다른 자기 개발서들은 이 책에서 하는 말들의 일부분을 더 알아듣기 쉽게 설명했구나라는 생각이 들었다. 그리고 항상 명심해두고 있어야할 말들이 있는 것 같아 다시 한번 정리해 봤다. 요약  효과적인 사람, 지속적인 성장을 할 수 있는 사람, 변화 할 수 있는 사람이 되어라  그리고 이책에서 내가 제일 인상깊게 보았던 7가지가 있다. 1. 나에겐 분명 한 번더 도전해 볼 의무가 있다.  - 실패 한다고 해서 포기하지 말라는 의미였던것 같다. 2. 완벽은 나를 피해가겠지만 나는 다시 한 번 완벽을 추구 할 것이다.  - 내가 생산하는 생산물 중 가장 완벽한 것은 내가 바로 다음에 할 것이다. 3. 항상 '신들이 보고있다.' 라는 생각을 해라.  - '누가 보는것도 아닌데 대충하지뭐'라는 마음가짐을 버리라는 뜻인것 같다. 4. 잘한일, 잘하고자 한일, 잘하고자 충분히 노력하지않은일, 실패한일에 대한 검토를 하라  - 피드백을 하라 5. 새로운 일을 할 때에는 그에 걸맞는 사람이 되어라.  - 자리가 사람을 만든다는 수동적 의미가 아닌 내가 그 자리에 맞는 사람이 스스로 되라는    것 같다. 6. 어떤 일을 할 때에는 예상하는 결과를 기록하고 그 이후에 그 기록과 비교할 것  - 이것도 피드백과 비슷한 말인것 같다. 7. 음... 내가 기록하면서 누...

[Digital Signage] Xibo 설치

이미지
 이번에는 Digital Signage용 오픈소스 OS인 Xibo를 설치하는 방법에 대해 알아보겠습니다. Xibo는 php기반이기 때문이 php가 설치되어 있어야 합니다. php 설치가 필요하신 분들은  http://cd4761.blogspot.kr/2016/02/it-php.html 로 가셔서 설치를 하신다음 진행해주시기 바랍니다.   http://xibo.org.uk/  에 접속해서 아래 그림과 같이 표시된 것들을 다운로드 받습니다.  먼저 CMS를 설치해 보도록 하겠습니다. CMS CMS란?  CMS는 Content Management System의 약자로 말그대로 Digital Signage를 통해 보여줄 컨텐츠들을 관리하는 시스템이라 보시면 됩니다. CMS는 PHP/ MySQL 웹 어플리케이션 이며 Apache, nginx 그리고 Microsoft IIS에서 작동 합니다. CMS설치 다운로드 받은 CMS파일을 압축 푼 다음 C:\Bitnami\wampstack-5.5.31-0\apache2\htdocs에 다음과 같이 위치 시켜줍니다. Xibo폴더 내부는 다음과 같습니다. 그 다음 브라우저에 localhost/Xibo를 입력하면 다음과 같은 화면이 출력됩니다. 하지만 사진을 보시면 각 항목이 체크 표시가 된 경우도 있고 x표시가 된 경우도 있을 것 입니다. 그럴 경우 C:\Bitnami\wampstack-5.5.31-0\php 폴더에 있는 php.ini 파일을 열면  위와 같은 부분이 있을 것입니다. 저는 Fileinfo와 SOAP Extension에 문제가 있다고 되어있는데 이럴경우 저 부분에 extension=php_fileinfo.dll과 extension=php_soap.dll을 입력해주시면 해결이 됩니다.  나머지 설치를 진행해주시고 설치가 완료된 후에 로그인을 하면 ...