Posted on 2012/02/01 22:34
Filed Under 분류없음

<code>
service tftp
{
    socket_type     = dgram
    protocol        = udp
    wait            = yes
    user            = root
    server          = /usr/sbin/in.tftpd
    server_args     = -s /tftpboot
    disable         = no
    per_source      = 11
    cps             = 100 2
    flags           = IPv4
}
</code>
크리에이티브 커먼즈 라이센스
Creative Commons License
2012/02/01 22:34 2012/02/01 22:34

Posted on 2012/02/01 22:17
Filed Under 분류없음

<code>
$ cat > mdev.conf << EOF
null    root:root 0666  @chmod 666 $MDEV
zero    root:root 0666
grsec   root:root 0660
full    root:root 0666

random  root:root 0666
urandom root:root 0444
hwrandom root:root 0660

console root:tty 0600 @mkdir -pm 755 fd && cd fd && for x in 0 1 2 3 ; do ln -sf /proc/self/fd/$x $x; done

fd0     root:floppy 0660
kmem    root:root 0640
mem     root:root 0640
port    root:root 0640
ptmx    root:tty 0666

ram([0-9]*)     root:disk 0660 >rd/%1
loop([0-9]+)    root:disk 0660 >loop/%1
sd[a-z].*       root:disk 0660 */lib/mdev/usbdisk_link
hd[a-z][0-9]*   root:disk 0660 */lib/mdev/ide_links
md[0-9]         root:disk 0660

tty             root:tty 0666
tty[0-9]        root:root 0600
tty[0-9][0-9]   root:tty 0660
ttyS[0-9]*      root:tty 0660
pty.*           root:tty 0660
vcs[0-9]*       root:tty 0660
vcsa[0-9]*      root:tty 0660

ttyLTM[0-9]     root:dialout 0660 @ln -sf $MDEV modem
ttySHSF[0-9]    root:dialout 0660 @ln -sf $MDEV modem
slamr           root:dialout 0660 @ln -sf $MDEV slamr0
slusb           root:dialout 0660 @ln -sf $MDEV slusb0
fuse            root:root  0666

card[0-9]       root:video 0660 =dri/

pcm.*           root:audio 0660 =snd/
control.*       root:audio 0660 =snd/
midi.*          root:audio 0660 =snd/
seq             root:audio 0660 =snd/
timer           root:audio 0660 =snd/

adsp            root:audio 0660 >sound/
audio           root:audio 0660 >sound/
dsp             root:audio 0660 >sound/
mixer           root:audio 0660 >sound/
sequencer.*     root:audio 0660 >sound/

agpgart         root:root 0660  >misc/
psaux           root:root 0660  >misc/
rtc             root:root 0664  >misc/

event[0-9]+     root:root 0640 =input/
mice            root:root 0640 =input/
mouse[0-9]      root:root 0640 =input/
ts[0-9]         root:root 0600 =input/

vbi[0-9]        root:video 0660 >v4l/
video[0-9]      root:video 0660 >v4l/

dvb.*           root:video 0660 */lib/mdev/dvbdev

usbdev[0-9].[0-9]       root:root 0660 */lib/mdev/usbdev
usbdev[0-9].[0-9]_.*    root:root 0660

tun[0-9]*       root:root 0600 =net/
tap[0-9]*       root:root 0600 =net/

zap(.*)         root:dialout 0660 =zap/%1
dahdi!(.*)      root:dialout 0660 =dahdi/%1

cciss!(.*)      root:disk 0660 =cciss/%1
ida!(.*)        root:disk 0660 =ida/%1
rd!(.*)         root:disk 0660 =rd/%1

sr[0-9]         root:cdrom 0660 @ln -sf $MDEV cdrom

hpilo!(.*)      root:root 0660 =hpilo/%1

xvd[a-z]        root:root 0660 */lib/mdev/xvd_links
EOF
</code>
크리에이티브 커먼즈 라이센스
Creative Commons License
2012/02/01 22:17 2012/02/01 22:17

Posted on 2012/02/01 21:44
Filed Under 분류없음


