수세리눅스로 고고...

linux 2007. 11. 29. 14:10 |

나름대로 리눅스를 많이 사용한다고 생각중... 그중에서 데비안계열의 리눅스를 좋아한것 같다. 빠른 업데이트와 편리한 관리등등...그래서 우분투리눅스를 접했을때 기분이 좋았다고나 할까....
운영중인 시스템을 거의 우분투로 변경하는 작업을 하고 놋북에도 우분투 대퍼를 설치해서 사용을...
그런데 우분투가 대퍼에서 페티스폰....굽스기본으로 업글되면서 내 놋북에서 이것저것 문제가 발생했다. 마우스가 느려진다던지... 놋북의 문제로 생각했는데 아무래도 compiz가 들어가기 시작하면서 뭔가 궁합이 맞지 않는다는 생각이 자꾸 들었다.
어제는 하루종일 놋북에 굽스를 설치하려고 애를먹었다. 라이브씨디에서 usb마우스가 거의 동작을 하지 않듯 느리게 움직이는 문제가 있었는데 설치하고 업글하면 괜찮을 것이라는 추정하에 새로 설치를 했지만 끝내 해결을 못함... 페티스폰에서 실패를 또한 굽스에서 겪었다...
그리고 놋북은 오픈수세10.3으로 맘을 바꿨다.
오픈수세도 compiz가 들어가있는데도 더 깔끔하게 동작을 하고 엡뎃도 우분투못지않게 맘에 들었다. 아마 수세로 계속 맘이 돌아설지 모르겠다...

Posted by salgunamu
:

관리하는 Sun Sparc에 Solaris를 포기하고 Ubuntu를 설치하기로 했다. sparc용 iso이미지를 받아서 시디를 만들고 부푼맘으로
ok boot cdrom 을 했겄만....

Allocate 8 Megs of memory at 0x40000000 for kernel
loaded kernel version 2.6.22
loading initial ramdisk (5844610 bytes at 0x4E002000 phys, 0x40C00000 virt)...
Memory Address not Aligned
ok

위와같은 메시지가 나오고 다시 ok모드로 떨어진다.
열심히 문서를 찾아보니 ramdisk를 생성하지 않도록 하고 부팅을 하면 된다고 한다.

ok boot cdrom
ubuntu설치화면이 나오면...
install ide=nodma 로 명령을 주면 정상적으로 넘어간다.

섳치도중에 키보드를 물어보는 부분이 있어서 키보드를 보니 sun type 6이다. 그런데 리스트에는 없다 그래서 sun type 5를 선택했더니 키가 맞지를 않았다. 인터넷상에서 pc105로 선택하라고 해서 pc105를 선택하니 설치가 정상적으로 넘어갔다.

다 설치하고 부팅을 하고 키보드를 입력하는데 도중의 글자들이 엉뚱하게 작동한다. 음... 어떻게 키보드 정보를 바꾸지??? 키보드에 대한 정보는 /etc/default/console-setup파일에 들어있었다. 이 파일의 내용을 보니 키보드는 pc105로 들어갔는데 layout등이 잘못들어가 있는것 같아서 다른 ubuntu리눅스 시스템을 참고해서 아래와 같이 변경하였다.
CODESET="Lat15" ----> "Uni1"
XKBMODEL="pc105" ----> "pc105"
XKBLAYOUT="fr" ----> "us"
XKBVARIANT="latin9" ----> ""
XKBOPTIONS="lv3:ralt_switch" ----> ""
위와같이 변경하고 재부팅후에 키보드 작동상황을 보니 정상적으로 동작했다...야호...

OS설치가 되면 가장먼저 업데이트를 하는것이 우선...
i386에 설치하는 Ubuntu를 생각하고 apt-get update했더니 ignored에러가 발생한다. dselect를 했더니 없는 명령어란다..어라...뭐 패키지가 덜 설치되었나????
이것도 검색을 해보니 sparc용의 ubuntu에서는 다른 명령을 사용하더군...
aptitude upgrade
aptitude install openssh-server

aptitude upgrade를 해도 동일하게 ignored에러가 발생하면서 업데이트가 안되는데 이것은 apt source list가 잘못된것 같다. 이것에 대한 검색을 해봐야지...쩝

업데이트도 정상적으로 완료했것만...결정적으로 Linux Sparc용 JDK가 제공되지 않아서 우분투 스팍은 포기...

Posted by salgunamu
:

/var/spool/clientmqueue ???

linux 2007. 10. 1. 01:13 |

운영하는 시스템에서 /var파티션이 100%로 full이 난것을 확인했다. log파일들을 정리하고도 용량이 줄어들지 않아서 파일들을 찾아보니 clientmqueue디렉토리에 많은 파일들이 존재하고 있었다. 어라.. 이 시스템은 sendmail을 사용하지 않는 시스템인데 웬 queue파일들이 이렇게 많은거지...

