2010년 4월 23일 금요일

우분투 레포지토리 캐시 서버 구축하기

이전 포스트에서 우분투 설치 자동화[footnote]Kitsch, 그 저속함에 매료된다 : 우분투 리눅스 설치 자동화에 도전 ...[/footnote]에 대해 알아보았다. 우분투를 설치하면서 가장 시간이 오래 걸리는 부분이 바로 패키지를 공식 레포지토리에서 받아오는 부분일 것이다. 본인은 포스트를 작성하기 위해 간단히 서버 한 대를 설치한 후 테스트로 한 대에만 설치해보았다. 하지만 실재 환경에서는 비슷한 시간대에 수십대의 컴퓨터에 설치를 진행할 경우 제한된 네트워크을 통해 동일한 패키지를 계속 내려 받아야 할 것이다.

하지만 패키지 다운로드를 로컬 네트워크 내에서 이루어질 수 있도록 만들 수 있다면 설치 시간을 많이 줄일 수 있을 것이다. 본 포스트에서 그 방법을 알아보도록 하자.

우분투 설치 자동화 포스트에서 구축하였던 환경을 그대로 사용할 예정이며 레포지토리 캐시를 위해 apt-cacher를 설치하도록 한다.

1. apt-cacher  설치

 # sudo apt-get install apt-cacher

 
2. apt-cacher 설정하기
2.1 apt-cacher.conf 수정하기

설치가 완료되었으면 설정을 위해 /etc/apt-cacher/apt-cacher.conf 파일을 수정하자. apt-cacher의 기본 포트는 3142이다. (추신 : apt-cacher의 기본 포트는 큰 의미는 없는듯 하다. 설정 완료후 열려있는 포트를 살펴보면 해당 포트는 열려 있지 않았다. 아마도 아파치 웹서버에 얹혀져서 돌아가는 듯하다.)

allowed_hosts : apt-cacher에 접근할 수 있는 호스트를 지정한다. 기본값으로 모든 호스트의 접근이 허용된다. 본 포스트에서는 192.168.111.0 네트워크에 존재하는 호스트에 접근을 허용할 것이다. 콤마를 이용하여 여러개의 IP를 지정할 수 있으며 192.168.111.128 - 192.168.111.200 과 같이 범위를 지정할 수 있다.

 allowed_hosts=192.168.1.0/24

 
generate_reports : 기본값은 1이며 하루 단위로 레포트를 생성한다. http://apt-cacher-server/apt-cacher/report 에 접속하여 볼 수 있다.

2.2 서버 시작시 apt-cacher 구동하기

서버 재부팅시 apt-cacher를 자동으로 시작하도록 하기 위해서는 /etc/default/apt-cacher의 AUTOSTART 값을 1로 수정한다.

 AUTOSTART=1

 
수정을 완료하였으면 아파치 웹서버를 재시작하자.

 # service apache2 restart


3. 레포지토리 설정하기

3.1 preseed.cfg 수정하기

레포지토리 캐시를 사용하기 위해서는 preseed.cfg를 수정하여 캐시에서 패키지를 받아올 수 있도록 하여야 한다. 이전 포스트에서 사용한 preseed.cfg에서 레포지토리와 관련된 부분은 아래와 같다.

### Mirror settings

# If you select ftp, the mirror/country string does not need to be set.
d-i mirror/country string manual
d-i mirror/http/hostname string archive.ubuntu.com
d-i mirror/http/directory string /ubuntu
d-i mirror/http/proxy string
 위 부분을 아래와 같이 수정한다.

 ### Mirror settings

# If you select ftp, the mirror/country string does not need to be set.

d-i mirror/country string manual

d-i mirror/http/hostname string 192.168.111.111 #apt-cacher 서버 주소

d-i mirror/http/directory string /apt-cacher/kr.archive.ubuntu.com/ubuntu

d-i mirror/http/proxy string

3.2 sources.list 수정하기

sources.list를 열어보면 레포지토리 주소가 아래와 같은 형식으로 되어있을 것이다.

 deb http://kr.archive.ubuntu.com/ubuntu/ lucid main restricted


주소를 모두 아래와 같은 형식으로 수정한다.

본 포스트에 사용된 랩 환경을 적용하면 아래와 같이 될 것이다.

4. 기존 다운로드된 deb 패키지를 캐시에 적용하기