Ubuntu에서 JFFS2 이미지를 마운트하는 방법은 실제 파일을 마운트하는 것은 아니다. linux에서 제공하는 MTD 기능을 이용하여 가상의 MTD 이미지를 만들고 여기에 JFFS2 이미지 파일의 정보를 복사하여 내용을 볼 수 있도록 한다.

필요한 것은 mtd-tools로 ubuntu에서 설치하는 명령은 다음과 같다.

<code>
sudo apt-get install mtd-tools
</code>

MTD 장치를 사용하기 위해서는 커널의 모듈들을 사용하여야 한다. 필요한 커널 모듈들을 로딩하는 명령은 다음과 같다.

<code>
sudo modprobe mtd
sudo modprobe jffs2
sudo modprobe mtdram total_size=16384 erase_size=512
sudo modprobe mtdchar
sudo modprobe mtdblock
</code>

MTD  장치의 사용이 가능해지면 가상의 MTD 장치에 실제로 사용하는 MTD 이미지의 정보를 복사한다. 이미지의 정보를 복사하기 위해서는 dd 명령을 사용한다. dd는 데이터 스트림을 받아서 다른 스트림에 그대로 복사할 수 있는 유용한 unix 계열의 기본적인 명령이다.

<code>
sudo dd if=target.jffs2 of=/dev/md0
</code>

모든 과정을 마친 후에 가상의 MTD 장치를 마운트하는 과정을 거치면 JFFS2 이미지의 내용을 확인할 수 있다. 주의할 점은 마운트한 JFFS2의 내용을 수정하여도 원본의 이미지 파일에는 적용되지 않는다는 것이다.

<code>
sudo mkdir /mnt/jffs2
sudo mount -t jffs2 /dev/mtdblock0 /mnt/jffs2
</code>

JFFS2는 임베디드 장비에서 많이 사용되는 파일시스템 형태이므로 마운트를 하여 바로 사용하진 못하지만 위의 방법을 통해서 파일시스템의 정보를 확인할 수 있다.
크리에이티브 커먼즈 라이센스
Creative Commons License
2012/02/01 21:44 2012/02/01 21:44

Posted on 2012/01/31 15:51
Filed Under 분류없음

ubuntu를 운영하는 시스템에 문제가 생겨서 교체를 하게 되었다. 문제는 메인보드를 교체하면서 이전 시스템의 하드디스크를 그대로 사용하려고 하였는데 그전 리눅스 시스템의 설정이 그대로 살아있는 상태에서 새로운 시스템의 하드웨어 사양이 적용되어야 하는 문제가 발생하였다.

다른 것은 리눅스에서 그대로 사용할 수 있겠지만 가장 눈에 띄는 문제는 네트워크 설정의 문제가 발생하였다. 이전 네트워크 카드가 eth0로 등록되어있는 상태에서 네트워크 카드가 교체되었기 때문에 이를 수정해야하는 문제가 발생하였다.

$ ifconfig

eth1      Link encap:Ethernet  HWaddr 00:e0:4d:1f:86:bf  
          inet addr:xxx.xxx.xxx.xxx  Bcast:210.216.220.255  Mask:255.255.255.0
          inet6 addr: fe80::xxxx:xxxx:xxxx:xxxx/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:216 errors:0 dropped:0 overruns:0 frame:0
          TX packets:237 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:27149 (27.1 KB)  TX bytes:34943 (34.9 KB)
          Interrupt:20 Base address:0x4000 
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:680 (680.0 B)  TX bytes:680 (680.0 B)


문제가 되는 설정은 udev에서 장치에 대한 설정을 가지고 있는 것이 문제이다. 그래서 기존 설정을 삭제하고 새로운 설정에 맞도록 수정하는 것이 필요하다. 수정은 vi를 이용하여 간단히 할 수 있으며 여기에 그 예제를 기술하면 다음과 같다.


$ sudo cat /etc/udev/rules.d/70-persistent-net.rules 
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x10ec:0x8167 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:e0:4d:1f:86:b2", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x10ec:0x8167 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:e0:4d:1f:86:bf", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"


수정후


