지풍@blog

지풍@blog RSS

가끔 첫번째 부팅 이후에 firstboot를 실행시켜서 옵션을 변경시켜야 할 때가 있습니다
(제가 알기로는 firstboot는 redhat 계열만 쓰는 걸로 기억이^^;;) 

그런데 첫번째 부팅이 아니면 firstboot를 실행하면

firstboot cannot run, exiting

이런 메시지가 뜨면서 실행이 안 되죠

이럴 경우에는 /etc/sysconfig/firstboot 파일을 수정해야 하는데

RUN_FIRSTBOOT의 값을 NO에서 YES로 변경시켜 준 다음에 firstboot를 다시 실행하면 

firstboot가 제대로 실행이 됩니다
ext3의 다음버전인 ext4가 나왔죠

커널 버전 2.6.28부터 추가 되었고 ext3와 화위 호환성, 1EB(헉!!)의 파일 시스템과 파일 하나가 16TB까지 지원 그리고 이전에 비해 성능과 신뢰성을 끌어 올렸다고 하네요

[root@localhost ~]# cat /etc/redhat-release
CentOS release 5.5 (Final)
[root@localhost ~]# cat /proc/version
Linux version 2.6.18-194.el5 (mockbuild@builder16.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Fri Apr 2 14:58:35 EDT 2010

그런데 CentOS 5.x가 2.6.18 기반이여서 그런지 기본으로 ext4가 기본으로 탑재가 안 되어 있더군요
(CentOS 5.5에 ext4가 없으니 하위버전도 그러겠죠?? 확인 안 해봐서ㅠㅠ)

뭐 CentOS가 Red Hat Enterprise Linux 기반으로 되어 있으니까 Red Hat Enterprise Linux에도 ext4가 기본 탑재 안 되어 있을것 같네요
(한갖 소문에는 Red Hat Enterprise Linux 5.4부터 탑재 한다고 하던데 5.5에 없네요~)

구글에서도 ext2를 버리고 ext4로 갈려고 하고 redhat 계열에서는 점차 ext4로 갈려고 계획 중인가 보더군요

그나저나 redhat 계열의 패키지 관리 프로그램인 yum을 이용해서 쉽게 ext4를 시스템에 적용 시킬 수가 있더군요

아래 같이 하면 ext4를 설치할 수 있을껍니다~

[root@localhost ~]# yum install e4fsprogs
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: centos.mirror.cdnetworks.com
 * base: centos.mirror.cdnetworks.com
 * extras: centos.mirror.cdnetworks.com
 * updates: centos.mirror.cdnetworks.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package e4fsprogs.i386 0:1.41.9-3.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package             Arch           Version                Repository      Size
================================================================================
Installing:
 e4fsprogs           i386           1.41.9-3.el5           base           1.1 M

Transaction Summary
================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)

Total download size: 1.1 M
Is this ok [y/N]: y
Downloading Packages:
e4fsprogs-1.41.9-3.el5.i386.rpm                          | 1.1 MB     00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : e4fsprogs                                                1/1

Installed:
  e4fsprogs.i386 0:1.41.9-3.el5

Complete!
[root@localhost ~]# rpm -ql e4fsprogs
/etc/mke4fs.conf
/sbin/debuge4fs
/sbin/dumpe4fs
/sbin/e4fsck
/sbin/e4image
/sbin/e4label
/sbin/e4undo
/sbin/finde4fs
/sbin/fsck.ext4
/sbin/fsck.ext4dev
/sbin/mke4fs
/sbin/mkfs.ext4
/sbin/mkfs.ext4dev
/sbin/resize4fs
/sbin/tune4fs
/usr/share/doc/e4fsprogs-1.41.9
/usr/share/doc/e4fsprogs-1.41.9/README
/usr/share/doc/e4fsprogs-1.41.9/RELEASE-NOTES
/usr/share/locale/ca/LC_MESSAGES/e4fsprogs.mo
/usr/share/locale/cs/LC_MESSAGES/e4fsprogs.mo
/usr/share/locale/de/LC_MESSAGES/e4fsprogs.mo
/usr/share/locale/es/LC_MESSAGES/e4fsprogs.mo
/usr/share/locale/fr/LC_MESSAGES/e4fsprogs.mo
/usr/share/locale/id/LC_MESSAGES/e4fsprogs.mo
/usr/share/locale/it/LC_MESSAGES/e4fsprogs.mo
/usr/share/locale/nl/LC_MESSAGES/e4fsprogs.mo
/usr/share/locale/pl/LC_MESSAGES/e4fsprogs.mo
/usr/share/locale/sv/LC_MESSAGES/e4fsprogs.mo
/usr/share/locale/tr/LC_MESSAGES/e4fsprogs.mo
/usr/share/locale/vi/LC_MESSAGES/e4fsprogs.mo
/usr/share/locale/zh_CN/LC_MESSAGES/e4fsprogs.mo
/usr/share/man/man5/e4fsck.conf.5.gz
/usr/share/man/man5/mke4fs.conf.5.gz
/usr/share/man/man8/debuge4fs.8.gz
/usr/share/man/man8/dumpe4fs.8.gz
/usr/share/man/man8/e4fsck.8.gz
/usr/share/man/man8/e4image.8.gz
/usr/share/man/man8/e4label.8.gz
/usr/share/man/man8/e4undo.8.gz
/usr/share/man/man8/fsck.ext4.8.gz
/usr/share/man/man8/fsck.ext4dev.8.gz
/usr/share/man/man8/mke4fs.8.gz
/usr/share/man/man8/mkfs.ext4.8.gz
/usr/share/man/man8/mkfs.ext4dev.8.gz
/usr/share/man/man8/resize4fs.8.gz
/usr/share/man/man8/tune4fs.8.gz