apt-cacher 서버를 설정하기 이전에 다운로드하여 설치한 deb 패키지들은 캐시되지 않기 때문에 동일한 패키지를 설치하더라도 다시 받아올 것이다. apt-cacher 패키지는 설치 이전에 받은 패키지들을 캐시하기 위한 툴을 제공한다. apt-cacher에서 제공하는 툴은 /usr/share/apt-cacher/ 디렉토리 아래에서 찾을 수 있다. 이들 중 apt-cacher-import.pl을 사용하여 기존 패키지들을 캐시에 적용하도록 한다.

 /usr/share/apt-cacher/apt-cacher-import.pl -s /var/cache/apt/archives


 -s 옵션을 사용하면 /var/cache/apt-archives/ 아래 패키지들을 전부 복사하지 않고 심볼릭 링크를 사용할 것이다. /var/cache/apt-cacher/packages/ 아래를 확인해보면 패키지들을 가리키는 심볼릭 링크들을 볼 수 있을 것이다. 또한 첫번째 우분투를 설치하면서 캐시서버에 저장되어 있지 않은 패키지들을 받아오기 때문에 두번째 우분투를 설치할 때는 캐시서버에서 패키지들을 받아올 것이다.


참고 자료

2010년 4월 22일 목요일

UTP 케이블 선배열


자주 만들지 않다보니 외우기가 녹록치 않네.

2010년 4월 20일 화요일

파이어폭스에서 크롬으로 갈아타다..


인터넷 서핑을 위해 그동안 파이어폭스를 써왔다. GMark, IE Tab, Gesture, Adblock, Greesemonkey, FastDial 등 plugin등이 있어 아주 쾌적한 서핑을 즐겨왔다. 하지만 10여초 정도 걸리는 로딩시간은 파이어폭스를 갈아타야겠다는 생각을 하게만들었다. 다른 대안이 없어 계속 쓰고 있었지만 크롬에서도 평소 유용하게 사용하던 plugin들이 가능하다는 사실을 깨닫고 바로 갈아탔다.

역시 크롬의 로딩시간은 여타 브라우저보다 뛰어나네요. 음~~~


2010년 4월 18일 일요일

[유머]무료 iPhone-iPad 업그레이드..


출처 : http://digg.com/apple/iPhone_to_iPad_Free_Upgrade_PIC?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+digg%2Fpopular+%28Popular+Stories%29&utm_content=Google+Reader

2010년 4월 16일 금요일

무선 인터넷? 이제는 전기도 무선이다!

무선 송전에 관해서는 몇몇 연구가 진행되고 있는 걸로 알고 있다. 하지만 송전 효율과 인접 기기와의 상호작용 등 상용화하기에 큰 장벽이 존재해왔다. 하지만 MIT 교수, 학생으로 구성된 팀이 송전 효율을 높였으며 더 나아가 휴대용 장비에 장착할 수 있을 정도로 개선하였다고 한다. 이 팀은 Witricity라는 회사를 설립하여 상용화를 준비하는 듯하다.

발표자의 설명을 요약하면 무선 송전에 대한 개념은 100여년전 테슬라가 세웠으며 자신들이 송전 효율을 상당히 높였다고 한다. 그리고 송전에는 'sending coil'과 'receiving coil'이 필요하며 receiving coil은 휴대폰에 장착할 수 일을 정도로 소형화가 가능하다고 말하고 있다. 가까운 미래에는 랩탑에 투박한 아답터가 사라지지 않을까.
 



http://www.networkworld.com/news/2010/041610-mit-boosts-wireless-power.html?fsrc=netflash-rss

2010년 4월 13일 화요일

iPad와 Windows 95의 궁합은?



OSX 메뉴바에서 아이콘이 사라졌다?!


OSX에서 상단 메뉴바에서 오른쪽 부분은 윈도우의 시스템 트레이와 유사한 역할을 한다. 시간을 나타내고 입력기 상태를 보여주며 볼륨 조절이라던가 네트워크 연결 상태를 보여주는 등 여러가지 시스템 상태를 보여주는 창 역할을 한다.

하지만 OSX 시스템 관련된 아이콘 중 불필요하게 나타나 있는 경우가 있다. 예를 들면, 무선 마우스나 타임머신을 사용하지 않는 사용자에게 블루투스나 타임머신 아이콘은 메뉴바에 나타나 있을 필요가 없다. 이때 간편하게 메뉴바에서 제거할 수 있는 방법이 있다. 이런 점에서 OSX는 정말 편의성 면에서는 으뜸이리라..

Command 키를 누른 상태에서 메뉴 밖으로 끌어내면 해당 아이콘이 구름과 함께 사라질 것이다. 실수로 아이콘을 삭제했다구요? 걱정마세요. 아래 폴더로 이동하여 menu extra들 중 필요한 것을 더블 클릭하면 다시 메뉴바에 나타날 것이다.

시스템 > 라이브러리 > CoreSerivces > Menu Extras

2010년 4월 9일 금요일

Netstat를 대체해보자 - ss


리눅스 시스템 관리자와 네트워크 프로그래머에게 네트워크 상태를 확인하기 위한 netstat 명령어는 매우 유용한 툴 중의 하나이다. netstat는 네트워크 연결, 라우팅 테이블, 인터페이스 통계, 마스커레이딩 연결, 멀티캐스트 멤버쉽 등 네트워크와 관련된 정보를 표시한다. netstat 1.42의 맨페이지를 확인해보면 이 netstat는 다른 프로그램으로 대체되고 있다는 문구를 볼 수 있다.


