# ffmpeg -i input.avi -b 1024k -s 352x264 -r 25 -acodec copy movie_1024_352_25_.flv

# mount myiso.iso /mnt/iso/ -t iso9660 -o loop=/dev/loop0

Source : http://servergoogle.net/entry/freebsd-%EC%97%90%EC%84%9C-IP-%EC%9E%AC-%EC%84%A4%EC%A0%95-%EB%B0%8F-%EA%B0%80%EC%83%81-IP-%EC%B6%94%EA%B0%80

 

/etc/rc.conf 에서 IP 변경한후 sh /etc/netstart  하면  IP가 변경됩니다.
한개 인터페이스에 여러 IP를 할당시에는 alias 로 추가 하시면됩니다.
    ifconfig em0 alias 10.0.0.1 netmask 255.0.0.0
제거는 -alias
    ifconfig em0 -alias 10.0.0.1
## /etc/netstart  스크립트 내용
. /etc/rc.subr
load_rc_config 'XXX'
/etc/rc.d/pccard start
/etc/rc.d/devd start
/etc/rc.d/hostname start
/etc/rc.d/ipmon start
/etc/rc.d/ipfilter start
/etc/rc.d/ipnat start
/etc/rc.d/ipfs start
/etc/rc.d/sppp start
# /etc/rc.d/atm1 start
# . /etc/rc.d/atm2.sh start
# . /etc/rc.d/atm3.sh start
/etc/rc.d/netif start
/etc/rc.d/ipsec start
/etc/rc.d/dhclient start
/etc/rc.d/isdnd start
/etc/rc.d/ppp start
/etc/rc.d/ipfw start
/etc/rc.d/ip6fw start
/etc/rc.d/network_ipv6 start
/etc/rc.d/routing start
/etc/rc.d/mroute6d start
/etc/rc.d/route6d start
/etc/rc.d/mrouted start
/etc/rc.d/routed start
/etc/rc.d/nisdomain start
exit 0

웬지 간단하면서 고수틱한 팁? ㅋ (웬지 재수없어)

binutils 패키지가, 보통 yum이나 apt-get으로 설치들 하시는데.. 설치된 버전을 까먹었다거나 할때 한번 써먹을 수 있을듯 합니다.

머 그냥 컴파일하고 바로 실행하면 되지요.

glibc 버전을 확인하려는 분들이 gcc 설치안되어 있을리는 없으니..

명령어는 gcc ?o glibc_ver glibc_ver.c 이렇게 하면 되는건 당연히 아시죠? ㅋ

#include <stdio.h>
#include <gnu/libc-version.h>
int main (void)
{ puts (gnu_get_libc_version ()); return 0; }


이 방법도 있다고 하는군요

getconf -a | grep libc

Source : http://servermaster.pe.kr

 

1. 자신의 hostname 을 확인해 봅니다.
초기에 설정을 안하고 기본값으로 설치 하신분들은 ubuntu로 되어 있을 겁니다.

windpyj@ubuntu:~$ hostname
ubuntu

2. /etc/hostname 파일을 열어보시면 다음과 같이 되어 있을 겁니다.

windpyj@ubuntu:~$ sudo vi /etc/hostname
ubuntu

3. 변경하고자 하는 hostname을 넣어주고 저장하시면 됩니다.

#ubuntu 기존것은 주석처리 하였습니다.
servermaster.pe.kr

4. servermaster.pe.kr 로 변경을 하였습니다.
다음 명령을 수행한 후 다시 로그인을 하면 변경된 것을 확인 할 수 있습니다.

windpyj@ubuntu:~$ sudo /bin/hostname -F /etc/hostname

5. 다시 로그인 하면 프롬프트에 다음과 같이 나옵니다.

windpyj@servermaster:~$
windpyj@servermaster:~$ hostname
servermaster.pe.kr

Source : http://sdnkorea.com/blog/574

 

이 글은 윈도우 혹은 리눅스에서 솔라리스 파티션의 데이타를 읽거나 쓰는 방법에 대해 설명 합니다.


파트 1 - 윈도우에서 솔라리스 파티션 접근하기

운나쁘게도 윈도우는 솔라리스 파티션을 읽을 수 없습니다. 그러므로 여러분은 듀얼 부트 (솔라리스, 윈도우즈) 설정 환경에서의 윈도우에서 솔라리스 파티션에 데이타를 읽을 수 없습니다.

이 것을 극복할 하기 위해서 여러분은 가상 PC 에뮬레이터 Qemu 와 Mialx 라이브 시디를 이용할 수 있습니다.

윈도우용 Qemu 바이너리는 아래 링크에서 구하실 수 있습니다.

http://www1.interq.or.jp/~t-takeda/qemu/

