manywaypark's Blog
개발, 검색, 함수

smartmontool

tips & tricks/Linux/Unix 2016. 6. 22. 14:38 by manywaypark

커널 업그레이드 하고 리부팅 했는데 파일시스템 체크하다가 실패함. Orz

(의심 가는 것은 docker 깔아서 이거저거 테스트한 것과 18G 짜리 postgresql dump file을 서버에서 받아와서 노트북에도 밀어넣은 작업. 둘 중에 하나가 좀 문제를 있으켰을 가능성이 농후하다)

두번 정도 리부팅하니 우분투가 올라오긴 올라오는데 좀 찝찝함.

혹시나 하는 마음에 smartmontools 돌려서 H/W failure 인지 검사.

short test는 아무 이상 없구나. 퇴근하면서 extended test 돌려놓고 가야겠다.


https://help.ubuntu.com/community/Smartmontools


happy hackin'

문제

좀 기괴한 방법으로 Ubuntu Server 14.04를 설치후 ubuntu-desktop등의 패키지 설치로 X Window 환경을 구축했더니, 시스템 메뉴바(용어가 맞나? 여튼 우측 상단, ubuntu unity에서는 top panel이라고 칭하는 듯)의 network관련 indicator에

이더넷 네트워크

장치가 관리되지 않음

으로 표시되고 인터페이스를 새로 추가해도 동작하지 않았다.


해결

/etc/NetworkManager/NetworkManager.conf 파일을 편집해서 managed=falsemanaged=true로 변경한다.

/etc/network/interfaces 파일에서 문제가된 device (내경우 eth0)를 삭제한다. 

그리고 sudo reboot


첨언

GUI에서의 설정과 /etc/network/interfaces 파일에서의 설정을 enable/disable하는 방법이 이거였구나.


refs:

https://help.ubuntu.com/community/NetworkManager

http://www.ubuntu-kr.org/viewtopic.php?p=103625

http://forum.falinux.com/zbxe/index.php?document_srl=532721&mid=lecture_tip -> 이건 mac address 변경되었을 때 eth0 device 찾는법.

파일이 삼천만개면 너무 많은 건가? --;

파일들의 개수가 많아지면, 참기 힘들 정도로 속도가 저하된다.
apt-get 등으로 정상적인 시스템 관리(package update 등)하기도 너무 느려서 짜증날 정도다.

관리의 편의를 위해 많은 삽질 끝에 자동으로 대량의 데이터 파일들을 .deb 파일로 만들어서 간편하게 설치하는 방식을 현재 진행중인 프로젝트에 적용했으나, 속도 문제로 다른 방법을 찾아야할 듯하다.

예:
# dpkg -r some-pkg
(Reading database ... 36070717 files and directories currently installed.)
Removing some-pkg ...

위에 보이는 패키지 하나 삭제하는 데에 몇십분은 걸리는 듯하다. Orz.

happy hackin'




[TIP] 내지는 잡담

tips & tricks/Linux/Unix 2008. 6. 21. 04:23 by manywaypark
집에서 좀 볼일이 있어서 회사 서버로 접속을 했다가 Ubuntu 서버들을 간만에 upgrade하려했더니 업데이트 서버에서 파일이 없다는 식의 에러가 나면서 안됐다.
살펴보니 edgy였다. http://(kr|us).archive.ubuntu.com/ubuntu/dists/ 에 직접 브라우저로 들어가서 살펴보니 egdy는 아예 디렉토리도 없다. Orz.
가만히 생각해보니 모든 서버를 Dapper (LTS)로 했다가, 한놈만 갑자기 죽는 현상이 있어서 egdy로 올렸던 것이 떠올랐다.

표준적인(?) 방법으로,
/etc/apt/sources.list에서 edgy를 몽땅 feisty로 바꾸고
apt-get update
apt-get upgrade
apt-get dist-upgrade
를 했는데,

다음과 같은 무시무시한 경고 메시지가 나왔다.
W: mdadm: unchecked configuration file: /etc/mdadm/mdadm.conf
W: mdadm: please read /usr/share/doc/mdadm/README.upgrading-2.5.3.gz .
W: mdadm: no arrays defined in configuration file.
W: mdadm: falling back to emergency procedure in initramfs.