Fedora Core 초기 버전에서는 기본 설치 시 개발 환경과 서버 기능이 설치 되었는데 최근의 Fedora Core와 RHEL(Red Hat Enterprise Linux)를 포함한 Redhat 계열에서 기본 설치 시 gcc와 같은 컴파일러와 아파치와 mysql 같은 서버 기능이 설치 되지 않는데 아래와 같이 설치 시에 옵션을 추가하면 개발 환경과 서버 기능을 설치할 수 있다

사용자 삽입 이미지

설치 중에 위와 같이 어떤 기능을 설치할 것인지 묻는 화면에서 하단에 있는 Customize later 옆에 있는 Customize now을 선택한 다음에 Next를 클릭 하면 아래와 같이 선택할 수 있는 화면으로 넘어 가는데 Development와 Servers에서 원하는 기능을 체크인 한 다음에 설치 하면 개발 환경과 서버 기능을 추가할 수 있다

사용자 삽입 이미지
사용자 삽입 이미지

redhat 계열을 쓰는 리눅스를 설치 후에 바로 ipw2200 모듈을 쓰는 무선랜카드가 안 되는 경우가 있습니다

원인은 리눅스를 설치 할때 ipw2200 모듈이 필요하는 firmware를 설치 해 주지 않기 때문입니다

dmesg으로 커널 메시지를 보게 되면

ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.2.0kmprq
ipw2200: Copyright(c) 2003-2006 Intel Corporation
PCI: Enabling device 0000:06:05.0 (0000 -> 0002)
ACPI: PCI Interrupt 0000:06:05.0[A] -> GSI 16 (level, low) -> IRQ 169
ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
ipw2200: ipw2200-bss.fw request_firmware failed: Reason -2
ipw2200: Unable to load firmware: -2
ipw2200: failed to register network device
ACPI: PCI interrupt for device 0000:06:05.0 disabled
ipw2200: probe of 0000:06:05.0 failed with error -5

firmware가 없다고 에러가 뜨게 됩니다

http://ipw2200.sourceforge.net/firmware.php

이 곳에 들어 가서 firmware을 다운 받아 압축을 푼 다음에 생성되는 .fw 파일들을 모두 /lib/firmware/ 으로 넣어주게 되면 제대로 무선랜카드가 인식이 됩니다

그리고 dmesg를 치면 아래와 같이 인식 되는 것을 알 수 있습니다

ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.2.0kmprq
ipw2200: Copyright(c) 2003-2006 Intel Corporation
PCI: Enabling device 0000:06:05.0 (0000 -> 0002)
ACPI: PCI Interrupt 0000:06:05.0[A] -> GSI 16 (level, low) -> IRQ 169
ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
ipw2200: Detected geography ZZR (14 802.11bg channels, 0 802.11a channels)

또한 iwconfig을 치면 인식 된 무선랜카드를 볼수 있습니다

eth4      unassociated  ESSID:off/any
          Mode:Managed  Channel=0  Access Point: Not-Associated
          Bit Rate:0 kb/s   Tx-Power=20 dBm   Sensitivity=8/0
          Retry limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0



phpmysql을 설치 후 아래 그림 처럼 "mysql 확장모듈을 불러올 수가 없습니다" 이라는 메시지가 뜨는 경우가 있습니다

사용자 삽입 이미지

php-mysql 이라는 rpm이 설치가 되지 않아서 발생하는 경우 입니다

[root@localhost ~]# rpm -qa | grep php
php-5.1.6-5.el5
php-ldap-5.1.6-5.el5
php-cli-5.1.6-5.el5
php-common-5.1.6-5.el5

그래서 아래와 같이 rpm으로 php-mysql을 설치 하면 되며 php-pdo가 필요하는 경우가 있습니다

그럴 경우에는 아래와 같이 php-mysql 이전에php-pdo를 먼저 설치 해주면 됩니다

아래의 예는 CentOS 5.0을 예로 들은 것이며 해당하는 배포판의 rpm은 ftp://ftp.sayclub.com에서 찾을 수 있습니다

[root@localhost ~]# rpm -Uvh ftp://ftp.sayclub.com/pub/Linux/centos/5.0/os/x86_64/CentOS/php-pdo-5.1.6-5.el5.x86_64.rpm
Retrieving ftp://ftp.sayclub.com/pub/Linux/centos/5.0/os/x86_64/CentOS/php-pdo-5.1.6-5.el5.x86_64.rpm
warning: /var/tmp/rpm-xfer.25WPHP: Header V3 DSA signature: NOKEY, key ID e8562897
Preparing...                ########################################### [100%]
   1:php-pdo                ########################################### [100%]
[root@localhost ~]# rpm -Uvh ftp://ftp.sayclub.com/pub/Linux/centos/5.0/os/x86_64/CentOS/php-mysql-5.1.6-5.el5.x86_64.rpm
Retrieving ftp://ftp.sayclub.com/pub/Linux/centos/5.0/os/x86_64/CentOS/php-mysql-5.1.6-5.el5.x86_64.rpm
warning: /var/tmp/rpm-xfer.ya0dc7: Header V3 DSA signature: NOKEY, key ID e8562897
Preparing...                ########################################### [100%]
   1:php-mysql              ########################################### [100%]