NOTE
       This program is obsolete.  Replacement for netstat is ss.  Replacement for
       netstat  -r  is  ip  route.   Replacement  for  netstat  -i is ip -s link.
       Replacement for netstat -g is ip maddr.

본 포스트에서는 netstat를 대체하는 툴 중의 하나인 ss를 알아보도록 한다.


1. 모든 포트 보기


1.1 전체 포트 보기

$ ss -a
State       Recv-Q Send-Q           Local Address:Port               Peer Address:Port
LISTEN      0      128                         :::50330                        :::*
LISTEN      0      50                          :::microsoft-ds                      :::*   
LISTEN      0      50                           *:mysql                         *:*
LISTEN      0      50                          :::netbios-ssn                      :::*    
      .
      .


 
1.2 전체 TCP 포트 보기
$ ss -at
State       Recv-Q Send-Q           Local Address:Port               Peer Address:Port
LISTEN      0      128                         :::50330                        :::*
LISTEN      0      50                          :::microsoft-ds                      :::*  
LISTEN      0      50                           *:mysql                         *:*
LISTEN      0      50                          :::netbios-ssn                      :::*   
LISTEN      0      128                          *:37996                         *:*
     .
     .
 
1.3 전체 UDP 포트 보기
$ ss -au
State Recv-Q Send-Q Local Address:Port Peer Address:Port
UNCONN 0 0 *:bootpc *:*
UNCONN 0 0 *:sunrpc *:*
UNCONN 0 0 *:ipp *:*
UNCONN 0 0 192.168.200.6:ntp *:*
UNCONN 0 0 127.0.0.1:ntp *:*
      .
      .
1.4 전체 유닉스 포트 보기
$ ss -ax
Netid  State      Recv-Q Send-Q   Local Address:Port       Peer Address:Port
u_str  LISTEN     0      0      @/com/ubuntu/upstart 7075                  * 0
u_str  ESTAB      0      0                    * 8883                  * 0
u_str  ESTAB      0      0                    * 8884                  * 0
u_str  ESTAB      0      0                    * 8895                  * 0
u_str  ESTAB      0      0                    * 8896                  * 0
      .
      .
 
2. Listening 상태의 포트 보기

2.1 Listening 상태의 포트 보기
$ ss -l
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 128 :::50330 :::*
0 50 :::microsoft-ds :::*
0 50 *:mysql *:*
0 50 :::netbios-ssn :::*
0 128 *:37996 *:*
      .
      .

2.2 Listening 상태의 tcp 포트 보기
$ ss -tl
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 128 :::50330 :::*
0 50 :::microsoft-ds :::*
0 50 *:mysql *:*
0 50 :::netbios-ssn :::*
      .
      .
 
2.3 Listening 상태의 udp 포트 보기
$ ss -ul
 2.4 Listening 상태의 유닉스 포트 보기
$ ss -xl
Netid  Recv-Q Send-Q        Local Address:Port            Peer Address:Port
u_str  0      0      @/com/ubuntu/upstart 7075                       * 0
u_str  0      0      /var/run/rpcbind.sock 9061                       * 0
u_str  0      0      /var/run/dbus/system_bus_socket 9153                       * 0
u_str  0      0      /var/run/avahi-daemon/socket 9206                       * 0
u_str  0      0      /var/run/vmware/usbarbitrator-socket 9493                       * 0  
     .
     .
 
3. Established 상태의 포트 보기

$ ss -o state established
Recv-Q Send-Q              Local Address:Port                  Peer Address:Port
0      0            ::ffff:192.168.200.6:ftp           ::ffff:221.155.87.78:47533    timer:(keepalive,48min,0)
0      0                   192.168.200.6:5902                 221.155.87.78:46865
0      184                 192.168.200.6:ssh                  221.155.87.78:47264    timer:(on,390ms,0)

 
4. 프로세스명 표시하기

-p 옵션은 프로세스명을 표시할 것이다. 특정 포트에서 실행되는 프로그램을 찾을 때 매우 유용하다.

$ ss -p
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 0 ::ffff:192.168.200.6:ftp ::ffff:221.155.87.78:47674
ESTAB 0 0 192.168.200.6:5902 221.155.87.78:46865
users:(("Xvnc",2642,19))
ESTAB 0 52 192.168.200.6:ssh 221.155.87.78:47264
5. 출력 화면의 호스트명, 포트, 사용자명 보기

-n 옵션을 사용하면 출력화면에서 호스트명, 포트 또는 사용자명을 표시하지 않을 것이다. 호스트명, 포트명, 사용자이름을 표시하는 대신 이들을 숫자로 표시할 것이다. 이 옵션을 사용하면 호스트명 등을 찾기 위한 시간이 단축되어 빠르게 표시할 것이다.