'이거 잘못되면 주말에 회사 나가게 생겼구나. 3T짜리 레이드가 인식이 안될 수도 있겠다'

구글링을 해서 자료를 찾고, reboot을 하는 중에 계속 ping을 날리는데 ping
"Destination Host Unreachable"에서 "64 bytes from boxname (xxx.xxx.xxx.xxx)"으로 바뀔때 어찌나 기쁘던지...

해결법(google and copy and paste):
sudo apt-get remove mdadm
sudo apt-get install sysv-rc-conf
sudo sysv-rc-conf # Press space to "uncheck" each item on the mdadm and mdadm-radi lines)
sudo apt-get remove grub
sudo apt-get install grub
sudo update-grub
sudo dpkg --configure -a

참고:https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/98911
일단 잡담부터...
서버쪽에서는 하드웨어 문제나 안정성 때문에 웬만하면 그냥 Dapper LTS를 쓰려고했는데, sbcl이 0.9.8에서 더이상 버전이 안올라 가는 듯보였다. 내가 필요한 thread 및 timer기능이 온전하게 돌아가는 버전이 아니었다.

그래서 손쉬운 방법으로 서버 한대를 Edgy로 업그레이드를 해버렸다. 그런데, 이놈이 자주 죽는거 같더니 마지막으로는 부트파티션이 깨졌다. Orz.
아무래도 SATA RAID랑 궁합이 잘 안맞는다는 추측만 했다. 결론은 역시 LTS 버전이 안정적이라는 것.

이제 여기부터 backport이야기...
그래서 SBCL을 backport해보기로 했다.
날로 먹어버리겠다는 일념으로(좀 얍삽한가?) IDC에 있는 서버중에 동일 아키텍쳐(AMD64)에 Feisty가 깔려있는 곳에서 sbcl의 버전을 확인했더니 1.0이다. 충분하다! 그래서 그 머신에서 "apt-get source"로 소스를 받은 다음 통째로 Dapper LTS가 깔린 곳에 옮겨서 debian package를 만들었다.

"dpkg -i"".deb"파일을 설치하면 끝
이라고 생각했는데, 그게 아니였다. common-lisp-controller의 버전이 너무 낮다고 불평을 했다.
살짝 좌절했다. '이거 common-lisp-controller 하나만 더 가지고 온다고 될까? 그 놈을 설치하려면 또 다른 놈(들)에게 의존성이 걸려있는거 아닐까? 결국에는 시스템 전체 업그레이드?' 불안이 밀려왔다. 그래도 해보는데까지는 해보기로 했다. 어차피 내 잘못으로 빚어진 일이니 내 손으로 끝장을 봐야했다(데스크탑(edgy)에서 열심히 개발하고 서버(dapper)에 올리니 안돌아갔다. Orz).

비장한 각오로 common-lisp-controller를 위의 과정과 똑같이 backport했더니 그냥 해결됐다.
잠시 비장했던 마음가짐이 아까웠다.

잡설끝.

설치에 관한 간략한 설명:
  1. 먼저 dapper 박스에 sbcl이 안깔려 있다면 일단 깐다.
    ~$ sudo apt-get install sbcl
  2. 첨부파일을 다운로드 후에 적당한 곳에 압축을 풀고 패키지 두 개를 설치한다 (md5sum 체크도 한번 해주면 좋다).
    ~$ tar xvzf sbcl_1.0.0.0-1~dapper1_amd64.tgz
    ~$ sudo dpkg -i common-lisp-controller_6.1~dapper1_all.deb
    ~$ sudo dpkg -i sbcl_1.0.0.0-1~dapper1_amd64.deb
  3. 실행해보고 버전 확인한다.
    ~$ sbcl --version
    SBCL 1.0

대충 package cache 디렉토리 뒤져서 눈짐작으로 버전과 아키텍쳐사이에 ~dapper1을 넣는 것이 backport한 패키지의 명명법이란 것을 추측했는데 정확한 건지는 잘 모르겠다.
하고 나서 보니 backport라기보다는 build가 아닐까 하는 생각도 좀 든다. ^^;