검색을 해보니 sendmail은 목적지를 확인하지 못한 메일을 clientmqueue에 임시로 저장했다가 목적지가 확인되면 mqueue로 보내서 메일을 발송하는 거라고 한다. 그런데 sendmail을 사용하지 않는 시스템에서 이러한 일이 발생하는 것은 logwatch에서 주요로그보고서를 메일로 발송하는 것 때문에 이러한 문제가 발생한다고 한다. logwatch의 메일발송기능을 없애려면 /etc/contab의 내용에서 MAILTO=root의 내용에서 root로 지정된것을 뺴주면 된다고 한다.

엄청나게 많은 파일이 생긴 clientmqueue디렉토리는 한번에 지우기가 어려운데 아래의 명령으로 한번에 지울수 있다고 한다.
ls | xargs rm -f

Posted by salgunamu
:

mysql-bin-000X의 index파일

linux 2007. 9. 27. 01:53 |

mysql을 운영하다보면 갑자기 하드디스크가 늘어난것을 확인할 수 있다. 이것은 mysql에서 binary log파일을 남기는 것때문인데 이 파일의 사이즈가 커서 문제가 되는것이다. 이 백업파일들을 삭제하고 binary log기능을 disable하는것은 아래와 같다.

1. mysql> show binary logs; 로 인덱스 파일들의 목록을 확인.
http://dev.mysql.com/doc/refman/4.1/en/show-binary-logs.html

2. mysql> reset master; 로 현재까지의 모든 로그파일들을 삭제하고 새로운 파일하나를 생성.
http://dev.mysql.com/doc/refman/4.1/en/reset-master.html

3. /etc/my.cnf파일의 내용중에서 아래의 항목을 수정하고
log_bin = off
log = off

4. mysql restart

Posted by salgunamu
:

- 출처: http://blog.naver.com/baboya100/20021098373

Subject ::

1) Kernel Panic : No Init Found

Error Messages ::

VFS: Mount root (ext2 filesystem)

Red Hat nash version 3.4.42 starting

Mounting /proc filesystem

Creating bloack devices

failed to read /proc/partitions: 0

Creating root device

mkrootdev: label /not found

Mounting root filesystem

Mount: error 2 Mounting ext3

pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed: 2

umount /initrd/proc failed: 2

Freeing unused kernel memory: 132k freed

kernel panic : No init found. Try passing init= option to kernel.

Symptoms ::

1) 부팅시 멈춤

2) linux single 모드 역시 부팅 불가

Problem Cause ::

root에 존재하는 initrd라는 디렉토리가 지워졌을때 발생됨

(init 프로세서가 존재하지 않거나 잘못된 경우)

Kernel이 손상된 경우도 포함된다.

Solution ::

만약, Single모드로 부팅이 가능하다면

ex) fsck.ext3 -y /dev/hda1 로 ext3를 체크해주면 해결이 가능하다.

만약, Single모드가 부팅이 불가능하다면

1) Linux 설치 CD를 넣고

2) linux rescue 로 부팅을 한다음

3) # 에 커서가 뜨면 chroot /mnt/sysimage 해서 root 모드로 들어가서

4) root에서 mkdir /initrd 를 해준다.

5) init 6 또는 reboot라는 명령어로 재부팅을 해주면 복구 완료.

Postscript ::

1) initrd라는 디레토리는 RAM mount , pivot_root system call의

명령을 수행하는 디렉토리로 수행후에 안에 파일은 지워짐

그렇기 때문에 파일이 존재하지 않는다고 지우면 부팅이 불가해진다.

2)위의 문제 해결은 Kernel 컴ㅍ일시 이루어지는 오류 정정문이 아니다

물론 내용은 겹치는 부분이지만, 단순히 부팅시 일어나는 오류에 관한 내용들이다.

Posted by salgunamu
:

Zimbra백업

linux 2007. 5. 21. 15:32 |

다른 시스템으로 현재 사용중인 Zimbra를 이전하려고 생각하니 데이터를 백업받아서 옮겨야 하는 문제가 발생했다. 오픈소스 Zimbra버전은 백업툴을 제공하지 않고 있다. 문서를 찾아보니 아래의 방법으로 백업하고 restore를 하는것이 좋은것 같다. 이방법으로 이전이 순조롭게 넘어갈것 같다..
if you want to make a simple backup, just to insure that your upgrade goes smooth, do this:

/etc/init.d/zimbra stop
ps aux |grep zimbra (to make sure zimbra is fully closed)
cp -av /opt/zimbra /opt/zimbra.backup

then run the upgrade-
if things get hosed, all you should have to do is replace /opt/zimbra with /opt/zimbra.backup