언제부터인가 몰라도 Fedora Core 나 Redhat el(CentOS 포함) 계열에서

기본설치를 하면 gcc가 설치 안 되는 어처구니 없는 현실이....

기본적으로 커널 컴파일을 하기 위해서 gcc를 설치 해야 하는데

Fedora Core 7 기본 설치 된 곳에서 gcc를 설치 방법입니다

일단 네트워크가 되는 환경이고 rpm 들은 모두 외부에서 받아 오는 것으로 했습니다

glib
rpm -Uvh ftp://ftp.sayclub.com/pub/Linux/fedora/releases/7/Fedora/x86_64/os/Fedora/glib-1.2.10-26.fc7.x86_64.rpm

kernel-header
rpm -Uvh ftp://ftp.sayclub.com/pub/Linux/fedora/releases/7/Fedora/x86_64/os/Fedora/kernel-headers-2.6.21-1.3194.fc7.x86_64.rpm

glibc-headers
rpm ftp://ftp.sayclub.com/pub/Linux/fedora/releases/7/Fedora/x86_64/os/Fedora/glibc-headers-2.6-3.x86_64.rpm

glibc-devel
rpm -Uvh ftp://ftp.sayclub.com/pub/Linux/fedora/releases/7/Fedora/x86_64/os/Fedora/glibc-devel-2.6-3.x86_64.rpm

gcc
rpm -Uvh ftp://ftp.sayclub.com/pub/Linux/fedora/releases/7/Fedora/x86_64/os/Fedora/gcc-4.1.2-12.x86_64.rpm

ncures-devel
rpm -Uvh ftp://ftp.sayclub.com/pub/Linux/fedora/releases/7/Fedora/x86_64/os/Fedora/ncurses-devel-5.6-6.20070303.fc7.x86_64.rpm

이 순서 대로 rpm을 설치 하면 기본 설치 된 곳에서도 커널 컴파일이 되도록 gcc가 설치가 됩니다

다른 배포판에서도 위 rpm 순서대로(버전은 좀 다르겠지만은요) 설치하면 gcc를 설치 할 수 있습니다

CentOS에서 5.x에서 yum으로 vlc를 설치 할려면

2nd party RPM인 rpmforge(http://rpmforge.net/user/packages/rpmforge-release/)를 설치 해야 합니다

위 주소로 들어 가면 rpmforge rpm을 받을수 있으나 페이지 관리가 안 되어서 업데이트가 안 되는것 같습니다

그래서 아래 주소에서 받으면 되며 버전 뒤에 붙은 배포판에 따라 받으면 됩니다
http://apt.sw.be/packages/rpmforge-release/

참고로 Red Hat Enterprise Linux(el)와 CentOS가 클론이기 때문에 el 버전에 따라 받아서 설치 하면 됩니다

일단 아래처럼 rpm으로 rpmforge 설치 하고

[root@localhost ~]# rpm -Uvh http://apt.sw.be/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
Retrieving http://apt.sw.be/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
warning: /var/tmp/rpm-xfer.uHz9oY: Header V3 DSA signature: NOKEY, key ID 6b8d79e6
Preparing...                ########################################### [100%]
   1:rpmforge-release       ########################################### [100%]
[root@localhost ~]#


아래와 같이 yum으로 vlc를 설치 하면 vlc를 간단하게 쓸수 있습니다

[root@localhost ~]# yum install vlc
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
rpmforge                  100% |=========================| 1.1 kB    00:00
base                      100% |=========================| 1.1 kB    00:00
updates                   100% |=========================|  951 B    00:00
addons                    100% |=========================|  951 B    00:00
extras                    100% |=========================| 1.1 kB    00:00
Reading repository metadata in from local files
primary.xml.gz            100% |=========================| 1.4 MB    00:05
################################################## 5765/5765
primary.xml.gz            100% |=========================| 1.1 MB    00:08
################################################## 3131/3131
primary.xml.gz            100% |=========================| 108 kB    00:00
################################################## 214/214
primary.xml.gz            100% |=========================|  157 B    00:00
primary.xml.gz            100% |=========================|  77 kB    00:00
################################################## 254/254
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for vlc to pack into transaction set.
vlc-0.8.6d-2.el5.rf.x86_6 100% |=========================|  87 kB    00:01
---> Package vlc.x86_64 0:0.8.6d-2.el5.rf set to be updated
--> Running transaction check
--> Processing Dependency: libdvbpsi.so.4()(64bit) for package: vlc
--> Processing Dependency: libid3tag.so.0()(64bit) for package: vlc
--> Processing Dependency: libx264.so.55()(64bit) for package: vlc
--> Processing Dependency: libmp3lame.so.0()(64bit) for package: vlc
--> Processing Dependency: libwx_gtk2u_adv-2.6.so.0()(64bit) for package: vlc
--> Processing Dependency: libmatroska.so.0()(64bit) for package: vlc
--> Processing Dependency: libdvdread.so.3()(64bit) for package: vlc
--> Processing Dependency: libwx_baseu-2.6.so.0(WXU_2.6)(64bit) for package: vlc
--> Processing Dependency: libwx_baseu-2.6.so.0()(64bit) for package: vlc
--> Processing Dependency: libvcdinfo.so.0()(64bit) for package: vlc
--> Processing Dependency: libwx_baseu_xml-2.6.so.0()(64bit) for package: vlc
--> Processing Dependency: libcddb.so.2()(64bit) for package: vlc
--> Processing Dependency: libwx_gtk2u_core-2.6.so.0(WXU_2.6.2)(64bit) for package: vlc
--> Processing Dependency: liblirc_client.so.0()(64bit) for package: vlc
--> Processing Dependency: libcaca.so.0()(64bit) for package: vlc
--> Processing Dependency: libdvdnav.so.4()(64bit) for package: vlc
--> Processing Dependency: libwx_baseu_net-2.6.so.0()(64bit) for package: vlc
--> Processing Dependency: libwx_gtk2u_html-2.6.so.0()(64bit) for package: vlc
--> Processing Dependency: libxosd.so.2()(64bit) for package: vlc
--> Processing Dependency: libwx_gtk2u_xrc-2.6.so.0()(64bit) for package: vlc
--> Processing Dependency: liba52.so.0()(64bit) for package: vlc
--> Processing Dependency: libupnp.so.3()(64bit) for package: vlc
--> Processing Dependency: libSDL_image-1.2.so.0()(64bit) for package: vlc
--> Processing Dependency: libmodplug.so.0()(64bit) for package: vlc
--> Processing Dependency: libcdio.so.7()(64bit) for package: vlc
--> Processing Dependency: libfaac.so.0()(64bit) for package: vlc
--> Processing Dependency: libwx_gtk2u_adv-2.6.so.0(WXU_2.6)(64bit) for package: vlc
--> Processing Dependency: libmpcdec.so.5()(64bit) for package: vlc
--> Processing Dependency: libopendaap.so.0()(64bit) for package: vlc
--> Processing Dependency: libcucul.so.0()(64bit) for package: vlc
--> Processing Dependency: libmpeg2.so.0()(64bit) for package: vlc
--> Processing Dependency: libwx_gtk2u_core-2.6.so.0(WXU_2.6)(64bit) for package: vlc
--> Processing Dependency: libebml.so.0()(64bit) for package: vlc
--> Processing Dependency: libiso9660.so.5()(64bit) for package: vlc
--> Processing Dependency: libwx_gtk2u_qa-2.6.so.0()(64bit) for package: vlc
--> Processing Dependency: libwx_gtk2u_core-2.6.so.0()(64bit) for package: vlc
--> Processing Dependency: libmad.so.0()(64bit) for package: vlc
--> Processing Dependency: libfaad.so.0()(64bit) for package: vlc
--> Processing Dependency: libaa.so.1()(64bit) for package: vlc
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for aalib to pack into transaction set.
aalib-1.4.0-5.el5.rf.x86_ 100% |=========================| 6.1 kB    00:00
---> Package aalib.x86_64 0:1.4.0-5.el5.rf set to be updated
---> Downloading header for libebml to pack into transaction set.
libebml-0.7.7-1.el5.rf.x8 100% |=========================| 3.3 kB    00:00
---> Package libebml.x86_64 0:0.7.7-1.el5.rf set to be updated
---> Downloading header for lirc to pack into transaction set.
lirc-0.6.6-4.el5.rf.x86_6 100% |=========================|  26 kB    00:00
---> Package lirc.x86_64 0:0.6.6-4.el5.rf set to be updated
---> Downloading header for libcdio to pack into transaction set.
libcdio-0.77-1.el5.rf.x86 100% |=========================| 8.7 kB    00:00
---> Package libcdio.x86_64 0:0.77-1.el5.rf set to be updated
---> Downloading header for libcddb to pack into transaction set.
libcddb-1.3.0-1.el5.rf.x8 100% |=========================| 3.9 kB    00:00
---> Package libcddb.x86_64 0:1.3.0-1.el5.rf set to be updated
---> Downloading header for lame to pack into transaction set.
lame-3.97-1.el5.rf.x86_64 100% |=========================| 6.3 kB    00:00
---> Package lame.x86_64 0:3.97-1.el5.rf set to be updated
---> Downloading header for faac to pack into transaction set.
faac-1.25-2.el5.rf.x86_64 100% |=========================| 4.2 kB    00:00
---> Package faac.x86_64 0:1.25-2.el5.rf set to be updated
---> Downloading header for faad2 to pack into transaction set.
faad2-2.5-2.el5.rf.x86_64 100% |=========================| 4.8 kB    00:00
---> Package faad2.x86_64 0:2.5-2.el5.rf set to be updated
---> Downloading header for vcdimager to pack into transaction set.
vcdimager-0.7.23-5.el5.rf 100% |=========================| 8.1 kB    00:00
---> Package vcdimager.x86_64 0:0.7.23-5.el5.rf set to be updated
---> Downloading header for mpeg2dec to pack into transaction set.
mpeg2dec-0.4.1-2.el5.rf.x 100% |=========================| 5.4 kB    00:00
---> Package mpeg2dec.x86_64 0:0.4.1-2.el5.rf set to be updated
---> Downloading header for xosd to pack into transaction set.
xosd-2.2.14-1.el5.rf.x86_ 100% |=========================| 5.7 kB    00:00
---> Package xosd.x86_64 0:2.2.14-1.el5.rf set to be updated
---> Downloading header for libdvbpsi to pack into transaction set.
libdvbpsi-0.1.5-2.el5.rf. 100% |=========================| 4.0 kB    00:00
---> Package libdvbpsi.x86_64 0:0.1.5-2.el5.rf set to be updated
---> Downloading header for wxGTK to pack into transaction set.
wxGTK-2.6.3-1.el5.rf.x86_ 100% |=========================|  19 kB    00:00
---> Package wxGTK.x86_64 0:2.6.3-1.el5.rf set to be updated
---> Downloading header for libmpcdec to pack into transaction set.
libmpcdec-1.2.6-1.el5.rf. 100% |=========================| 4.2 kB    00:00
---> Package libmpcdec.x86_64 0:1.2.6-1.el5.rf set to be updated
---> Downloading header for x264 to pack into transaction set.
x264-0.0.0-0.4.20070529.e 100% |=========================| 4.4 kB    00:00
---> Package x264.x86_64 0:0.0.0-0.4.20070529.el5.rf set to be updated
---> Downloading header for a52dec to pack into transaction set.
a52dec-0.7.4-8.el5.rf.x86 100% |=========================| 4.9 kB    00:00
---> Package a52dec.x86_64 0:0.7.4-8.el5.rf set to be updated
---> Downloading header for libcaca to pack into transaction set.
libcaca-0.99-0.1.beta11.e 100% |=========================| 3.8 kB    00:00
---> Package libcaca.x86_64 0:0.99-0.1.beta11.el5.rf set to be updated
---> Downloading header for libdvdnav to pack into transaction set.
libdvdnav-0.1.10-3.el5.rf 100% |=========================| 4.0 kB    00:00
---> Package libdvdnav.x86_64 0:0.1.10-3.el5.rf set to be updated
---> Downloading header for libdvdread to pack into transaction set.
libdvdread-0.9.7-1.el5.rf 100% |=========================| 4.2 kB    00:00
---> Package libdvdread.x86_64 0:0.9.7-1.el5.rf set to be updated
---> Downloading header for libopendaap to pack into transaction set.
libopendaap-0.4.0-2.el5.r 100% |=========================| 3.6 kB    00:00
---> Package libopendaap.x86_64 0:0.4.0-2.el5.rf set to be updated
---> Downloading header for libmatroska to pack into transaction set.
libmatroska-0.8.0-1.el5.r 100% |=========================| 3.9 kB    00:00
---> Package libmatroska.x86_64 0:0.8.0-1.el5.rf set to be updated
---> Downloading header for libid3tag to pack into transaction set.
libid3tag-0.15.1b-3.el5.r 100% |=========================| 4.1 kB    00:00
---> Package libid3tag.x86_64 0:0.15.1b-3.el5.rf set to be updated
---> Downloading header for SDL_image to pack into transaction set.
SDL_image-1.2.5-1.el5.rf. 100% |=========================| 3.5 kB    00:00
---> Package SDL_image.x86_64 0:1.2.5-1.el5.rf set to be updated
---> Downloading header for libmodplug to pack into transaction set.
libmodplug-0.7-1.2.el5.rf 100% |=========================| 3.4 kB    00:00
---> Package libmodplug.x86_64 0:0.7-1.2.el5.rf set to be updated
---> Downloading header for libupnp to pack into transaction set.
libupnp-1.6.1-1.el5.rf.x8 100% |=========================| 4.8 kB    00:00
---> Package libupnp.x86_64 0:1.6.1-1.el5.rf set to be updated
---> Downloading header for libmad to pack into transaction set.
libmad-0.15.1b-4.el5.rf.x 100% |=========================| 4.2 kB    00:00
---> Package libmad.x86_64 0:0.15.1b-4.el5.rf set to be updated
--> Running transaction check
--> Processing Dependency: libglut.so.3()(64bit) for package: libcaca
--> Processing Dependency: libdvdcss >= 1.2.5 for package: libdvdread
--> Processing Dependency: libmp4v2.so.0()(64bit) for package: faac
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for freeglut to pack into transaction set.
freeglut-2.4.0-7.1.el5.x8 100% |=========================| 8.7 kB    00:00
---> Package freeglut.x86_64 0:2.4.0-7.1.el5 set to be updated
---> Downloading header for libdvdcss to pack into transaction set.
libdvdcss-1.2.9-2.el5.rf. 100% |=========================| 4.0 kB    00:00
---> Package libdvdcss.x86_64 0:1.2.9-2.el5.rf set to be updated
---> Downloading header for libmp4v2 to pack into transaction set.
libmp4v2-1.5.0.1-3.el5.rf 100% |=========================| 4.7 kB    00:00
---> Package libmp4v2.x86_64 0:1.5.0.1-3.el5.rf set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 vlc                     x86_64     0.8.6d-2.el5.rf  rpmforge           21 M
Installing for dependencies:
 SDL_image               x86_64     1.2.5-1.el5.rf   rpmforge           87 k
 a52dec                  x86_64     0.7.4-8.el5.rf   rpmforge           82 k
 aalib                   x86_64     1.4.0-5.el5.rf   rpmforge          171 k
 faac                    x86_64     1.25-2.el5.rf    rpmforge          138 k
 faad2                   x86_64     2.5-2.el5.rf     rpmforge          335 k
 freeglut                x86_64     2.4.0-7.1.el5    base              150 k
 lame                    x86_64     3.97-1.el5.rf    rpmforge          625 k
 libcaca                 x86_64     0.99-0.1.beta11.el5.rf  rpmforge          237 k
 libcddb                 x86_64     1.3.0-1.el5.rf   rpmforge          114 k
 libcdio                 x86_64     0.77-1.el5.rf    rpmforge          527 k
 libdvbpsi               x86_64     0.1.5-2.el5.rf   rpmforge           69 k
 libdvdcss               x86_64     1.2.9-2.el5.rf   rpmforge           62 k
 libdvdnav               x86_64     0.1.10-3.el5.rf  rpmforge          212 k
 libdvdread              x86_64     0.9.7-1.el5.rf   rpmforge          127 k
 libebml                 x86_64     0.7.7-1.el5.rf   rpmforge          298 k
 libid3tag               x86_64     0.15.1b-3.el5.rf  rpmforge           78 k
 libmad                  x86_64     0.15.1b-4.el5.rf  rpmforge           80 k
 libmatroska             x86_64     0.8.0-1.el5.rf   rpmforge          698 k
 libmodplug              x86_64     0.7-1.2.el5.rf   rpmforge          303 k
 libmp4v2                x86_64     1.5.0.1-3.el5.rf  rpmforge          916 k
 libmpcdec               x86_64     1.2.6-1.el5.rf   rpmforge           54 k
 libopendaap             x86_64     0.4.0-2.el5.rf   rpmforge          122 k
 libupnp                 x86_64     1.6.1-1.el5.rf   rpmforge          288 k
 lirc                    x86_64     0.6.6-4.el5.rf   rpmforge          251 k
 mpeg2dec                x86_64     0.4.1-2.el5.rf   rpmforge          182 k
 vcdimager               x86_64     0.7.23-5.el5.rf  rpmforge          795 k
 wxGTK                   x86_64     2.6.3-1.el5.rf   rpmforge           20 M
 x264                    x86_64     0.0.0-0.4.20070529.el5.rf  rpmforge          773 k
 xosd                    x86_64     2.2.14-1.el5.rf  rpmforge           60 k

Transaction Summary
=============================================================================
Install     30 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 48 M
Is this ok [y/N]: y
Downloading Packages:
(1/30): aalib-1.4.0-5.el5 100% |=========================| 171 kB    00:01
(2/30): freeglut-2.4.0-7. 100% |=========================| 150 kB    00:00
(3/30): libebml-0.7.7-1.e 100% |=========================| 298 kB    00:02
(4/30): libdvdcss-1.2.9-2 100% |=========================|  62 kB    00:01
(5/30): lirc-0.6.6-4.el5. 100% |=========================| 251 kB    00:01
(6/30): libcdio-0.77-1.el 100% |=========================| 527 kB    00:02
(7/30): libcddb-1.3.0-1.e 100% |=========================| 114 kB    00:01
(8/30): lame-3.97-1.el5.r 100% |=========================| 625 kB    00:02
(9/30): faac-1.25-2.el5.r 100% |=========================| 138 kB    00:01
(10/30): faad2-2.5-2.el5. 100% |=========================| 335 kB    00:02
(11/30): vcdimager-0.7.23 100% |=========================| 795 kB    00:04
(12/30): mpeg2dec-0.4.1-2 100% |=========================| 182 kB    00:01
(13/30): libmp4v2-1.5.0.1 100% |=========================| 916 kB    00:04
(14/30): xosd-2.2.14-1.el 100% |=========================|  60 kB    00:01
(15/30): libdvbpsi-0.1.5- 100% |=========================|  69 kB    00:01
(16/30): wxGTK-2.6.3-1.el 100% |=========================|  20 MB    00:24
(17/30): libmpcdec-1.2.6- 100% |=========================|  54 kB    00:01
(18/30): x264-0.0.0-0.4.2 100% |=========================| 773 kB    00:03
(19/30): a52dec-0.7.4-8.e 100% |=========================|  82 kB    00:01
(20/30): libcaca-0.99-0.1 100% |=========================| 237 kB    00:01
(21/30): libdvdnav-0.1.10 100% |=========================| 212 kB    00:01
(22/30): libdvdread-0.9.7 100% |=========================| 127 kB    00:01
(23/30): libopendaap-0.4. 100% |=========================| 122 kB    00:01
(24/30): libmatroska-0.8. 100% |=========================| 698 kB    00:05
(25/30): libid3tag-0.15.1 100% |=========================|  78 kB    00:01
(26/30): SDL_image-1.2.5- 100% |=========================|  87 kB    00:01
(27/30): libmodplug-0.7-1 100% |=========================| 303 kB    00:02
(28/30): libupnp-1.6.1-1. 100% |=========================| 288 kB    00:02
(29/30): libmad-0.15.1b-4 100% |=========================|  80 kB    00:01
(30/30): vlc-0.8.6d-2.el5 100% |=========================|  21 MB    00:27
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897
Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key) <centos-5-key@centos.org>" from http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
Is this ok [y/N]: y
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: libcdio                      ####################### [ 1/30]
  Installing: libebml                      ####################### [ 2/30]
  Installing: libmatroska                  ####################### [ 3/30]
  Installing: libcddb                      ####################### [ 4/30]
  Installing: vcdimager                    ####################### [ 5/30]
  Installing: libmad                       ####################### [ 6/30]
  Installing: libupnp                      ####################### [ 7/30]
  Installing: libmodplug                   ####################### [ 8/30]
  Installing: SDL_image                    ####################### [ 9/30]
  Installing: libid3tag                    ####################### [10/30]
  Installing: libopendaap                  ####################### [11/30]
  Installing: libdvdnav                    ####################### [12/30]
  Installing: a52dec                       ####################### [13/30]
  Installing: x264                         ####################### [14/30]
  Installing: libmpcdec                    ####################### [15/30]
  Installing: wxGTK                        ####################### [16/30]
  Installing: libdvbpsi                    ####################### [17/30]
  Installing: xosd                         ####################### [18/30]
  Installing: libmp4v2                     ####################### [19/30]
  Installing: faac                         ####################### [20/30]
  Installing: mpeg2dec                     ####################### [21/30]
  Installing: faad2                        ####################### [22/30]
  Installing: lame                         ####################### [23/30]
  Installing: lirc                         ####################### [24/30]
  Installing: libdvdcss                    ####################### [25/30]
  Installing: libdvdread                   ####################### [26/30]
  Installing: freeglut                     ####################### [27/30]
  Installing: libcaca                      ####################### [28/30]
  Installing: aalib                        ####################### [29/30]
  Installing: vlc                          ####################### [30/30]

Installed: vlc.x86_64 0:0.8.6d-2.el5.rf
Dependency Installed: SDL_image.x86_64 0:1.2.5-1.el5.rf a52dec.x86_64 0:0.7.4-8.el5.rf aalib.x86_64 0:1.4.0-5.el5.rf faac.x86_64 0:1.25-2.el5.rf faad2.x86_64 0:2.5-2.el5.rf freeglut.x86_64 0:2.4.0-7.1.el5 lame.x86_64 0:3.97-1.el5.rf libcaca.x86_64 0:0.99-0.1.beta11.el5.rf libcddb.x86_64 0:1.3.0-1.el5.rf libcdio.x86_64 0:0.77-1.el5.rf libdvbpsi.x86_64 0:0.1.5-2.el5.rf libdvdcss.x86_64 0:1.2.9-2.el5.rf libdvdnav.x86_64 0:0.1.10-3.el5.rf libdvdread.x86_64 0:0.9.7-1.el5.rf libebml.x86_64 0:0.7.7-1.el5.rf libid3tag.x86_64 0:0.15.1b-3.el5.rf libmad.x86_64 0:0.15.1b-4.el5.rf libmatroska.x86_64 0:0.8.0-1.el5.rf libmodplug.x86_64 0:0.7-1.2.el5.rf libmp4v2.x86_64 0:1.5.0.1-3.el5.rf libmpcdec.x86_64 0:1.2.6-1.el5.rf libopendaap.x86_64 0:0.4.0-2.el5.rf libupnp.x86_64 0:1.6.1-1.el5.rf lirc.x86_64 0:0.6.6-4.el5.rf mpeg2dec.x86_64 0:0.4.1-2.el5.rf vcdimager.x86_64 0:0.7.23-5.el5.rf wxGTK.x86_64 0:2.6.3-1.el5.rf x264.x86_64 0:0.0.0-0.4.20070529.el5.rf xosd.x86_64 0:2.2.14-1.el5.rf
Complete!
[root@localhost ~]#

sshd를 실행 하면

/var/empty/sshd must be owned by root and not group or world-writable.

이란 메시지가 뜨면서 실행이 안 되는 경우가 있습니다

이럴 경우에는

/var/empty/sshd 디렉토리를 root로 소유자를 바꿔 주고 다시 sshd를 수행하면 됩니다
(chown root /var/empty/sshd/ )

tcpreplay

백과사전/리눅스 2007. 9. 18. 17:12 by 지풍

Overview

tcpreplay has evolved quite a bit over the years. In the 1.x days, it merely read packets and sent then back on the wire. In 2.x, tcpreplay was enhanced significantly to add various rewriting functionality but at the cost of complexity, performance and bloat. Now in 3.x, tcpreplay has returned to its roots to be a lean packet sending machine and the editing functions have moved to tcprewrite.

Basic Usage

To replay a given pcap as it was captured all you need to do is specify the pcap file and the interface to send the traffic out interface 'eth0':

# tcpreplay --intf1=eth0 sample.pcap

Replaying at different speeds

You can also replay the traffic at different speeds then it was originally captured. Some examples:

To replay traffic as quickly as possible:

# tcpreplay --topspeed --intf1=eth0 sample.pcap

To replay traffic at a rate of 10Mbps:

# tcpreplay --mbps=10.0 --intf1=eth0 sample.pcap