$ ss -n
State      Recv-Q Send-Q             Local Address:Port               Peer Address:Port
ESTAB      0      0           ::ffff:192.168.200.6:21         ::ffff:221.155.87.78:47674
ESTAB      0      0                  192.168.200.6:5902              221.155.87.78:46865
ESTAB      0      52                 192.168.200.6:22                221.155.87.78:47264

 

2010년 4월 7일 수요일

[GNS3] Routing Information Protocol (RIP) 구현하기

 

1. RIP 이란?

 

RIP(Routing Information Protocol)은 로컬 및 광역 네트워크에서 사용되는 동적 라우팅 프로토콜이다. RIP는 RFC 1058[footnote]http://tools.ietf.org/html/rfc1058[/footnote]에 정의된 distance-vector routing algorithm[footnote]http://en.wikipedia.org/wiki/Distance-vector_routing_protocol[/footnote]을 채용하였다. RIP는 초기 버전이 개정되어 RIP Version 2(RFC 2453)[footnote]http://tools.ietf.org/html/rfc2453[/footnote]이 나왔으며 IPv6 네트워크 환경에서 사용될 수 있도록 개정된 RIPng(RIP next generation)[footnote]http://tools.ietf.org/html/rfc2080[/footnote]이 나와 있다.

 

위에서도 언급했듯이 RIP는 distance-vector routing protocol이며 라우팅 메트릭으로 hop을 채용하고 있다. 최대 hop 수로 15까지 허용하며 hop count 16은 무한대로 간주된다. 이 때문에 RIP을 사용한 네트워크는 그 사이즈에 있어서 제한된다.

 

기본적으로 매 30초마다 RIP 라우터는 전체 라우팅 테이블을 전송한다. 초창기 네트워크 크기가 소규모이었을 때 이는 큰 문제가 되지 않았다. 하지만 현대와 같이 네트워크 크기가 커지고 RIP 라우터끼리 교환하는 라우팅 테이블의 크기가 급격히 커져 사용자가 보내려는 데이터보다 라우터가 서로 교환하는 라우팅 테이블이 더 많아지는 현상도 발생하게 된다.

 

또한 RIP는 부정확한 라우팅 정보가 전달되는 것을 방지하기 위해 split horizon[footnote]http://en.wikipedia.org/wiki/Split_horizon[/footnote], route poisoning[footnote]http://en.wikipedia.org/wiki/Route_poisoning[/footnote], holddown mechanism[footnote]http://en.wikipedia.org/wiki/Holddown[/footnote] 등을 도입하였다. 하지만 현대에 와서는 RIP이 OSPF나 EIGRP로 대체되어가는 추세이다.

 

2. GNS3를 이용한 RIP 구현


본 포스트에 사용된 GNS3 Lab에서는 GNS3-labs.comGNS3 Generic Simple Ripv2 Lab을 약간 수정하여 사용하였다. 네트워크 구성은 아래와 같다.

 

라우터 이미지 : c2691-is-mz.123-22a.bin
PC 이미지 : c3640-ik903s-m.12.48a.bin

 

그리고 아래는 각 라우터의 Configuration이다. 참고로 라우터 3640을 이용하여 PC를 에뮬레이트 하였다. PC의 configuration 중에 ip route 0.0.0.0 0.0.0.0 x.x.x.x 부분은 PC에서 발생한 모든 트래픽을 x.x.x.x로 보내라는 뜻이다. 즉 x.x.x.x가 디폴트 게이트웨이임을 나타낸다.

 

R0

interface FastEthernet0/0
  ip address 10.1.1.17 255.255.255.248
  speed 100
  full-duplex
!
interface Serial0/0
  description Link to R1
  ip address 10.1.1.1 255.255.255.252
  clock rate 2000000

interface Serial0/1
  description Link to R2
  ip address 10.1.1.14 255.255.255.252
  clock rate 2000000
!
router rip
  version 2
  network 10.0.0.0

 R1

interface FastEthernet0/0
  ip address 10.1.1.25 255.255.255.248
  speed 100
  full-duplex
!
interface Serial0/0
  description Link to R0
  ip address 10.1.1.2 255.255.255.252
  clock rate 2000000
!
!
interface Serial0/1
  description Link to R3
  ip address 10.1.1.5 255.255.255.252
  clock rate 2000000
!
router rip
  version 2
  network 10.0.0.0

 R2

interface FastEthernet0/0
  ip address 10.1.1.33 255.255.255.248
  speed 100
  full-duplex
!
interface Serial0/0
  description Link to R1
  ip address 10.1.1.6 255.255.255.252
  clock rate 2000000
!
!
interface Serial0/1
  description Link to R2
  ip address 10.1.1.9 255.255.255.252
  clock rate 2000000
!
router rip
  version 2
  network 10.0.0.0

 R3

interface FastEthernet0/0
  ip address 10.1.1.41 255.255.255.248
  speed 100
  full-duplex