$ sudo cat /etc/udev/rules.d/70-persistent-net.rules 
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x10ec:0x8167 (r8169)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:e0:4d:1f:86:b2", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x10ec:0x8167 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:e0:4d:1f:86:bf", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

결국 바뀌는 부분은 이전의 eth0 부분을 삭제하고 새로 잡힌 eth1 장치를 eth0로 수정하여 주는 것이 필요하다.

ifconfig의 결과는 다음과 같다.


$ ifconfig

eth0      Link encap:Ethernet  HWaddr 00:e0:4d:1f:86:bf  
          inet addr:xxx.xxx.xxx.xxx  Bcast:210.216.220.255  Mask:255.255.255.0
          inet6 addr: fe80::xxxx:xxxx:xxxx:xxxx/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:216 errors:0 dropped:0 overruns:0 frame:0
          TX packets:237 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:27149 (27.1 KB)  TX bytes:34943 (34.9 KB)
          Interrupt:20 Base address:0x4000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:680 (680.0 B)  TX bytes:680 (680.0 B)


크리에이티브 커먼즈 라이센스
Creative Commons License
2012/01/31 15:51 2012/01/31 15:51

Posted on 2012/01/08 20:46
Filed Under 분류없음

맥에서 사용하기 위한 widget으로 맥의 상태를 보여주는 istat를 사용중이다. 이 프로그램은 무료 프로그램으로 꽤 괜찮은 퀄리티를 자랑한다. 여기에 추가하여 linux 서버, solaris, 맥의 상태를 아이폰으로 확인할 수 있는 APP이 있어서 설치하여 사용하게 되었다.

이 프로그램을 사용하기 위해서는 먼저 istatd를 설치하여야 한다. 여기에서는 리눅스 서버에서 설치하는 방법에 대해서 작성한다.
 
1. 다운로드
$ wget https://github.com/downloads/tiwilliam/istatd/istatd-0.5.8.tar.gz



2. 압축파일의 압축해제
$ tar -xfv istatd-0.5.8.tar.gz


3. 설정하기
$ ./configure --prefix=/ --sysconfdir=/etc 



4. 컴파일하기
$ make


5. 설치하기
$ sudo make install


6. 사용자 추가하기
$ sudo useradd istat


6. 추가 디렉토리 작성 & 소유권 설정
$ sudo mkdir -p /var/{run,cache}/istat
$ sudo chown istat.istat /var/{run,cache}/istat


7. 설정 변경하기
서버 코드를 변경하여 접속할 때의 암호를 설정한다. 서버코드는 5개의 숫자로 이루어져 있다.
$ sudo vim /etc/istat.conf


8. 데몬 시작하기
$ /bin/istatd -d
크리에이티브 커먼즈 라이센스
Creative Commons License
2012/01/08 20:46 2012/01/08 20:46

Posted on 2012/01/01 17:44
Filed Under 분류없음

linux를 사용하다보면 windows에서 압축한 파일 혹은 다운로드받은 파일이 7z으로 압축된 경우가 많다. 이러한 압축 파일을 다루기 위해서는 7z 유틸이 필요하다. ubuntu에서 이를 지원하는 것은 p7zip-full 패키지이다. 이를 설치하는 방법은 다음과 같다.

사용자 삽입 이미지


ubuntu에서 7z를 명령어로 입력하면 화면과 같이 ubuntu의 패키지 관리 프로그램인 apt-get 을 사용하여 7z 명령을 포함하는 패키지를 알려준다.
yarang@ipvsix:/home1/sites/yarang/textcube_plugins/plugins$ 7z
The program '7z' is currently not installed.  You can install it by typing:
sudo apt-get install p7zip-full



7z를 설치하는 명령은 다음과 같다.
sudo apt-get install p7zip-full



압축 해제를 위한 명령은 다음과 같다.
 7z x "압축 해제할 파일"


압축 파일 생성 명령은 다음과 같다.
 7z a "압축파일명" "압축할 파일"
크리에이티브 커먼즈 라이센스
Creative Commons License
2012/01/01 17:44 2012/01/01 17:44

About

by 야랑이

Counter

· Total
: 1606
· Today
: 12
· Yesterday
: 14