e.g.
/etc/init.d/zimbra stop
mv /opt/zimbra /opt/zimbra.hosed
mv /opt/zimbra.backup /opt/zimbra
/etc/init.d/zimbra start

now, there are other things that the zimbra installer touches outside of /opt/zimbra, like for example cron and init scripts... so this might not be a 100% fix, but it's better then having a hosed email server

Posted by salgunamu
:

debian-sys-maint계정

linux 2007. 4. 9. 02:33 |

데비안이나 우분투에서 MySQL을 관리하다보면 debian-sys-maint계정이 접근권한이 없어서 mysql데몬을 관리하는 것이 안되는 경우가 발생한다. 이것은 /etc/init.d/mysql스크립트를 start,stop,restart등등을 할때 /etc/mysql/debian.cnf의debian-sys-maint게정과 암호를 사용하기 때문이다.
그런데 debian.cnf파일의 password부분이 encryption이 된것으로 알았는데 그냥 clear-text라고 한다...
따라서, debian-sys-maint계정의 암호를 잃어버렸을 경우에는 이 파일의 password부분에 임의의 랜덤 문자열로 암호를 넣어주고 아래와 같이 mysql에서 debian-sys-maint에 대한 암호를 변경한다.
mysql> update user set password = password('랜덤스트링') where user = 'debian-s' and host = 'localhost';
mysql> flush privileges;

데비안의 경우 Username이 8자리여서 debian-s로 들어가고 있었다..

Posted by salgunamu
:

syslog-ng.conf내용

linux 2007. 3. 30. 12:40 |

아래의 예제는 syslog-ng.conf의 내용이다. 네트워크 장비들에 대한 로그를 수집할때 syslog-ng가 유용하게 사용되는데 들어오는 로그중에 불필요한 정보가 많이 들어오는 경우가 발생한다. 이러한 경우에 filter를 적용해서 받고 싶지 않은 문자열이 들어있는 이벤트는 저장을 하지 않도록 지정을 한다.

options { sync (0);
time_reopen (10);
log_fifo_size (1000);
long_hostnames (off);
use_dns (no);
use_fqdn (no);
create_dirs (no);
keep_hostname (yes);
};

source net {
unix-stream("/dev/log");
internal();
udp(ip(0.0.0.0) port(514));
};

filter f_updown { (not match("%LINEPROTO-5-UPDOWN:")) and
(not match("%LINK-3-UPDOWN:")) and
(not match("%CDP-4-DUPLEX_MISMATCH:"));
};

destination network_log { file("/var/log/net.log"); };

log { source(net); filter(f_updown); destination(network_log);
};

Posted by salgunamu
:

Zimbra설치완료

linux 2007. 3. 10. 13:07 |

Zimbra를 설치하기 위하여 운영하던 시스템 하나를 우분투6.10으로 교체했다. 성공적으로 설치를 하고 mysql의 root암호를 mysql운영하던 것처럼 변경을 하니 zimbra의 서비스가 제대로 구동이 안되는 문제가 발생하였다.
문서를 찾아보니 아래와 같은 방법으로 mysql암호를 recovery하는 절차가 있군.
Kill your mysql process, and restart it with mysql.server - if the mysqladmin returns an errror after that, we'll have to reset your password:

zmcontrol stop
zmlocalconfig -f -e zimbra_mysql_password=newpasswd
zmlocalconfig -f -e mysql_root_password=newrootpasswd

edit /opt/zimbra/bin/mysql.server

Change
'start')
# --defaults-file must be first argument
cd ${mysql_directory}; \
${mysql_directory}/bin/mysqld_safe \
--defaults-file=${mysql_mycnf} \
--ledir=${mysql_directory}/bin &
;;

to
'start')
# --defaults-file must be first argument
cd ${mysql_directory}; \
${mysql_directory}/bin/mysqld_safe \
--defaults-file=${mysql_mycnf} \
--skip-grant-tables \
--ledir=${mysql_directory}/bin &
;;

su - zimbra
mysql.server start

mysql mysql
update user set password=PASSWORD('newpasswd') where user='zimbra';
update user set password=PASSWORD('newrootpasswd') where user='root';
flush privileges
exit

mysql.server stop
Change mysql.server back (remove --skip-grant-tables)
mysql.server start
mysqladmin status

Posted by salgunamu
:

우분투에서 mysql서버를 구동할때 debian-sys-maint계정으로 제어를 하는데 이 계정에 대한 암호가 잘못 변경이 된경우에 아래와 같이 암호를 변경한다.
/usr/bin/mysqld_safe --skip-grant-tables&
use mysql;

update user set password = password('whatever') where user = 'root' and host='localhost';

update user set password = password('whatever') where user = 'debian-sys-maint' and host='localhost';

flush privileges;

Posted by salgunamu
: