지풍@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

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



언제부터인가 몰라도 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/ )

TAG : sshd, 리눅스

redhat 계열에서는(redhat, Fedora, Red Hat Enterprise Linux, CentOS등) 해당하는 배포판의 버전을 /etc/redhat-release에 해당하는 배포판의 버전이 있습니다

간혹 하위 버전의 배포판으로 만들어진 소스가 상위 버전의 배포판에서도 컴파일이 되지만

지원하지 않는 배포판이라고 컴파일이 안 될 경우에는 이 파일에 해당하는 하위 버전의 배포판으로 변경해 주면 됩니다

참고로 아래는 자주 쓰는 redhat 9 이랑 Fedora에서 redhat-release입니다

Fedora Core release 1 (Yarrow)
Fedora Core release 2 (Tettnang)
Fedora Core release 3 (Heidelberg)
Fedora Core release 4 (Stentz)
Fedora Core release 5 (Bordeaux)
Fedora Core release 6 (Zod)
Fedora Core release 7 (Moonshine)
Red Hat Linux release 9 (Shrike)

리눅스 부팅 프로세스 연구 (한글)
Master Boot Record 부터 사용자 공간 애플리케이션 까지 부팅 가이드

난이도 : 초급

M. Tim Jones, Consultant Engineer, Emulex

2006 년 8 월 18 일

리눅스® 시스템의 부팅 과정은 많은 단계들을 거칩니다. 표준 x86 데스크탑을 부팅하든 아니면 PowerPC®를 부팅하든 그 단계는 놀랍게도 많이 비슷합니다. 이 글에서는 리눅스 부팅 과정을 초기 부트스트랩부터 첫 번째 사용자 애플리케이션의 시작 단계 까지 설명합니다. 아울러 부트 로더, 커널 디컴프레션(decompression), 초기 RAM 디스크, 기타 리눅스 부트 엘리먼트를 설명합니다.

초기에 컴퓨터를 부트스트랩(bootstrapping) 한다고 하면 부트 프로그램이 포함된 종이 테이프를 공급하거나 프론트 패널 address/data/control 스위치를 사용하여 부트 프로그램을 직접 로딩하는 것을 의미했다. 오늘날 컴퓨터에는 부팅 과정을 단순화시키는 장치들이 장착되어 있지만 꼭 그렇게 단순한 것 같지는 않다.

리눅스 부팅 과정을 보다 높은 시각에서 조망해야지만 전체적으로 볼 수 있다. 그런 다음 각각의 단계를 자세히 살펴봐야겠다. 곳곳에 첨부한 소스 자료가 커널 트리를 연구하는데 도움이 될 것이다.


개요

그림 1은 리눅스 부트 프로세스 개요도이다.

사용자 삽입 이미지

시스템이 처음 부팅되거나 리셋되면 프로세서는 잘 알려진 위치에 코드를 실행한다. PC의 경우, basic input/output system (BIOS)이다. 이것은 마더보드의 플래시 메모리에 저장된다. 임베디드 시스템에 있는 CPU는 리셋 벡터를 호출하여 플래시/ROM의 알려진 주소에서 프로그램을 시작한다. 두 경우 모두 결과는 같다. PC가 훨씬 유연하고, BIOS는 어떤 장치들이 부팅 후보인지를 결정해야 한다.

부팅 장치를 찾으면 첫 번째 단계 부트 로더는 RAM으로 로딩되어 실행된다. 이 부트 로더는 길이는 512 바이트 미만이고 하는 일은 두 번째 단계의 부트 로더를 로딩하는 것이다.

제 2 단계 부트 로더가 RAM에 있고 실행되면 스플래시 스크린이 디스플레이 되고 리눅스와 초기 RAM 디스크 옵션(임시 루트 파일 시스템)이 메모리에 로딩된다. 이미지가 로딩될 때 2 단계 부트 로더는 제어를 커널 이미지로 전달하고 커널은 압축이 해제되어 초기화 된다. 이 때 2 단계 부트 로더는 시스템 하드웨어를 검사하고 첨부된 하드웨어 장치들을 열거하고, 루트 장치를 마운트 하고 필요한 커널 모듈을 로딩한다. 완료되면 첫 번째 사용자-공간 프로그램(init)이 시작되고 고급 시스템 초기화가 이루어진다.

여기까지가 리눅스 부팅 과정을 간략하게 묘사한 것이다. 이제 리눅스 부팅 과정을 보다 자세하게 살펴보도록 하자.


시스템 시작

시스템 시작 단계는 리눅스가 부팅되는 하드웨어에 기반하고 있다. 임베디드 플랫폼에서, 부트스트랩 환경은 시스템이 켜지거나 리셋될 때 사용된다. U-Boot, RedBoot, MicroMonitor 등이 그 예이다. 임베디드 플랫폼에는 일반적으로 부트 모니터가 장착된다. 이 프로그램들은 목표 하드웨어의 플래시 메모리의 특별한 영역에 있고 리눅스 커널 이미지를 플래시 메모리로 다운로드 하는 방식을 제공하고 이를 실행한다. 리눅스 이미지를 저장하고 부팅하는 기능 외에도 이 부트 모니터는 시스템 테스트와 하드웨어 초기화를 수행한다. 임베디드 환경에서 이러한 부트 모니터들은 제 1 부트 로더와 제 2 부트 로더를 관장한다.

MBR 추출하기

MBR의 내용을 보려면 다음 명령어를 사용한다:

# dd if=/dev/hda of=mbr.bin bs=512 count=1
# od -xa mbr.bin
루트에서 실행되어야 하는 dd 명령어는 /dev/hda (첫 번째 Integrated Drive Electronics, IDE 드라이브)에서 512 바이트를 읽고 이를 mbr.bin 파일에 작성한다. od 명령어는 16진수와 ASCII 포맷으로 바이너리 파일을 프린트한다.

PC에서 리눅스 부팅은 BIOS에서 주소 0xFFFF0로 시작된다. BIOS의 첫 번째 단계는 POST (power-on self test)이다. POST가 하는 일은 하드웨어를 검사하는 것이다. BIOS의 두 번째 단계는 로컬 장치 열거(enumeration)와 초기화이다.

BIOS 기능에 따라 사용처도 다르며, BIOS는 두 부분으로 구성된다. POST 코드와 런타임 서비스이다. POST가 완료된 후에 이것은 메모리에서 플러시(flush)되지만 BIOS 런타임 서비스는 그대로 남아있고 해당 운영 체계에서 사용할 수 있다.

운영 체계를 부팅하기 위해서 BIOS 런타임은 complementary metal oxide semiconductor (CMOS)에서 정의된 선호도 순으로 활성화 되고 부팅 가능한 장치를 찾는다. 부트 장치는 플로피 디스크, CD-ROM, 하드 디스크 파티션, 네트워크 상의 장치, USB 플래시 메모리 스틱이 될 수도 있다.

일반적으로 리눅스는 하드 디스크에서 부팅되고, Master Boot Record (MBR)에는 주 부트 로더가 포함되어 있다. MBR은 512-바이트 섹터이고 디스크의 첫 번째 섹터(sector 1 of cylinder 0, head 0)에 위치해 있다. MBR이 RAM이 로딩된 후에 BIOS는 제어권을 여기에 넘겨준다.


Stage 1 부트 로더

MBR에 있는 주 부트 로더는 512-바이트 이미지로서 프로그램 코드와 작은 파티션 테이블이 포함되어 있다. (그림 2) 첫 번째 446 바이트는 주 부트 로더이고 여기에는 실행 코드와 에러 메시지 텍스트가 포함된다. 그 다음 64 바이트는 파티션 테이블인데, 네 개의 파티션(각 16 바이트)의 레코드가 포함되어 있다. MBR은 매직 넘버(0xAA55)로 정의된 2 바이트로 끝난다. 매직 넘버는 MBR의 밸리데이션에 사용된다.

사용자 삽입 이미지

주 부트 로더의 작업은 2차 부트 로더(stage 2)를 찾아 로딩하는 것이다. 액티브 파티션을 찾기 위해 파티션 테이블을 검사한다. 액티브 파티션을 찾으면 테이블에 남아있는 파티션들을 검사하여 이들이 모두 비활성 상태인지를 확인한다. 확인이 되면 액티브 파티션의 부트 레코드는 장치에서 RAM으로 읽혀지고 실행된다.


Stage 2 부트 로더

2차 또는 제 2 단계 부트 로더는 커널 로더라고 불린다. 이 단계에서의 작업은 리눅스 커널과 선택적인 초기 RAM 디스크를 로딩하는 것이다.

GRUB stage 부트 로더

/boot/grub 디렉토리에는 stage1, stage1.5, stage2 부트 로더들 뿐만 아니라 대안 로더들(예를 들어, CR-ROM은 iso9660_stage_1_5를 사용한다.)이 있다.


주/부 부트 로더의 결합은 x86 PC 환경에서 Linux Loader (LILO) 또는 GRand Unified Bootloader (GRUB)이라고 한다. LILO는 몇 가지 단점을 갖고 있고 GRUB이 이를 수정했으므로 GRUB을 살펴보도록 하자. (GRUB과 LILO에 대한 자세한 내용은 참고자료를 참조하라.)

GRUB의 좋은 점은 리눅스 파일 시스템을 알고 있다는 점이다. LILO 처럼 디스크 상의 미가공 섹터를 사용하는 대신 GRUB은 ext2 또는 ext3 파일 시스템에서 리눅스 커널을 로딩할 수 있다. 2 단계 부트 로더를 3 단계 부트 로더로 만든다. Stage 1 (MBR)은 리눅스 커널 이미지를 포함하고 있는 특정 파일 시스템을 알고 있는 stage 1.5 부트 로더를 부팅한다. reiserfs_stage1_5 (Reiser 저널링 파일 시스템에서 로딩함) 또는 e2fs_stage1_5 (ext2 또는 ext3 파일 시스템에서 로딩함)가 좋은 예이다. stage 1.5 부트 로더가 로딩 및 실행되면 stage 2 부트 로더가 로딩될 수 있다.

stage 2가 로딩되면서 GRUB은 사용 할 수 있는 커널 리스트를 디스플레이 한다. (/etc/grub.conf에서 정의됨. /etc/grub/menu.lst 와 /etc/grub.conf의 링크 포함). 여러분은 커널을 선택하고 추가 커널 매개변수로 이를 수정할 수도 있다. 부트 프로세스에 보다 직접적인 관여를 하려면 명령행 쉘을 사용할 수도 있다.

Stage 2 부트 로더가 메모리에 있는 상태에서 파일 시스템이 참조되고 디폴트 커널 이미지와 initrd이미지가 메모리로 로딩된다. 이미지가 준비되면 stage 2 부트 로더는 커널 이미지를 호출한다.


커널

커널 이미지가 메모리에 있고 stage 2 부트 로더에서 컨트롤도 넘어왔다면 커널 단계가 시작된다. 커널 이미지는 실행 커널은 아니고 다만 압축된 커널 이미지이다. 일반적으로 이것은 zImage (압축 이미지, 512KB이하) 또는 bzImage (큰 압축 이미지, 512KB 이상)이고 이들은 이전에 zlib로 압축된 것이다. 커널 이미지의 앞에 있는 루틴은 최소한의 하드웨어 설정을 수행한 다음 커널 이미지에 포함된 커널의 압축을 풀고 이를 큰 메모리에 둔다. 초기 RAM 디스크 이미지가 있다면 이 루틴은 이것을 메모리로 옮기고 기록해 둔다. 루틴은 커널을 호출하고 커널 부팅이 시작된다.

bzImage (i386 이미지 용)가 호출되면 start 어셈블리 루틴(그림 3의 주 흐름도 참조)의 ./arch/i386/boot/head.S에서 시작한다. 이 루틴은 기본적인 하드웨어 설정을 수행하고 ./arch/i386/boot/compressed/head.S에 있는 startup_32 루틴을 호출한다. 이 루틴은 기본 환경(스택 같은)을 설정하고 Block Started by Symbol (BSS)을 청소한다. 커널은 decompress_kernel (./arch/i386/boot/compressed/misc.c에 있음)이라고 하는 C 함수를 호출하여 압축이 풀린다.

새로운 startup_32 함수(swapper 또는 process 0)에서, 페이지 테이블이 초기화되고 메모리 페이징이 실행된다. CPU 유형이 검사되고 아울러 FPU (floating-point unit)도 검사된다. start_kernel 함수가 호출되면(init/main.c) 일반(non-architecture specific) 리눅스 커널이 된다.

GRUB의 수동 부팅

GRUB 명령행에서 initrd이미지로 특정 커널을 부팅할 수 있다:
 

grub> kernel /bzImage-2.6.14.2

   [Linux-bzImage, setup=0x1400, size=0x29672e]


grub> initrd /initrd-2.6.14.2.img

   [Linux-initrd @ 0x5f13000, 0xcc199 bytes]


grub> boot


Uncompressing Linux... Ok, booting the kernel.

부팅 할 커널 이름을 모르겠다면 포워드 슬래시(/)를 치고 탭 키를 누른다. 그러면 커널과 initrd 이미지 리스트가 디스플레이 된다.

사용자 삽입 이미지
start_kernel을 호출하면 초기화 함수의 긴 리스트가 호출되어 인터럽트를 설정하고 보다 구체적인 메모리 설정이 이루어지고 초기 RAM 디스크를 로딩한다. kernel_thread (arch/i386/kernel/process.c)를 호출하면 init 함수가 시작되는데 이는 최초의 사용자 공간 프로세스이다. 마지막으로 유휴 태스크가 시작되고 스케줄러가 주도권을 잡는다. (cpu_idle 호출 후). 인터럽트가 실행되면서 선점 스케줄러는 주기적으로 주도권을 잡아 멀티태스킹을 수행한다.

커널이 부팅되는 동안 stage 2 부트 로더에 의해 메모리로 로딩된 initial-RAM disk (initrd)가 RAM으로 복사 및 마운트 된다. initrd는 RAM에서 임시 루트 파일 시스템의 역할을 하고 커널이 물리적 디스크를 마운트 하지 않고도 완전히 부팅될 수 있도록 한다. 주변 기기와 인터페이싱 할 때 필요한 모듈이 initrd의 일부가 될 수 있기 때문에 커널은 매우 작아질 수 있지만 그래도 여전히 많은 하드웨어 설정들을 지원한다. 커널이 부팅된 후에 루트 파일 시스템이 (pivot_root를 통해) 회전되고 이곳에서 initrd 루트 파일 시스템이 언마운트(unmount)되어 실제 루트 파일 시스템이 마운트 된다.

decompress_kernel 아웃풋

decompress_kernel 함수를 통해서 일반적인 디컴프레션(decompression) 메시지를 볼 수 있다.
 

Uncompressing Linux... Ok, booting the kernel.


Init

커널이 부팅 및 초기화 된 후에 커널은 최초의 사용자 공간(user-space) 애플리케이션을 시작한다. 이것은 표준 C 라이브러리로 컴파일 된 첫 번째 프로그램이다. 이전에는 어떤 표준의 C 애플리케이션도 실행되지 않았다.

데스크탑 리눅스 시스템에서 시작된 첫 번째 애플리케이션은 일반적으로 /sbin/init이다. 하지만 꼭 이럴 필요는 없다. 임베디드 시스템은 init (/etc/inittab을 통해 설정됨)에서 제공하는 초기화를 거의 필요로 하지 않는다. 많은 경우에, 필요한 임베디드 애플리케이션을 시작하는 간단한 쉘 스크립트를 호출하곤 한다.


요약

리눅스가 그러하듯, 리눅스 부트 프로세스도 매우 유연하고 많은 프로세서와 하드웨어 플랫폼을 지원한다. 초기에는 loadlin 부트 로더가 있었다. LILO 부트 로더는 부팅 기능을 확장했지만 파일 시스템 인식 부분에서 부족했다. GRUB과 같은 최신 부트 로더가 생기면서 많은 파일 시스템(Minix 부터 Reiser 까지)에서 리눅스를 부팅할 수 있게 되었다.


필자소개

사용자 삽입 이미지
M. Tim Jones는 임베디드 소프트웨어 아키텍트이자 GNU/Linux Application Programming, AI Application Programming, BSD Sockets Programming from a Multilanguage Perspective의 저자이다. 정지 우주선용 커널 부터 임베디드 시스템 아키텍처, 네트워킹 프로토콜 개발에 이르기 까지 그의 커널 개발 범위는 광대하다. 그는 현재 콜로라도 롱몬트에 위치한 Emulex Corp의 컨설턴트 엔지니어이다.

출처 : http://www.ibm.com/developerworks/kr/library/l-linuxboot/index.html

리눅스에서 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으로 링크를 걸어 주면 됩니다

LVM 같은 경우에는 가상파일시스템(??)이기 때문에 보통의 마운트 방법으로는 마운트가 안됩니다

그렇기 때문에 특별한 방법이 필요 한데 아래와 같이 수행하면 됩니다

사용자 삽입 이미지

vgscan
vgchange -a y
를 이용해서 LVM을 활성화 시킵니다

그 후 부터는 /dev/VolGroupXX 로 장치가 발견이 되고 보통처럼 마운트를 해서 쓸수가 있습니다

출처는 http://www.linuxlab.co.kr/docs/01-05-4.htm 이곳에서 퍼왔습니다
1 2 3 
분류 전체보기 (201)
내가 사는 이야기 (1)
백과사전 (89)
듣고 보는 것 (0)
세상 이야기 (1)
맛집 투어 & 여행 (0)
컴퓨터 이야기 (110)
게임 이야기 (0)
위시리스트 (0)
스포츠 이야기 (0)
영화 이야기 (0)
우하하하하 (0)