!
interface Serial0/0
  description Link to R3
  ip address 10.1.1.10 255.255.255.252
  clock rate 2000000
!
!
interface Serial0/1
  description Link to R0
  ip address 10.1.1.13 255.255.255.252
  clock rate 2000000
!
router rip
  version 2
  network 10.0.0.0
!

PC1

interface FastEthernet0/0
  ip address 10.1.1.18 255.255.255.248
  speed 100
  full-duplex
!
ip route 0.0.0.0 0.0.0.0 10.1.1.17
!

PC2

interface FastEthernet0/0
  ip address 10.1.1.26 255.255.255.248
  speed 100
  full-duplex
!
ip route 0.0.0.0 0.0.0.0 10.1.1.25
!

PC3

interface FastEthernet0/0
  ip address 10.1.1.34 255.255.255.248
  speed 100
  full-duplex
!
ip route 0.0.0.0 0.0.0.0 10.1.1.33
!

 PC4

interface FastEthernet0/0
  ip address 10.1.1.43 255.255.255.248
  speed 100
  full-duplex
!
ip route 0.0.0.0 0.0.0.0 10.1.1.41
!

 3. 연결 확인하기


위에서 구성한 Lab이 제대로 동작하는 지 간단히 ping과 traceroute를 이용하여 확인해보도록 하자. 아래 결과는 PC1에서 PC3로 보낸 ping과 traceroute의 결과 값이다.  traceroute의 결과값을 보면 패킷은 R0 (10.1.1.17)을 거쳐 R1 (10.1.1.2), R3 (10.1.1.6)을 통해 PC3에 도달하는 것을 볼 수 있다.


 PC1#ping 10.1.1.34

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.34, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 80/110/184 ms
PC1#traceroute 10.1.1.34

Type escape sequence to abort.
Tracing the route to 10.1.1.34

  1 10.1.1.17 20 msec 28 msec 20 msec
  2 10.1.1.2 52 msec 20 msec 12 msec
  3 10.1.1.6 68 msec 60 msec 68 msec
  4 10.1.1.34 144 msec 108 msec *
PC1#


2010년 4월 6일 화요일

그놈 가상파일시스템(Gnome Virtual File System) 버그 - .gvfs

여러가지 테스트 목적으로 Fedora 13 Alpha 버전을 사용하고 있다. 하지만 언제부터인가 홈 디렉토리에서 파일 목록을 볼 때 멈춰버리는 경우가 발생하였다. 원인을 찾기 위해 며칠간 이것 저것 살펴보았지만 찾지 못하다 오늘 루트로 로긴하여 'ls -al'을 해보았더니 아래와 같은 출력을 볼 수 있었다.

 drwxr-xr-x 9 iprize iprize 4096 Apr  7 11:54 .
drwxr-xr-x 6 root   root   4096 Oct  2  2009 ..
-rw------- 1 iprize iprize  138 Apr  7 11:53 .bash_history
drwxr-xr-x 7 root   root   4096 Apr  7 11:17 Desktop
drwx------ 2 iprize iprize 4096 Apr  7 11:54 .gconf
drwx------ 2 iprize iprize 4096 Apr  7 11:54 .gconfd
d??????????  ? ?        ?             ?            ? .gvfs
drwxr-xr-x 2 iprize iprize 4096 Apr  7 11:54 .nautilus
drwx------ 2 iprize iprize 4096 Apr  7 11:54 .pulse
drwxr-xr-x 2 root   root   4096 Apr  7 11:24 .vnc

 중간에 보면 .gvfs의 디렉토리 정보가 이상하게 표시되는 현상을 볼 수 있다. 이 때문에 노틸러스로 문제의 홈디렉토리를 보려고 하면 디렉토리 내용이 뜨지 않고 빈 화면으로 표시되며 또 터미널에서 'ls -al'을 실행하면 결과값이 제대로 출력되지 않고 멈춰버리는 현상이 발생한다.

이 문제를 구글링해서 찾아본 결과 이는 Fedora 13 Alpha의 문제가 아니라 Gnome Virtual File system의 문제였다[footnote] http://forums.fedoraforum.org/showthread.php?t=229819 [/footnote]

위 문제를 해결하는 방법은 다음과 같다.
  • vfs-fuse-daemon을 vfs-fuse-daemon.bak 등으로 파일명을 변경한다. 파일의 위치는 locate을 이용하여 찾도록 하자. 보통은 /usr/libexec/ 디렉토리에 존재한다.
  • 'touch vfs-fuse-daemon' 명령으로 새로운 파일을 생성한 후 파일 속성을 644로 변경한다.
  • 재부팅하여 'ls -al' 명령이 제대로 실행되는지 확인한다.

레드햇 버그 트래킹 시스템인 버그질라에 등록되어 있는 버그지만 아직 해결되지 않은 문제인듯 하다[footnote] https://bugzilla.redhat.com/show_bug.cgi?id=540574 [/footnote]




2010년 4월 3일 토요일