happy hackin'

invalid-file

package 압축파일

invalid-file

md5sum

"apt-get install devscripts build-essential fakeroot" 으로 대충 build에 필요한 기본 패키지들을 깔고,
만약 less를 빌드한다면 다음과 같이 해서 소스 받고 build에 필요한(의존성이 있는) 패키지들을 깔고

~$ apt-get source less
~$ apt-get build-dep less
빌드한다.
~$ cd less-###/
~$ fakeroot ./debian/rules binary

"../less_###_XXX.deb"가 생성된다.

"dpkg -i less_###_XXX.deb" 로 시스템에 설치할 수 있다.

"dpkg-deb -c less_###_XXX.deb" 로 .deb 파일의 내용을 확인할 수도 있다 (다른 사람이 만들어 놓은 .deb 파일을 구했을 때는 한번 해보는 것이 좋을 듯).

참고: http://www.debian-administration.org/articles/20 (약간 오래된 글이라 ./debian/rules를 사용하지 않는 듯하다.)

happy hackin'

apache2에 mod_lisp2 설치하기

함수형 언어/Lisp 2007. 10. 11. 18:57 by manywaypark
apache2에 mod_lisp2 를 설치하는 방법을 간단히 설명한다.
  1. mod_lisp2.c 다운로드 (http://www.fractalconcept.com/asp/html/mod_lisp.html)

  2. 컴파일 및 설치 (gcc, apxs2 필요):
    sudo apxs2 -i -c mod_lisp2.c
    /usr/lib/apache2/modulesmod_lisp2.so가 설치 되었는지 확인.

  3. apache2 설정:
    /etc/apache2/mods-available/ 에 다음 내용의 파일을 적당한 이름(lisp.load)으로 저장.
    LoadModule lisp_module /usr/lib/apache2/modules/mod_lisp2.so
    모듈 활성화:
    sudo ln -s /etc/apache2/mods-available/lisp.load /etc/apache2/mods-enabled/lisp.load
     
  4. apache2 재시작:
    sudo /etc/init.d/apache2 restart
    /var/log/apache2/error.log 파일에 다음과 같은 로그가 찍히는지 확인.
    [Mon Oct 08 22:00:38 2007] [notice] caught SIGTERM, shutting down
    [Mon Oct 08 22:00:39 2007] [notice] Apache/2.0.55 (Ubuntu) mod_lisp2/1.3.1 configured -- resuming normal operations

happy hackin'


방금 KLDP에 Debian Binary Package Building HOWTO 한글 번역을 올렸다.

happy hackin'

Linux에서 java 한글 글꼴 설정

java 2007. 10. 1. 16:30 by manywaypark
먼저 Windows의 윤곽선 글꼴을 쓰기 위해,
Windows의 %windir%\Fonts 디렉토리의 batang.ttc, gulim.ttc를 리눅스의 ~/.fonts 디렉토리로 복사한다.
http://bebop.emstone.com/research/linux/ubuntu_java15_hangul/view에서 다운로드 받은 fontconfig.properties 파일을 /usr/lib/jvm/java-1.5.0-sun/jre/lib에 복사한다.
fontconfig.properties 내의 /home/lethean/을  $HOME으로 변경한다.

java application에서 멋지게 나오는 한글을 감상한다.

happy hackin'




/etc/motd 파일

tips & tricks/Linux/Unix 2007. 5. 2. 19:33 by manywaypark
/etc/motd 파일은 "message of the day"의 줄임말로, 로그인하는 사용자에게 표시되는 메시지이다.
잘못 건드리면 커널 업데이트 등을 하고 나서 조금 이상하게 변경되는 경우가 있는 듯하다.
평소와 다른 형식으로 표시된다면, 루트 권한으로 편집하면 된다.

참고: http://uw714doc.sco.com/en/SM_startup/sstT.etcmotd.html

happy hackin'
1 2 
분류 전체보기 (306)
잡담 (20)
함수형 언어 (65)
emacs (16)
java (18)
tips & tricks (154)
사랑 (1)
가사 (0)
독서 (4)
mobile (6)
비함수형 언어 (2)

공지사항

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

04-25 07:33