To replay traffic 7.3 times as fast as it was captured:

# tcpreplay --multiplier=7.3 --intf1=eth0 sample.pcap

To replay traffic at half-speed:

# tcpreplay --multiplier=0.5 --intf1=eth0 sample.pcap

To replay at 25 packets per second:

# tcpreplay --pps=25 --intf1=eth0 sample.pcap

To replay packets, one at a time while decoding it (useful for debugging purposes):

# tcpreplay --oneatatime --verbose --intf1=eth0 sample.pcap

Replaying files multiple times

Using the loop flag you can specify that a pcap file will be sent two or more times:

To replay the sample.pcap file 10 times:

# tcpreplay --loop=10 --intf1=eth0 sample.pcap

To replay the sample.pcap an infinitely or until CTRL-C is pressed:

# tcpreplay --loop=0 --intf1=eth0 sample.pcap

If the pcap files you are looping are small enough to fit in available RAM, consider using the --enable-file-cache option. This option caches each packet in RAM so that subsequent reads don't have to hit the slower disk. It does have a slight performance hit for the first iteration of the loop since it has to call malloc() for each packet, but after that it seems to improve performance by around 5-10%. Of course if you don't have enough free RAM, then this will cause your system to swap which will dramatically decrease performance.

Another useful option is --quiet. This suppresses printing out to the screen each time tcpreplay starts a new iteration. This can have a dramatic performance boost for systems with slower consoles.

Advanced Usage

Splitting Traffic Between Two Interfaces