우분투 10.10 (코드명 Maverick Meerkat) 릴리즈 일정



아직 10.04가 정식 릴리즈되지 않은 상황에서 10.10(Perfect ten이라고 읽더군요)의 릴리즈 일정이 나왔네요[footnote]https://wiki.ubuntu.com/MaverickReleaseSchedule[/footnote]. 10.04는 LTS(Long Term Suport)라서 서버측면이 강화될 듯하고 10.10은 데스크탑 측면이 강화될 듯하다는 개인적인 예측입니다. ^^

June 03rd, 2010 - Alpha 1 release

July 1st , 2010 – Alpha 2 release

August 12th, 2010 – Alpha 3 release

September 2nd, 2010 - Alpha 4 release

September 23th , 2010 – Beta release

October 21st , 2010 - Release Candidate

October 28th, 2010 – Final release of Ubuntu 10.10



참 10.10 버전부터는 파일 용량 표시가 변경된다고 합니다. 2진수를 사용하는 IEC Standard 대신 10진수를 사용하는 SI Standard를 채용한다고 하네요. 아래는 간략하게 설명한 부분이구요. 자세한 사항은 이곳[footnote] http://www.neowin.net/news/ubuntu-implements-units-policy-will-switch-to-base-10-units-in-future-release [/footnote]을 참고하시기 바랍니다.

Applications must use IEC standard for base-2 units:

  • 1 KiB (kibibyte) = 1,024 bytes (Note: big k)
  • 1 MiB (mebibyte) = 1,024 KiB = 1,048,576 bytes
  • 1 GiB (gibibyte) = 1,024 MiB = 1,048,576 KiB = 1,073,741,824 bytes
  • 1 TiB (tebibyte) = 1,024 GiB = 1,048,576 MiB = 1,073,741,824 KiB = 1,099,511,627,776 bytes

Applications must use SI standard for base-10 units:

  • 1 kB (kilobyte) = 1,000 bytes (Note: small k)
  • 1 MB (megabyte) = 1,000 kB = 1,000,000 bytes
  • 1 GB (gigabyte) = 1,000 MB = 1,000,000 kB = 1,000,000,000 bytes
  • 1 TB (terabyte) = 1,000 GB = 1,000,000 MB = 1,000,000,000 kB = 1,000,000,000,000 bytes

It is not allowed to use the SI standard for base-2 units:

  • 1 kB ≠ 1,024 bytes
  • KB (with a big k) does not exist


2010년 4월 2일 금요일

웹브라우저로 퀘이크를 즐긴다?!



iPad 런칭 키노트에서 스티브 잡스는 iPad에도 플래시는 돌아가지 않는다고 밝혔으며 사내 직원 대담에서 어도비는 게으르다고 말하는 것을 보면 플래시가 애플 제품에서 그 영향력이 줄어들고 있는 듯 보입니다. 그리고 플래시의 대안으로 꼽히는 HTML5는 아직 완성되지 않았다거나 HTML5를 적용한 브라우저가 부족하다는 등의 우려가 있습니다. 하지만 구글 엔지니어들이 자투리 시간을 할애해 진행하는 프로젝트[footnote]http://code.google.com/p/quake2-gwt-port/[/footnote]를 보면 HTML5가 플래시를 대체할 수 있다는 것만은 확실한 듯합니다.


2010년 4월 1일 목요일

Firefox 3.6.3 Release

by iprize | 2010/03/24 08:53

파이어폭스가 22일자로 3.6.2로 업데이트되었네요. 바로 업데이트 들어갑니다. 아래는 이번 3.6.2에서 개선된 점입니다. Firefox 3.6.2 fixe...


지난 3월 말경에 3.6.2로 업데이트한지 며칠 지나지 않았는데 3.6.3이 릴리즈되었네요. 업데이트 바로 했습니다.

아마 꽤 심각한 버그가 발견되어 업데이트가 된 듯하네요.



다운로드 링크 : http://www.mozilla.com/en-US/firefox/3.6.3/releasenotes/

리눅스 Live CD로 윈도우 복구를?

 

윈도우를 사용하다 보면 바이러스나 비밀번호를 잊어버려 난감한 경우가 종종 있을 것이다. 예전에는 도스 부팅 디스켓을 만들어 부팅하거나 하드디스크를 떼어 다른 컴퓨터에 붙여 복구하곤 했다. 하지만 최근에는 완성품 PC에 플로피 드라이브를 장착하지 않고 출시하거나 조립 피시를 직접 구성할 경우 플로피 드라이브를 빼는 게 대세인듯 하다. 따라서 플로피 디스켓을 사용한 옛날 방심으로 윈도우 복구는 힘들듯 하다. 이 대안으로 USB에 리눅스 Live CD를 설치하여 복구하는 방법을 알아보자. USB에 리눅스 Live CD 설치는 배포본마다 틀리니 각 배포본의 매뉴얼을 참조하기 바란다.