(Qemu 홈페이지는 http://fabrice.bellard.free.fr/qemu/index.html 입니다.)

그리고 Milax 라이브 시디는 아래 링크에서 구하실 수 있습니다.

http://www.milax.org/?page_id=9

Qemu 어카이브의 압축을 푼 다음 (Qemu 는 설치가 필요하지 않음) Milax ISO 이미지 milax03.iso 를 Qemu 디렉토리에 복사하고 Mialx 가상 머신을 시작하기 위해 아래의 명령어를 입력 합니다.

cd <directory_with_the_qemu_binary>

qemu.exe -L ".bios" -m 256 -localtime -boot d -cdrom ./milax03.iso -hda \.physicaldrive0 -net user -net nic,model=rtl8139 -redir tcp:1135::22 -name "Milax_(ssh_port:_1135)" -snapshot


주의:

파라미터"-snapshot" 은 "디스크 이미지 파일 대신 임시 파일에 쓸것" 을 의미 합니다. 이것은 Qemu 가 하드디스크에 쓰지 않음을 의미 합니다. 만약 변경사항을 하드디스크에 쓰길 원한다면 Qemu CLI 로 ctrl-alt-2 키를 이용해서 전환 하실 수 있습니다. 그리고 Qemu 커맨드 "commit ide0-hd0" 를 입력하시면 됩니다(자세한 사항은 Qemu 메뉴얼을 확인하시기 바랍니다). 가상 머신으로 돌아가기 위해서는 ctrl-alt-1 키를 이용합니다. 여러분은 절대로 Qemu 를 이용하여 -snapshot 파리미터 없이 실제 하드디스크를 접근해서는 안됩니다!!!

여러분은 Qemu 0.9.1 에서 백슬래시를 사용하려면 반드시 백슬래시 두개를 입력해야 합니다.

파라미터 "\.physicaldrive0" 에서의 숫자는 사용할 디스크를 가르킵니다 - 만약 솔라리스가 첫번째 하드디스크에 있지 않다면 적절한 숫자로 바꿔주시기 바랍니다.

이 구문은 윈도우 XP (테스트됨) 에서 잘 동작하고 윈도우 2000 에서도 문제 없을 것입니다. Qemu 포럼에는 이 구문이 Vista 에서는 잘 동작하지 않는 다는 메세지들이 올라오고 있습니다 - 필자는 Vista 가 없어서 이부분을 확인해 보지 못했습니다.

이제 여러분은 가상 머신에서 솔라리스 파티션에 접근하실 수 있습니다.

여러분의 윈도우 호스트에서 가상머신에 접근하기 위해서는 다음의 명령을 이용합니다.

ssh -l alex -p 1135 localhost

혹은 scp 를 이용 합니다.

scp -p 1135  alex@localhost:/etc/release .


주의:

필자는 오직 Qemu 0.9.1 로 테스트 해 보았습니다 - 구버전의 Qemu 에서는 동작하지 않을 수도 있습니다.


파트 2 - 리눅스에서 솔라리스 파티션 접근하기


리눅스에서 위에서 언급한 workaround 는 필요 하지 않습니다. 왜냐하면 리눅스는 적어도 솔라리스 파티션과 UFS 빌트인에 대한 읽기 전용 접근을 제공하고 있기 때문입니다:

예제:

dmesg 를 이용해서 솔라리스 슬라이스를 위한 디바이스 이름을 확인해 보겠습니다:

root@tp61p:~# dmesg | grep sda

[ 23.652384] sd 2:0:0:0: [sda] 312581808 512-byte hardware sectors (160042 MB)

[ 23.652393] sd 2:0:0:0: [sda] Write Protect is off

[ 23.652394] sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00

[ 23.652403] sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

[ 23.652434] sd 2:0:0:0: [sda] 312581808 512-byte hardware sectors (160042 MB)

[ 23.652439] sd 2:0:0:0: [sda] Write Protect is off

[ 23.652441] sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00

[ 23.652449] sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

[ 23.652451] sda:sr0: scsi3-mmc drive: 24x/24x writer dvd-ram cd/rw xa/form2 cdda tray

[ 23.677465] sda1 sda2 sda3 sda4 < sda5 sda6 sda7 >

[ 23.705547] sda1: <solaris: [s0] sda8 [s1] sda9 [s2] sda10 [s3] sda11 [s4] sda12 [s6] sda13 [s7] sda14 >

[ 23.706865] sd 2:0:0:0: [sda] Attached SCSI disk

[ 28.739904] Adding 4128664k swap on /dev/sda6. Priority:-1 extents:1 across:4128664k

[ 28.945181] EXT3 FS on sda3, internal journal

[ 30.894480] EXT3 FS on sda5, internal journal

root@tp61p:~#

이 예제에서 솔라리스 파티션의 슬라이스들은 리눅스 디바이스의 이름들로 접근할 수 있습니다.

Slice 	Linux device name

--------------------------------------------

s0 sda8

s1 sda9

s2 sda10

s3 sda11

s4 sda12

s6 sda13

s7 sda14

여기에서 슬라이스 5번은 어떠한 리눅스 디바이스도 존재하지 않습니다. 왜냐하면 이 슬라이스는 솔라리스에서 사용되지 않기 때문입니다(슬라이스의 사이즈가 0 임)

이 슬라이스를 마운트 하려면:

root@tp61p:~# mount -t ufs -o ro /dev/sda8 /mnt
root@tp61p:~# df -k /mnt

Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda8 11098457 9442316 1545157 86% /mnt
root@tp61p:~# ls /mnt

alternate_root Desktop home milax03.usb mnt21 pool test_root
bin dev kernel milax.compressed modinfo.out proc tmp
boot devices lib milax.uncompressed nautilus-debug-log.txt root usbcopy
BSITscite.pkg Documents lost+found mnt net sbin usr
cdrom etc media mnt1 opt sol10hvm.save var
data export milax mnt2 platform system xen

만약 솔라리스 슬라이스에 대한 쓰기 권한이 필요 하다면 (그리고 여러분의 리눅스 배포판이 UFS 를 위한 쓰기 접근을 지원하지 않는 다면) 혹은 여러분이 솔라리스에서 ZFS 를 사용한다면 여러분은 Qemu 를 리눅스에서 실행해서 솔라리스 파티션의 데이타에 접근하실 수 있습니다:

qemu -net user -net nic -usb -usbdevice tablet -L "/usr/local/share/qemu"  -boot d 

-m 512 -net nic,model=rtl8139 -redir tcp:1135::22

-name "Milax_(user_network)_(ssh_port:_1135)"

-hda /dev/sda -cdrom ./milax03.iso -snapshot

주의:

/dev/sda 는 솔라리스 파티션이 있는 디스크 (파티션이 아님!) 입니다.

파라미터"-snapshot" 은 "디스크 이미지 파일 대신 임시 파일에 쓸것" 을 의미 합니다. 이것은 Qemu 가 하드디스크에 쓰지 않음을 의미 합니다. 만약 변경사항을 하드디스크에 쓰길 원한다면 Qemu CLI 로 ctrl-alt-2 키를 이용해서 전환 하실 수 있습니다. 그리고 Qemu 커맨드 "commit ide0-hd0" 를 입력하시면 됩니다(자세한 사항은 Qemu 메뉴얼을 확인하시기 바랍니다). 가상 머신으로 돌아가기 위해서는 ctrl-alt-1 키를 이용합니다. 여러분은 절대로 Qemu 를 이용하여 -snapshot 파리미터 없이 실제 하드디스크를 접근해서는 안됩니다!!!


이 글의 영문 원본은 How to access a Solaris partition from Windows or Linux 에서 보실 수 있습니다.

출처 : http://sdnkorea.com/blog/549

 

이 글에서는 솔라리스에서의 /tmp 디렉토리와 램 디스크 에 대해 알아보도록 하겠습니다.

솔라리스에서 /tmp 디렉토리는 기본적으로 메모리 기반 파일 시스템으로 swap 에 마운트 되어 있습니다.

# df -k /tmp
Filesystem kbytes used avail capacity Mounted on
swap 1961928 504 1961424 1% /tmp

이러한 접근은 몇가지 장점이 있습니다.


  • /tmp 에 대한 접근이 빠름
  • 솔라리스가 디스크를 read/write 모드로 마운트 할 수 없거나 읽기전용 NFS 에 의해부팅 되었을때에도 언제나 쓰기 가능한 디렉토리가 존재 함으로써 매우 유용함  
  • 재부팅 전 혹은 후에 /tmp 디렉토리를 정리할 필요가 없음
  • /tmp 를 위한 파일시스템을 생성할 필요가 없이 - 그냥 마운트 하고 사용하면 됨

이와는 반대로 /tmp 사용시에 주의해야할 사항들도 있습니다.
왜냐하면 /tmp 는 swap 에 마운트 되므로 재부팅 후에도 유지해야 하는 파일을 위해서는 사용하면 안됩니다. - 임시 파일들은
디스크 기반 디렉토리 혹은 /var/tmp 디렉토리를 사용하시기 바랍니다.

가장 중요한 한가지는
모든 유저는 /tmp 에 파일을 쓸 수 있다는 것입니다. 그리고 기본으로 /tmp 는 사이즈 제한이 없이 마운트 됩니다. 즉 모든 유저가 머신의 전체 가상 메모리를(물리 메모리와 스왑) 단지 /tmp 를 쓰레기 값으로 채움으로써 사용할 수 있다는 것입니다.

이러한 상황을 방지하기 위해 여러분은 /tmp 를 상위 사이즈 제한을 지정해서 사용해야 합니다. 예를 들어 아래와 같은 /etc/vfstab 라인을

swap    -       /tmp    tmpfs   -       yes     -

아래와 같이 변경합니다

swap    -       /tmp    tmpfs   -       yes     size=1g

(1g 는 여러분에 머신에 맞게 조절하시기 바랍니다)
한가지 기억해야할 것은 솔라리스가 운용중일때에는 /tmp 사이즈를 바꿀 수 없다는 것입니다.

# lockfs /tmp
/tmp: Inappropriate ioctl for device

# mount -o remount,size=512m swap /tmp
mount: Operation not supported

그러므로 변경사항을 적용하기 위해서는 반드시 머신을 재부팅 해야 합니다.

tmpfs 는 "일반적인" 솔라리스에서 일반적인 파일시스템이기 때문에 여러분은 항상 메모리 기반 파일 시스템을 추가할 수 있습니다. 예를 들어 새로운 tmpfs 를 즉석에서 생성하려면

[Mon Mar 17 21:53:19 root@sol9 /]
# mkdir /mytmp

[Mon Mar 17 22:05:44 root@sol9 /]
# mount -o size=100m -F tmpfs swap /mytmp

[Mon Mar 17 22:06:04 root@sol9 /]
# df -k /mytmp
Filesystem kbytes used avail capacity Mounted on
swap 102400 0 102400 0% /mytmp

이 새로운 파일시스템을 시스템이 부팅될때 마다 생성해 주려면 단순히 /etc/vfstab 에 새로운 라인을 추가해주면 됩니다.

swap    -       /mytmp    tmpfs   -       yes     size=1g

tmpfs 파일시스템에는 몇가지 제약사항이 있습니다.


  • 실질적으로 /dev/dsk/c#t#d#s# 같은 파일 기반의 메모리 디바이스 혹은 lofi 마운트를 위한 /dev/lofi/# 같은 디바이스는 존재하지 않습니다. 특히 메모리 기반 파일 시스템은 raw 디바이스가 존재하지 않습니다.
  • tmpfs 에는 몇가지 제약사항이 존재합니다.(tmpfs(7FS) 를 참고하시기 바랍니다)
  • 그리고 tmpfs 파일시스템은 오직 메모리 기반 파일 시스템에서만 사용 가능합니다. 예를 들어 ufs 혹은 vxfs 같은 종류의 파일 시스템으로는 사용할 수 없습니다.

그러나 솔라리스는 진짜 운영체제 이기 때문에 이러한 문제에 대한 솔루션도 존재 합니다.

메모리 기반 파일 시스템을 위해 tmpfs 를 사용하는 대신 ramdiskadm 을 사용합니다. ramdiskadm 는 솔라리스 9 버전 부터 솔라리스에 포함되어져 있습니다. ramdiskadm 는 SUNWcsu 패키지의 일부이고 그러므로 모든 솔라리스 머신에 (x86 과 SPARC 모두) 설치되어 있을 것입니다.

ramdiskadm 는 다른 디스크 디바이스를 만들때 사용되는 유틸리티 처럼 진짜 램디스크 디바이스를 만들때 사용 됩니다.
예를 들어

# create the ramdisk
#
[Mon Mar 17 22:15:03 root@sol9 /]
# ramdiskadm -a mydisk 40m
/dev/ramdisk/mydisk

# check the result
#
[Mon Mar 17 22:15:21 root@sol9 /]
# ls -l /dev/ramdisk/mydisk
lrwxrwxrwx 1 root root 40 Mar 17 22:15 /dev/ramdisk/mydisk -> ../../devices/pseudo/ramdisk@1024:mydisk

[Mon Mar 17 22:16:04 root@sol9 /]
# ls -l /dev/rramdisk/mydisk
lrwxrwxrwx 1 root root 44 Mar 17 22:15 /dev/rramdisk/mydisk -> ../../devices/pseudo/ramdisk@1024:mydisk,raw

# check the fstype
#
[Mon Mar 17 22:16:07 root@sol9 /]
# fstyp /dev/rramdisk/mydisk
unknown_fstyp (no matches)

# create a filesystem on the ramdisk
#
[Mon Mar 17 22:16:22 root@sol9 /]
# newfs /dev/rramdisk/mydisk
/dev/rramdisk/mydisk: Unable to find Media type. Proceeding with system determined parameters.
newfs: construct a new file system /dev/rramdisk/mydisk: (y/n)? y
/dev/rramdisk/mydisk: 81872 sectors in 136 cylinders of 1 tracks, 602 sectors
40.0MB in 9 cyl groups (16 c/g, 4.70MB/g, 2240 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
32, 9664, 19296, 28928, 38560, 48192, 57824, 67456, 77088,

# mount the ramdisk
#
[Mon Mar 17 22:16:44 root@sol9 /]
# mkdir /myramdisk

[Mon Mar 17 22:16:51 root@sol9 /]
# mount /dev/ramdisk/mydisk /myramdisk

[Mon Mar 17 22:17:01 root@sol9 /]
# df -k /myramdisk
Filesystem kbytes used avail capacity Mounted on
/dev/ramdisk/mydisk 38255 1041 33389 4% /myramdisk

[Mon Mar 17 22:17:06 root@sol9 /]

이러한 램디스크들은 재부팅 후에는 사라짐을 기억하시기 바랍니다. 만약 계속해서 유지하고자 한다면 여러분은 init 스크립트나 SMF 서비스를 이용해서 머신이 재부팅 될때마다 새로 생성해야 합니다.

ramdiskadm 에 대한 좀 더 자세한 정보는 ramdiskadm(1m) 혹은 ramdisk(7d) 의 멘페이지를 참고하시기 바랍니다; ramdiskadm 의 멘페이지에는 루트가 아닌 사용자들이 램디스크를 생성하고 삭제할 수 있도록 하는 방법을 제공하고 ramdisk 의 멘페이지는 램디스크에서 얼마 만큼의 메모리를 사용할 수 있는지 설명해 줍니다.

그리고 여러분은 SVM 미러 용도로 ramdiskadm 으로 만든 램디스크를 사용할 수 있습니다. 이것은 어플리케이션이 주로 디스크에서 읽기 작업을 할 경우에 매우 유용합니다; 이러한 경우 여러분은 미러의 읽기 정책을 램디스크에서 먼저 읽어 오는 걸로 변경해줘야 합니다.

이와 관련된 설명은 다른 문서에서 설명합니다.
이 글의 영문 원본은
Talking about RAM disks in the Solaris OS
에서 보실 수 있습니다.

출처 : http://sdnkorea.com/blog/547

 

이 글은 가상 스왑 공간, 물리 (디스크) 스왑 공간 그리고 물리 메모리가 솔라리스9 혹은 10 을 운용하는 시스템의 퍼포먼스에
어떠한 영향을 주는지 설명 합니다. 이 글은 시스템의 물리적 메모리가 부족할 때 충분치 못한 물리 스왑 공간이 미치는 부정적인
영향에 대해 보여 드립니다.

이 글은 다음과 같은 주제를 다루고 있습니다:


스와핑이 일어나는 방법

솔라리스에서의 스와핑은 swapfs 가상 파일 시스템을 통해 수행 됩니다. 시스템이 제일 처음 세그먼트를 생성하고 세그먼트가 가상 스왑 공간을 예약합니다. 시스템이 처음 도달해서 페이지를 할당하면 페이지를 위해 가상 스왑 스페이스를 할당 합니다. 솔라리스에서 시스템은 미리 충분한 가상 스왑 공간을 예약 함으로써 스왑 공간 할당 지정이 필요할 때마다 수행되는 것이 아니라 요청시에 미리 수행이 되도록 합니다.

swapfs 파일 시스템에서 가상 스왑 스페이스의 사용 가능 공간은 가용한 페이지가능한 물리적 메모리(물리 메모리 빼기 사용된 메모리 빼기 예약된 메모리) 와 가용한 물리 (디스크) 스왑 공간의 합입니다.

다음의 데모에서 시스템은 16 GB 의 물리 메모리, 4 GB 의 물리 스왑 공간, 그리고 약 17.8 GB 의 가상 스왑 공간을 가지고 있습니다.

root@host # vmstat 3
kthr memory page disk faults
cpu
r b w swap free re mf pi po fr de sr s1 s2 s3 -- in sy
cs us sy id
0 0 0 17767520 15791376 46 130 210 1 1 0 98 15 -0 -0 0 523 2662
1183 0 0 99
0 0 0 17876888 15717136 0 4 0 0 0 0 0 0 0 0 0 336 140
184 0 0 100
0 0 0 17876696 15716944 0 0 0 0 0 0 0 0 0 0 0 334 108
179 0 0 100

만약 시스템의 가용한 페이지 숫자가 커널 파라미터인 lotsfree 보다 작다면 시스템은 메모리 페이지 검색을 시작할 것입니다. lotsfree 의 기본 값은 물리 메모리의 1/64 입니다.

root@host # echo "lotsfree/E" | mdb -k | sed '/:$/d'
lotsfree: 32064

32064 * 8192 = 250 MB 이고 이것은 1/64 * 16 GB = 256 MB


스와핑 데모를 위한 스크립트

이 데모에서 우리는 파일들이 디스크 대신 메모리에 저장되는 /tmp 디렉토리에 대용량의 파일을 생성함으로써 메모리를 소비시킬 것입니다.

메모리를 소비하기 위해 이용할 스크립트는 다음과 같습니다:

root@host # more myfilltmp.sh
#!/bin/ksh
# Counter variables
x=0
count=145

# Create a 14.5G load in 100m chunks in /tmp
#
echo "anPress $(tput smso)Enter$(tput rmso) to add 14.5G of
space to tmp:c"
read USERINPUT
until
[ $x -ge $count ]
do
mkfile 100m /tmp/file.$x
let x=x+1
done
echo "Created 14.5G of Tempfiles in /tmp"

# Create a 2G load in 100m chunks in /tmp
#
x=0
count=20
echo "anPress $(tput smso)Enter$(tput rmso) to add 2G of
space to tmp:c"
read USERINPUT
until
[ $x -ge $count ]
do
mkfile 100m /tmp/file_swap.$x
let x=x+1
done
echo "Created 2G of Tempfiles in /tmp"

echo ""
echo "anPress $(tput smso)Enter$(tput rmso) to clean tmp:c
"
read USERINPUT
rm /tmp/file*.*

여러분은 count 변수를 여러분의 시스템에서 가용한 물리 메모리와 스왑 스페이스에 맞게 수정해야 합니다.


데모

다음의 단계에서 우리는 nm 커맨드 실행에 걸리는 시간을 비교할 것입니다.


단계 1

터미널 2번에서 메모리 소모를 시작합니다:

root@host # ./myfilltmp.sh

Press Enter to add 14.5G of space to tmp:
Created 14.5G of Tempfiles in /tmp

root@host # vmstat 3
kthr memory page disk faults
cpu
r b w swap free re mf pi po fr de sr s1 s2 s3 -- in sy
cs us sy id
0 0 0 3018824 906752 0 0 0 0 0 0 0 0 0 0 0 348 111
182 0 0 100

root@host # time nm /dev/ksyms | wc -l
35039

real 0m0.803s
user 0m0.732s
sys 0m0.166s

/tmp 를 14.5 GB 정도 채운 다음에 가용한 물리 메모리는 약 906 MB 입니다. 그리고 가용한 가상 스왑 공간은 3 GB 입니다. 커맨드 nm 은 수행에 약 0.803 초 정도가 걸렸습니다.


단계 2

이번 단계에서 우리는 /tmp 를 가용 메모리가 lotsfree 값에 가까운 250MB 까지 채워 볼 것입니다.

root@host # mkfile 100m /tmp/file.149
root@host # mkfile 100m /tmp/file.150

root@host # vmstat 3
kthr memory page disk faults
cpu
r b w swap free re mf pi po fr de sr s1 s2 s3 -- in sy
cs us sy id
0 0 0 2609144 497016 0 0 0 0 0 0 0 0 0 0 0 350 116
205 0 0 100
0 0 0 2506736 394608 2 25 0 0 0 0 0 0 0 0 0 369 4426
192 0 1 99
0 0 0 2404056 291816 0 0 0 0 0 0 0 0 0 0 0 433 93
451 0 0 100

root@host # time nm /dev/ksyms | wc -l
35039

real 0m0.799s
user 0m0.736s
sys 0m0.162s

가용한 물리 메모리 (291 MB) 는 lotsfree (250 MB) 이상이고, 가용한 가상 스왑 공간은 2.4 GB, 그리고 시스템은 nm 커맨드를 잘 수행했습니다.


단계 3
root@host # mkfile 100m /tmp/file.151

root@host # vmstat 3
kthr memory page disk
faults cpu
r b w swap free re mf pi po fr de sr s1 s2 s3 --
in sy cs us sy id
0 0 0 2404112 291880 0 0 0 0 0 0 0 0 0 0 0
426 95 453 0 0 100
0 0 0 2303056 208992 2 25 0 0 8 0 23924 0 0 0 0
457 4419 561 0 2 98
0 0 0 2303816 199112 0 0 0 16360 16360 0 38852 1 0 0 0
598 98 563 0 1 99
0 0 0 2302088 328320 16 104 0 43894 43894 0 571 363 0 0 0
983 567 852 1 1 99
0 0 0 2303768 369504 0 0 0 340 340 0 0 3 0 0 0
445 103 474 0 0 100
0 0 0 2303768 369840 0 0 0 0 0 0 0 0 0 0 0
425 109 445 0 0 100

root@host # time nm /dev/ksyms | wc -l
35039

real 0m0.775s
user 0m0.744s
sys 0m0.169s

가용 물리 메모리 (208 MB) 는 lotsfree (250 MB) 보다 아래이고 검색 속도 (sr) 는 23924 pages/second 입니다. (시스템은 100 pages/second 으로 검색을 시작합니다. 그리고 가용 메모리가 떨어질 수록 검색 속도가 선형으로 늘어 납니다.) 가용 스왑 공간은 2.3 GB 입니다. 시스템은 메모리가 부족함에도 불구하고 nm 커맨드를 잘 수행했습니다.


단계 4

이제 터미널 2번으로 가서 엔터를 눌러서 /tmp 를 채우도록 함으로써 가용 스왑 공간을 감소시키도록 합니다.

Press Enter to add 2G of space to tmp:

root@host # vmstat 3
kthr memory page disk
faults cpu
r b w swap free re mf pi po fr de sr s1 s2 s3 --
in sy cs us sy id
0 0 0 2235200 328544 6 65 0 11519 11519 0 9629 0 0 0 0
584 10395 597 0 2 98
0 0 0 1963000 144392 2 21 0 58588 58591 0 69377 473 0 0 0
1301 6884 1331 0 3 97
0 0 0 1894720 245784 0 12 3 59460 59462 0 12282 478 0 0 0
934 98 572 0 1 99
0 0 0 1894720 423280 0 0 0 60200 60200 0 0 475 0 0 0
830 111 275 0 1 99
0 0 0 1894720 603168 0 0 0 59449 59449 0 0 469 0 0 0
813 106 198 0 0 100
0 0 0 1894720 781776 0 0 0 59562 59562 0 0 473 0 0 0
810 89 183 0 0 100
0 0 0 1894720 958856 0 0 0 57842 57842 0 0 456 0 0 0
810 92 175 0 0 100
0 0 0 1894720 1134160 0 0 0 58941 58941 0 0 475 0 0 0
836 111 173 0 0 100
0 0 0 1894720 1310576 0 0 0 58068 58068 0 0 462 0 0 0
823 89 177 0 0 100
0 0 0 1894720 1486000 1 3 3 59108 59108 0 0 474 0 0 0
843 109 188 0 0 100
0 0 0 1894616 1661640 0 6 5 48646 48646 0 0 464 0 0 0
745 3664 169 0 1 99
0 0 0 1587368 1483880 10 103 0 0 0 0 0 0 0 0 0
374 19104 186 0 3 97
0 0 0 1280288 1144736 5 52 11 0 0 0 0 1 0 0 0
378 3210 206 0 1 99
0 0 0 1280360 1126824 0 0 0 0 0 0 0 0 0 0 0
357 111 174 0 0 100
0 0 0 256208 318656 0 0 0 0 0 0 0 0 0 0 0
419 107 433 0 0 100

root@host # time nm /dev/ksyms | wc -l
35039

real 0m0.837s
user 0m0.736s
sys 0m0.168s

가용한 가상 스왑 공간은 256 MB, 가용한 물리 메모리는 318 MB 이고 시스템은 잘 동작합니다.


단계 5
root@host # mkfile 100m /tmp/file_swap.20

root@host # vmstat 3
kthr memory page disk faults
cpu
r b w swap free re mf pi po fr de sr s1 s2 s3 -- in sy
cs us sy id
0 0 0 153880 259240 0 0 0 3731 3731 0 0 29 0 0 0 454 92
468 0 0 100
0 0 0 153880 260472 0 0 0 298 298 0 0 3 0 0 0 442 141
485 0 0 100

root@host # time nm /dev/ksyms | wc -l
35039

real 0m0.763s
user 0m0.736s
sys 0m0.166s

가용한 가상 스왑 공간은 153 MB, 가용한 물리 메모리는 260 MB 이고 시스템은 잘 동작합니다.


단계 6
root@host # mkfile 100m /tmp/file_swap.21

root@host # vmstat 3
kthr memory page disk faults
cpu
r b w swap free re mf pi po fr de sr s1 s2 s3 -- in sy
cs us sy id
0 0 0 153808 270832 2 25 0 17927 17927 0 4080 50 0 0 0 587 134
591 0 1 99
0 0 0 85464 284696 0 0 0 13998 13998 0 3082 110 0 0 0 555 4378
503 0 1 99
0 0 0 51448 275352 0 0 0 25417 25417 0 7140 200 0 0 0 614 120
509 0 1 99

root@host # time nm /dev/ksyms | wc -l
35039

real 0m48.465s
user 0m0.738s
sys 0m0.176s

가용 가상 스왑 공간은 51 MB, 가용 물리 메모리는 275 MB 이고 시스템이 아주 느리게 동작합니다.


단계 7

일분 후에 시스템은 가용 메모리를 627 MB 이상으로 예약합니다.

root@host # vmstat 3
kthr memory page disk faults
cpu
r b w swap free re mf pi po fr de sr s1 s2 s3 -- in sy
cs us sy id
0 0 0 51568 627064 0 0 0 0 0 0 0 0 0 0 0 419 89
455 0 0 100
0 0 0 51568 627064 0 0 0 0 0 0 0 0 0 0 0 432 117
540 0 0 100

root@host # time nm /dev/ksyms | wc -l
35039

real 0m47.474s
user 0m0.744s
sys 0m0.171s

가용 스왑 공간이 51 MB (가용 메모리는 627 MB) 이 되자 시스템은 아주 느리게 동작했고 더이상 검색을 하지 않았습니다.

root@host # vmstat 3
kthr memory page disk faults
cpu
r b w swap free re mf pi po fr de sr s1 s2 s3 -- in sy
cs us sy id
0 0 0 50968 626680 3 29 0 0 0 0 0 0 0 0 0 406 241
518 0 0 99
0 0 0 49424 625632 1 10 0 0 0 0 0 0 0 0 0 410 96
459 0 0 100


결론

데모에서 보았듯이 시스템에 물리적 메모리가 부족하면 퍼포먼스는 영향을 받습니다. 왜냐하면 메모리 페이지 검색 때문입니다. 그러나 시스템의 가상 스왑 공간이 부족하면 물리 메모리 부족에 비해 훨씬 더 심각하게 퍼포먼스에 영향을 줍니다. 보통 물리 스왑 공간은 물리 메모리의 0.5 에서 1.5 배 정도의 사이즈가 되어야 합니다.
이 글의 영문 원본은
Impact of Swap Space on System Performance for the Solaris 9 and 10 OS
에서 보실 수 있습니다.

출처 : http://sir.co.kr/bbs/board.php?bo_table=pl_linux&wr_id=409

 

사용자 계정

*adduser 명령을 실행하면 변화가 나타나는 폴더들 (즉, 유저를 생성하려면)
1. /home 아래에 유저명의 폴더생성
2. /etc/passwd 정보 추가
3. /etc/group 정보 추가
4. /etc/skel
사용자 계정 생성
# adduser jslover (생성)
# passwd jslover (패스워드 설정 및 변경 )

사용자 계정 삭제
# userdel -r ljs
( adduser 옵션)
사용자 설명을 부가하여 생성
# adduser -c 01190722595 ljs
디렉토리를 지정하여 사용자 걔정 생성 (디폴트로 /home에 생성)
# adduser ljs -d /users/ljs
   → /users 폴더 아래 /ljs 사용자 폴더를 만들고 ljs 계정을 생성
UID
- 기본적으로 UID는 500부터 시작하여 자동증가하며 자동적으로 부여된다

UID를 특별한 값으로 지정하기
# adduser ljs -u505
사용자 정보 보기
# cat /etc/passwd
사용자 쉘(shell) 지정해주기
# adduser ljs -s /bin/tcsh
※ /etc/login.defs 파일의 역활 : UID,GID 시작값은 최소 500인데 이파일에서 수정할수 있다
※ /etc/skel : 새로운 계정을 추가할 때 먼저 /etc/skel 디렉토리 내에 있는 파일들이
                    사용자 홈 디렉토리로 복사되어서 사용자 홈 디렉토리가 만들어지는것이다.
                   : 이 폴더내에 추가된 계정 이용자에게 어떤 메세지를 주고자 할때 파일을 만들어 넣어두면 유용하다(message, readme)
useradd 명령의 기본 설정값 변경하기
1. useradd -D 옵션 기본 설정값 확인
[root@H200 home]# useradd -D
그룹=100
홈디렉토리=/home
비활성화=-1
만기=
쉘=/bin/bash
SKEL=/etc/skel

2. 사용자 기본 홈 디렉토리를 /home 에서 /users로 변경해보자
# adduser -D -b /users
3. 기본 쉘을 /bin/bash에서 /bin/tcsh로 변경하기
# adduser -D -s /bin/tcsh
※ 실계정은 발급하되 로그인 불가능하게 하기
- /etc/passwd  파일에서  /bin/bash 부분을 /bin/false 나 /bin/nologin 으로 바꿔준다
계정 패스워드 관리
# chage -M 15 -E 2005/05/30 ljs1
  → 유효만기일 15일 전부터 패스워드 변경요구(-M)
  → 2005년 5월 30일까지 계정 사용 만료(-E)
패스워드 유효기간 설정 확인
[root@H200 home]# chage -l ljs1
최소:   0
최대:   15
경고:   7
유효하지 않음:  -1
마지막 변경:             5월 24, 2005
패스워드 만기:   6월 08, 2005
패스워드가 유효하지 않음:       불가
계정 만기:       5월 30, 2005

계정 사용자 정보 변경
# usermod -s /bin/tcsh ljs (옵션은 adduser 옵션 내용과 같음)

사용자 계정 바꾸기(su)
*일반 사용자 추가 : # adduser ljs
*일반 사용자로 바꾸는것 : #su - ljs
*다시 root 사용자로 바꾸는것 : $ su - (패스워드를 다시 물어본다)
   ※ su 다음에 - 를 넣어야만 로그온한것과 같은 효과를 가지게 된다
   ※ 이전상태 계정으로 되돌아올때는 exit 명령.
환경변수 $PATH
[root@H200 home] # su ljs
[ljs@H200 home] $ su
Password:
[root@H200 home] # echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin

[root@H200 home]# su - ljs
[ljs@H200 ljs] $ su -
Password:
[root@H200 root]# echo $PATH
/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/root/bin

로그인 관리
1. 쉘 변경
→ 유저 로그인 못하게 하기
#usermod -s /sbin/nologin jongsuck

→ 다시 로그인하게 하기

#usermod -s /bin/basn jongsuck

2. /etc/pam.d/login 수정
  → /etc/pam.d/login 파일을 vi로 열어  파일 첫줄에 다음 한줄을 추가한다
[ auth  required  /lib/security/pam_listfile.so   item=user    sense=allow   file=/etc/loginuser   onerror=succeed ]
   → /etc/loginuser 파일 생성하고 로그인 가능한 계정 추가
   → 로그인거부는 /etc/nologinuser 파일 생성하고  계정 추가하고, sense=deny 로, file=/etc/nologinuser 로 변경
그룹 관리 
그룹 생성
# groupadd ljs
특정 GID 부여해서 그룹생성
# groupadd -g 801 ljs
그룹 삭제
# groupdel ljs
그룹 속성 변경
#groupmod -n ljs linux
→ linux 사용자 그룹을 ljs 그룹으로 변경하는 내용
*그룹 바꾸기
[root@H200 home]# chgrp jongsuck /home/ljsabc  (ljsabc 유저디렉토리 의 그룹을 jongsuck 그룹으로 바꾼다)
*그룹 권한 바꾸기
[root@H200 home]# chmod 770 /home/ljsabc/  -- ljsabc 그룹 권한 바꾸기
(끝에 /를 꼭 붙여야 한다. 안그러면 전부다 권한이 바뀐다)
※ #id : 자신의 UID , GID 를 볼수있다
LS옵션
# ls -al /etc/ |  less : 한 페이지별로 출력하라
grep
# grep root /etc/passwd : /etc /passwd 폴더내의 root와 관련된것을 출력하라
# ls -al /etc/|grep passwd : /etc 밑에 passwd와 관련된것을 출력하라

환경변수 $HOME (홈디렉토리)
*홈디렉토리 환경변수 보기 및 변경
[root@H200 etc]# echo $HOME (보기)
/root
[root@H200 etc]# cd ~ (보기)
[root@H200 root]# HOME= /tmp (변경)
[root@H200 root]# echo $HOME
/tmp
[root@H200 root]# cd ~
[root@H200 tmp]#
파티션 용량 및 파일갯수
# df : 파티션 용량 정보
# df -i : 파티션 내의 파일갯수 정보 (앞으로 생성할수 있는 파일갯수 정보)
1. 파티션 내 파일갯수
※ 수많은 파일 한꺼번에 만들기
- 쉘 프로그램 사용
[root@H200 test2]# touch a.sh
[root@H200 test2]# vi a.sh
      1 #!/bin/sh     - 쉘프로그램 만들때 써주는 주석
      2 i=0
      3 while:
      4 do
      5 touch ${i}
      6 i=$(( $i+1))
      7 done 
                             ..... 용량이 다 찰때까지 파일을 생성하라
[root@H200 test2]# ls
a.sh
[root@H200 test2]# ls -al
합계 3
drwxr-xr-x    2 root     root         1024  5월 24 20:18 .
drwxr-xr-x    7 root     root         1024  5월 24 20:14 ..
-rw-r--r--    1 root     root           53  5월 24 20:18 a.sh
*a.sh를 실행파일로 바꾸기
[root@H200 test2]# chmod 755 a.sh
[root@H200 test2]# ls -al
합계 3
drwxr-xr-x    2 root     root         1024  5월 24 20:18 .
drwxr-xr-x    7 root     root         1024  5월 24 20:14 ..
-rwxr-xr-x    1 root     root           53  5월 24 20:18 a.sh
[root@H200 test2]# ./a.sh - 실행
[root@H200 test2]# df -i   를 실행해보면 더이상 파일을 만들수 없다. IFree : 0 , IUse% : 100%
[root@H200 test2]# df      를 실행해보면 용량은 넉넉하게 남아있는것을 볼수 있다 (즉, 파일갯수만 더이상 생성할수 없다는 말)

2. 파티션 내 용량
*/boot내의 모든 용량을 소비해보자
[root@H200 test2]# dd if=/dev/zero of=a.txt bs=1024 count=30000   -용량이 100%될때까지 파일명을바꾸어가며 반복실행해보자
30000+0개의 레코드를 입력하였습니다
30000+0개의 레코드를 출력하였습니다
[root@H200 test2]# df -i   를 실행해보면 파일은 만들수 있다.
[root@H200 test2]# df      를 실행해보면 용량이 꽉차 있는것을 볼수 있다
(보충해야할 부분) ㅡ.ㅡ;
*adduser 말고 골격으로 유저생성하는 법 책에서 정리할것~!!!!!!
*[root@H200 home]# tail -1 /etc/passwd
*/etc/passwd , /etc/group  개념정리할것~!

[출처] XBOX(R)에 데비안 설치|작성자 레디필

http://sourceforge.net/project/showfiles.php?group_id=54192&package_id=57509

저 사이트에서 dist-1.1.4-basic.tar.gz 또는 dist-1.1.4-xbox.tar.gz 둘중 하나를 선택해서 설치.

basic은 저용량 버전으로 콘솔로 운영되고 xbox는 X-window가 설치되는 버전이다.

용량은 basic이 약 300메가정도 xbox가 1기가 정도이다.

그 외 XBOX Linux에 대한 정보는 http://www.xbox-linux.org/wiki/Main_Page 에서 얻을 수 있다.

현재 XBOX에 설치 할 수 있는 OS에는

1.1 Xebian (aka Ed's Debian)
1.2 Gentoox
1.3 Gentoo
1.4 dyne:bolic
1.5 X-DSL
1.6 sXb
1.7 XFedora
1.8 xUbuntu

이정도가 있다.

내가 깔아본 것은 1, 2, 7번이 있고 Windows 프로젝트도 있는데 이거는 Windows CE.NET 4.0을 포팅한것이다.

이녀석은 USB 마우스를 연결하지 않으면 사용할 수 없다.

http://www.chiark.greenend.org.uk/~sgtatham/putty/

저 사이트에서 SSH 접속 프로그램을 다운받아 엑박에 접속한 다음 XBOXLinuxInstall(대소문자 주의)를 입력하면 엑박에 설치한다.

현재 설치 환경은 소프트 개조로 맥어설트를 이용한 폰트핵이고 하드디스크는 기본하드(10기가)를 사용하고 있다.




Xebian을 시디에 구워 트레이에 넣고 실행한다.




실행중인 모습




실행이 끝나면 리눅스 콘솔이 뜬다.

이 상태에서 USB 키보드가 없다면 SSH로 접속해 연결한다.




기본적으로 192.168.0.10으로 되어있다.

각자의 설정에 맞추어 연결한다.




ID에 root PW에 xebian으로 입력해 접속한다.




접속 뒤 XBOXLinuxInstall을 입력하면 인스톨을 시작한다.

대소문자에 주의한다.




1. 게임이 세이브 되는 파티션(E드라이브)에 설치한다(가상하드디스크 이미지로 설치한다).

2. 하드디스크에서 쓰지 않는 공간에 설치한다(F드라이브로 추정...)

3. 하드디스크 전체를 사용(크롬웹 바이오스만 사용...이것도 추정)

이중에 첫번째를 선택




fatx파티션에 스왑파일과 root파일시스템 파일을 만든다.

문제가 발생할 수 있고 그것의 책임은 당신에게 있다.

대충 이런 내용이다.

과감히 예.




스왑 파일의 크기를 설정한다.

최대 256메가다.




root파일시스템의 크기를 설정한다.

최개 2기가다.




설정이 끝나면 스왑 파일과 시스템 파일을 만들고 설치한다.




root파일시스템으로 복사중.




IP를 설정한다.

각자의 네트워크 환경에 맞게 설정한다.




넷마스크를 설정한다.

대부부은 그대로 쓴다.




게이트웨이를 설정한다.

각자의 네트워크 환경에 맞게 설정한다.




호스트 네임을 설정한다.

각자의 네트워크 환경에 맞게 설정한다.




도메인 네임을 설정한다.

각자의 네트워크 환경에 맞게 설정한다.




설정이 끝나면 설정 저장을 한다.




설정 저장이 끝나면 최초의 콘솔화면으로 빠져나온다.

이제 엑스박스를 재부팅하고 CD를 빼고 리눅스를 실행하면 된다.

E드라이브에 설치시 E:Debian폴더에 있다.

Xebian 설치 후 웹 서버 설정

최초 계정은 root/xebian과 live/live계정이 있다.

설치 후 먼저 할 일은 root/xebian으로 접속 후 패스워드 변경

# passwd
# su live 명령으로 계정 변경 후 같은 방법으로 패스워드 변경

다시 root 계정으로 바꿀때는

# exit

패키지 업데이트

# apt-get update; apt-get upgrade

APM 설치시

아파치와 php, mysql, phpmyadmin, ftp서버를 설치한다.

기본적으로 perl(cgi)는 설치되어 잇는듯 하다.

# apt-get install libdbi-perl libdbd-mysql-perl mysql-client-4.1 mysql-server-4.1 mysql-common-4.1 php4 php4-common php4-gd php4-mysql apache2 apache2-common libapache2-mod-php4 phpmyadmin vsftpd

다시한번 업데이트

# apt-get update; apt-get upgrade

※패키지 삭제시에는

# apt-get remove <패키지 명>

설정 파일까지 완전 삭제하려면 뒤에 --purge 명령을 추가해주면 된다.

각종 파일 위치 및 기본 정보 #

Apache 설정파일         : /etc/apache/httpd.conf                     /etc/apache2/apache2.conf : 아파치 2.x 대
웹문서루트              : /var/www                                    /var/www/apache2-default/
Apache 로그파일         : /var/log/apache                             /var/log/apache2
Apache 데몬 계정과 그룹 : www-data www-data
PHP 설정파일            : /etc/php4/apache/php.ini                   /etc/php4/apache2/php.ini
MySQL data 파일 위치    : /var/lib/mysql
VSFTP 설정 파일         : /etc/vsftpd.conf                           /etc/ftpusers

아파치 파일 인덱스 표시 안하도록 변경

/etc/apache2/sites-enabled/000-default 파일에서
Options Indexes FollowSymLinks MultiViews 를
Options FollowSymLinks MultiViews 로 변경

RedirectMatch ^/$ /apache2-default/ 주석처리

/etc/apache2/apache2.conf 파일에서 다음 주석 삭제
AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps
AddHandler cgi-script .cgi

AddType application/x-httpd-php .php 뒤에 다음 구문 추가

.inc .php3 .php4 .html .htm

My-SQL root 암호 설정

# mysql -u root mysql

mysql> use mysql
mysql> update user set password = password('new-password') where user = 'root';
mysql> flush privileges;

<Ctrl> + <C>

VSFTP설정

/etc/vsftpd.conf 에서 다음의 주석 삭제
local_enable=YES
write_enable=YES
local_umask=022

/etc/ftpusers 에 접속 금지할 유저 등록(root 사용시 제거)

참고 사이트

http://www.debianusers.org/

http://xboxzone.gametime.co.kr /bbs/zboard.php?id=htip&platform=&page=1&sn1=&divpage=1& amp;lmenu=hbox&mgn=&mmid=&sn=off&ss=on&sc=on& keyword=리눅스&desc=asc&no=1059

http://xboxzone.gametime.co.kr /bbs/zboard.php?id=htip&platform=&page=1&sn1=&divpage=1& amp;lmenu=hbox&mgn=&mmid=&sn=off&ss=on&sc=on& keyword=리눅스&desc=asc&no=1061

http://www.xbox-linux.org/wiki/Main_Page


'Application > Linux' 카테고리의 다른 글

adduser 명령어 기본사용법  (0) 2008.04.18
지메일보다 편하다! 파이어폭스 플러그인 Xoopit  (0) 2008.04.04
XBOX에 Debian 설치  (0) 2008.03.23
Perl이란 무엇인가?  (0) 2008.03.19
iSCSI  (0) 2008.02.10
*nix 명령어 정리  (0) 2008.02.10

+ Recent posts