By utilizing tcpprep cache files, tcpreplay can split traffic between two interfaces. This allows tcpreplay to send traffic through a device and emulate both client and server sides of the connection, thereby maintaining state. Using a tcpprep cache file to split traffic between two interfaces (eth0 & eth1) with tcpreplay is simple:

# tcpreplay --cachefile=sample.prep --intf1=eth0 --intf2=eth1 sample.pcap

Viewing Packets as They are Sent

The --verbose flag turns on basic tcpdump decoding of packets. If you would like to alter the way tcpreplay invokes tcpdump to decode packets, then you can use the --decode flag. Note: Use of the --verbose flag is not recommended when performance is important. Please see the tcpdump(1) man page for options to pass to the --decode flag.

Choosing a Timing Method

tcpreplay now supports two methods for creating delays between two packets:

  • nanosleep() (default)
  • gettimeofday()

The important thing to understand is that nanosleep() isn't always very accurate. Linux 2.4 and 2.6 kernels for example are accurate to 10ms, hence any packet may be sent 10ms too soon or late. The result is that nanosleep() may not provide the accuracy reqiured for all situations. Specifying the --accurate flag to tcpreplay switches to using gettimeofday() in a loop. The result is much better accuracy (~1ms), but higher CPU utilization since tcpreplay isn't sleeping between packets.

Of course neither method is really sufficient for all situations. If you wanted to send 4,000 packets per second, that would require sending a packet every .25ms which would require a higher resolution timer then either method provides. See ticket #41 for more details.

Tuning for High-Performance

Regardless of the size of physical memory, UNIX kernels will only allocate a static amount for network buffers. This includes packets sent via the "raw" interface, like with tcpreplay. Most kernels will allow you to tweak the size of these buffers, drastically increasing performance and accuracy.

NOTE: The following information is provided based upon my own experiences or the reported experiences of others. Depending on your hardware and specific hardware, it may or may not work for you. It may even make your system horribly unstable, corrupt your harddrive, or worse.

NOTE: Different operating systems, network card drivers, and even hardware can have an effect on the accuracy of packet timestamps that tcpdump or other capture utilities generate. And as you know: garbage in, garbage out.

NOTE: If you have information on tuning the kernel of an operating system not listed here, please send it to me so I can include it.

General Tips

  1. Use a good network card. This is probably the most important buying decision you can make. I recommend Intel e1000 series cards. El-cheapo cards like Realtek are known to give really crappy performance.
  2. Tune your OS. See below for recommendations.
  3. Faster is better. If you want really high-performance, make sure your disk I/O, CPU and the like is up to the task.
  4. For more details, check out the FAQ
  5. If you're looping file(s), make sure you have enough free RAM for the pcap file(s) and use --enable-file-cache
  6. Use --quiet
  7. Do not use ./configure --enable-tcpreplay-edit

Linux 2.4.x

The following is known to apply to the 2.4.x series of kernels and may work with 2.6.x (I haven't bothered to try yet). If anyone has any information regarding other kernel versions, please let me know. By default Linux's tcpreplay performance isn't all that stellar. However, with a simple tweak, relatively decent performance can be had on the right hardware. By default, Linux specifies a 64K buffer for sending packets. Increasing this buffer to about half a megabyte does a good job:

echo 524287 >/proc/sys/net/core/wmem_default 
echo 524287 >/proc/sys/net/core/wmem_max 
echo 524287 >/proc/sys/net/core/rmem_max 
echo 524287 >/proc/sys/net/core/rmem_default

On one system, we've seen a jump from 23.02 megabits/sec (5560 packets/sec) to 220.30 megabits/sec (53212 packets/sec) which is nearly a 10x increase in performance. Depending on your system and capture file, different numbers may provide different results.

*BSD

*BSD systems typically allow you to specify the size of network buffers with the NMBCLUSTERS option in the kernel config file. Experiment with different sizes to see which yields the best performance. See the options(4) man page for more details.

리눅스에서 date를 치면 해당하는 시스템의 시간과 날짜를 알수 있습니다

그런데 설치시 부주위(??)와 기본적으로 타임존을 결정해주는 시스템에서는 UTC로 설정이 됩니다

그런데 이것을 한국표준시간으로 바꿔줘야 할때가 있습니다

그럴때에는 /etc/localtime가 존재 하는지 확인을 합니다

UTC가 기본으로 되어 있는 시스템에서는 아마 그 파일이 없을 것입니다

간혹 있을 경우에는 /etc/localtime을 지워 줍니다

그리고 /usr/share/zoneinfo/Asia/Seoul/etc/localtime로 링크를 걸어 줍니다
(ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime)

그렇게 되면 시스템 시간을 KST(한국표준시간)으로 변경이 됩니다

그리고 간혹 시스템을 다른 타임존으로 바꿔 줄 경우에는

/usr/share/zoneinfo/대륙/도시/etc/localtime으로 링크를 걸어 주면 됩니다

1 2 3 4 
분류 전체보기 (202)
내가 사는 이야기 (2)
백과사전 (89)
컴퓨터 (26)
리눅스 (35)
안드로이드 (10)
돈 굴리기 (11)
이것저것 (7)
듣고 보는 것 (0)
세상 이야기 (1)
맛집 투어 & 여행 (0)
컴퓨터 이야기 (110)
게임 이야기 (0)
위시리스트 (0)
스포츠 이야기 (0)
영화 이야기 (0)
우하하하하 (0)

공지사항

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백