Windows(윈도우) 이야기 : 부팅 가능 Ubuntu 9.10 USB 플래쉬 드라이브 ...
How to create and use Live USB - FedoraProject

본 포스트에서 소개하는 방법으로 복구할 수 있는 윈도우 장애는 아래와 같다.

- 바이러스 스캔
- 로그인 비밀번호 변경
- 기존 파일을 보존한 채 파티션 조정
- 윈도우에서 삭제된 파일 복구



1. 바이러스 스캔
리눅스에서는 바이러스에 대한 위험은 없다고 할 수 있다. 하지만 윈도우 계열의 운영체제에서는 항상 바이러스에 대해 경계를 해야 하며 백신 프로그램은 이제 선택이 아닌 필수이다. 하지만 백신 프로그램을 설치하였다 하더라도 백신의 성능이나 기타 원인으로 인해 바이러스에 감염되어 컴퓨터가 부팅이 되지 않을 때도 있을 것이다. 그리고 요새 만들어지는 바이러스는 워낙 악질적이라 감염되지 않은 피시에 감영된 하드디스크를 붙이는 행동은 상당히 위험할 수 있다. 원치않게 또 하나의 감염된 피시를 만들어 버리게 될 수 있기 때문이다.

리눅스 소프트웨어 중에 'clamtk'라는 anti virus 패키지가 있다. Clam Anti Virus의 리눅스 버전이다. 페도라에서 간단히 'yum install clamtk'를 루트권한으로 실행하면 의존성 검사 후 필요 패키지를 설치할 것이다. 이 패키지는 리눅스 시스템의 바이러스를 체크하기 위한 것이 아니라 메일서버 혹은 듀얼 부팅 데스크탑의 윈도우 시스템을 체크하기 위한 것이다. 사용법은 일반 백신 프로그램과 유사하니 별다른 설명이 필요 없으리라 생각한다.

 


2. 로그인 비밀번호 변경
위 clamtk와 마찬가지로 'chntpw'라는 패키지를 설치하자. 윈도우의 SAM 파일에 저장되어 있는 비밀번호를 chntpw로 변경하려면 윈도우 파티션을 마운트하여야 한다. 우분투나 페도라에서 윈도우 파티션 마운트는 GUI를 사용하기 때문에 어렵지 않게 마운트할 수 있을 것이다.

성공적으로 마운트 하였다면 SAM 파일이 위치한 Windows/System32/config 폴더로 이동한다. 아래 명령은 윈도우 관리자 계정의 비밀번호를 변경한다. 반드시 루트 권한으로 실행하도록 한다.  

chntpw SAM

기타 다른 사용자의 비밀번호를 변경하고자 한다면,

chntpw -u iprize SAM


1에서 4까지 옵션이 있으며 보통 윈도우 관리자 계정의 비밀번호를 잊었을 때 비밀번호를 지운 후 윈도우로 부팅하여 재설정하고자 할 것이다. XP와 비스타에서 동작하는 것으로 알려져 있으며 윈도우 7에서도 성공적으로 동작하였다.


[root@localhost config]# chntpw -u iprize SAM
chntpw version 0.99.6 080526 (sixtyfour), (c) Petter N Hagen
Hive <SAM> name (from header): <\SystemRoot\System32\Config\SAM>
ROOT KEY at offset: 0x001020 * Subkey indexing type is: 666c <lf>
Page at 0x10000 is not 'hbin', assuming file contains garbage at end
File size 262144 [40000] bytes, containing 7 pages (+ 1 headerpage)
Used for data: 262/53336 blocks/bytes, unused: 8/7880 blocks/bytes.


* SAM policy limits:
Failed logins before lockout is: 0
Minimum password length        : 0
Password history count         : 0
| RID -|---------- Username ------------| Admin? |- Lock? --|
| 01f4 | Administrator                  | ADMIN  | dis/lock |
| 01f5 | Guest                          |        | dis/lock |
| 03e8 | iprize                         | ADMIN  |          |

---------------------> SYSKEY CHECK <-----------------------
SYSTEM   SecureBoot            : -1 -> Not Set (not installed, good!)
SAM      Account\F             : 0 -> off
SECURITY PolSecretEncryptionKey: -1 -> Not Set (OK if this is NT4)
Syskey not installed!

RID     : 1000 [03e8]
Username: iprize
fullname:
comment :
homedir :

User is member of 1 groups:
00000220 = Administrators (which has 3 members)

Account bits: 0x0214 =
[ ] Disabled        | [ ] Homedir req.    | [X] Passwd not req. |
[ ] Temp. duplicate | [X] Normal account  | [ ] NMS account     |
[ ] Domain trust ac | [ ] Wks trust act.  | [ ] Srv trust act   |
[X] Pwd don't expir | [ ] Auto lockout    | [ ] (unknown 0x08)  |
[ ] (unknown 0x10)  | [ ] (unknown 0x20)  | [ ] (unknown 0x40)  |

Failed login count: 0, while max tries is: 0
Total  login count: 219

- - - - User Edit Menu:
 1 - Clear (blank) user password
 2 - Edit (set new) user password (careful with this on XP or Vista)
 3 - Promote user (make user an administrator)
(4 - Unlock and enable user account) [seems unlocked already]
 q - Quit editing user, back to user select
Select: [q] > 1

Hives that have changed:
 #  Name
 0  <SAM>
Write hive files? (y/n) [n] : y
 0  <SAM> - OK
[root@localhost config]#



3. 기존 파일을 보존한 채 파티션 조정


경고 : 파티션 조정하기 전에 반드시 중요한 데이터를 백업하기 바란다. 윈도우 운영체제 파티션을 수정할 경우 윈도우의 부트로더가 수정된 파티션을 제대로 인식하지 않을 수 있다.


리눅스에서는 리눅스 파티션뿐만 아니라 윈도우 파티션까지 조정할 수 있다. Gparted를 이용하면 파티션 생성, 삭제, 이동 및 사이즈 조정까지 할 수 있다. 아래 그림을 보면 Gparted에서 지원하는 파일 시스템을 알 수 있다. Required Software 필드는 해당 파일 시스템을 조정하기 위해 필요한 소프트웨어를 나타낸다.

 

 

간단하게 글쓴이가 사용하고 있는 넷북을 가지고 사용법을 알아보도록 하자. KT 와이브로를 2년 약정으로 가입하면 주는 삼성 N130에는 운영체제 복구 목적으로 RECOVERY 파티션이 생성되어 있다. 여러 가지 테스트 목적으로 운영체제를 설치/삭제를 반복하기 때문에 복구용도로 생성되어 있는 7기가 정도의 파티션은 그다지 쓸모가 없기 때문에 삭제하여 7기가를 다른 파티션과 합쳐보도록 하자. 아래 그림은 Disk Utility (Application > System Tools > Disk utility)를 실행하여 확인한 것이다.

 


 

GParted(Application > System Tools > Gparted Partition Editor)를 실행하자. 아래 그림에서 확인할 수 있듯이 왼쪽 첫번째 작은 파티션이 응급 복구를 위한 파티션이다. 이 파티션을 제거한 후 두번째 파티션(/dev/sda2)에 합치도록 한다.

 


 

첫번째 파티션에서 오른쪽 클릭한 후 팝업 메뉴에서 Remove를 선택한다. 메인 화면으로 돌아와서 보면 첫번째 파티션이 있던 자리는 회색으로 표시될 것이다. 하지만 이때까지 실제 하드디스크에는 Edit > Apply pending operation을 선택하여야 적용이 되니 주의하도록 하자.


첫번째 파티션을 삭제하는 빈 공간은 두번째 파티션에 할당하도록 하자. 두번째 파티션에서 오른쪽 클릭한 후 Resize/Move를 선택하면 아래와 같이 파티션을 조정할 수 있는 창이 새로 뜬다. 글쓴이의 경우 에러가 발생하여 재부팅 후 정상적으로 파티션을 조정할 수 있었으니 에러가 발생할 경우 재부팅 후 다시 시도해 보도록 하자.

 

 

원하는 사이즈로 조정한 후 Resize/Move 버튼을 클릭하자. 파티션 크기 조정 및 파일 이동에 시간이 오래 걸리니 충분한 시간을 가지고 기다리도록 한다.

 

 

윈도우로 재부팅하여 변경된 사항을 확인해 보도록 하자.

 


참고 : 위 방법으로 윈도우 운영체제가 설치된 파티션을 조정하였을 때 윈도우 부트 로더가 파티션 정보를 제대로 인식하지 못하는 현상이 발생하여 부팅이 되지 않았다. 윈도우 7 USB로 복구하여 정상으로 돌아왔으니 참고하기 바란다. 윈도우 7 USB를 생성하는 방법에 대해서는 아래 포스트를 참고하기 바란다.


ShinB's Log - Windows Technical Info & Tips : 윈도우 7 USB 로 설치 ...


추가 : 영문 자료라 본 포스트에 추가하지 않으려고 했으나 도움이 될 듯하여 포함한다.


Recovering the Vista Bootloader from the DVD - NeoSmart ...

 4. 윈도우에서 삭제된 파일 복구

마지막으로 윈도우에서 삭제된 파일을 복구하는 방법은 아래 포스트를 참고하기 바란다.

by Hosup 의 IT 세상 | 2010/03/30 12:36

Ubuntu Live CD로 NTFS 하드디스크 상에 삭제된 파일복구가 가능하다. 먼저 Ubuntu Live CD 또는 Ubuntu Live 부팅 USB가 필요하며, 이를 만드는 방법은 포스팅 "부팅 가능 Ubuntu 9.10 USB 플래쉬 드라이브 만들기"에서 참조 가능하다. ...