원문 : http://www.ubuntu.or.kr/viewtopic.php?p=49867

Offline
글올림: 2010/02/03 수 9:22 am 
회원 아바타
쪽지 보내기  e-메일  www  Jabber  개인정보

가입일: 2008/04/01 화 5:56 pm
글: 1302
우 분투 9.10으로 오고 나서 스피커에서 팍 팍 거리는 소리가 지속적으로 나는 증상이 생겼습니다. 소리를 듣고 있어도 그럼은 물론이고, 아무런 소리를 내고 있지 않은 상황 - 심지어는 사운드 조절에서 음소거 옵션을 켜 놔도 지속적으로 현상이 일어나는데... 검색을 해 보니Alsa의 파워세이브 기능과 관련이 있다는 정보를 얻었습니다. 기본 설정이 10초간 소리를 낼 일이 없으면 사운드 하드웨어의 파워를 내리는 걸로 설정되어 있는데, 어째선지 자꾸 켜졌다 꺼졌다 하는거 같더군요.

고로, 동일한 증상이 생기시는 분들은 터미널에서

Code:
gksudo gedit /etc/modprobe.d/alsa-base.conf


을 입력해서 "power_save = 10" 이라고 되어 있는 행에서 10을 0으로 바꿔 버려서 해당 기능을 꺼버리면 됩니다.



위 제목으로 외국 포럼엔 글이 많던데.. 한쿡에선 못.. 아니 안찾아봐서..

9.04 까지는 /etc/modprobe.d/aliases 파일을 수정했지만, 9.10부터 바뀐듯하다

우분투 9.10에서 IPv6 설정 해제 하는 방법

1. grub 편집

sudo vi /etd/default/grub


아래의 행을 찾는다

GRUB_CMDLINE_LINUX=""


위 내용을 아래와 같이 변경하여 준다.

GRUB_CMDLINE_LINUX="ipv6.disable=1"


저장 후 종료한 뒤 다음의 명령 실행

sudo update-grub


재부팅하면 끝~

[Linux] 우분투에서 IPv6 옵션 끄기

TechNote/Linux 2009. 10. 4. 19:19 Posted by harim~♥
음... 슬슬 IPv6가 사용되긴하는데.. 사실 일반화까지는 아니지만 많이 쓰는거 같다는 생각을 한다. (실제로 본적은 없지만..) 우분투에서도 기본적으로 IPv6를 제공하는데, 문제는 이놈이 되면서 기존의 DHCP나 IPv4기반의 환경에서 네트워크가 먹통이 된단 말이지.. 그래서 당장 사용하지 않는 IPv6옵션을 끄는 방법을 적어본다.

$ sudo vi /etc/modprobe.d/aliases
alias net-pf-10 ipv6 를 찾아 아래와 같이 수정

#alias net-pf-10 ipv6
alias net-pf-10 off

저장 후 리붓-

[Linux] MS Project 대응 -> Openproj

TechNote/Linux 2009. 10. 1. 02:02 Posted by harim~♥
역시나.. 리눅스에는 언제나 거의 대부분의 경우에 상용 프로그램을 대체하는 좋은 오픈소스들이 있다. 사업 기획안을 만들다가 일정을 만들어야 해서 구글링을 하다 찾은 좋은 녀석.. OpenProj

우분투 패키지에는 없지만 아래 사이트에 가면 다운로드 할 수 있다.

http://sourceforge.net/projects/openproj/files/

10월1일 현재 최종버전이 1년 정도 지난 2008년 10월자 이다. 현재 9.04에 deb패키지 관리자로 설치했는데 이상없이 실행된다. -_-ㅋ 당장 일정을 작성하진 않으므로 스샷은 없다.. 뭐 MS 프로젝트파일도 불러올 수 있을 정도로 호환이 된다니 뭐.. 나중에 한번~

관련글을 트랙백 및 링크 첨부하니 참조 바란다.

프로그램에 대한 설명은 추후에..


관련사이트
http://skcha.tistory.com/8
http://kyungseo.pe.kr/blog/95

흠.. 이외에도 "MS 프로젝트, 리눅스"라는 키워드와 "OpenProj"로 구글링하면 어마어마한 정보가 +_+




인터넷을 서핑하다 중고나라의 링크가 걸렸는데... +_+ 한글(HWP) for Linux, 리눅스용 한글을 3만원에 판다는 게시물이 한달전 날짜로 올라왔다 혹시나 하는 맘에 연락을 해봤더니 아직 안팔렸다고 ;;; 거금.. 요즘 같은때-최근 포스트를 보라-에 정말 거금 3만원을 빌려 구매!!

설치하기

설치환경

$ uname -a
Linux readytoact-cyber 2.6.28-15-generic #49-Ubuntu SMP Tue Aug 18 18:40:08 UTC 2009 i686 GNU/Linux

기존 인터넷에 나와 있는 방법대로 설치하면 패키지나 여러부분에서 차이가 있다. 현재로선 아마 이 포스트가 최신이 아닐까 싶다.

1. rpm 설치
$ sudo apt-get install rpm

2. 필요 라이브러리 설치
$ sudo apt-get install libssl-dev
$ sudo apt-get install libqt3-mt

3. 라이브러리 링크
$ sudo ln -sf /usr/lib/libtiff.so.4.2.1 /usr/lib/libtiff.so.3
$ sudo ln -sf /usr/lib/libcrypto.so.0.9.8 /usr/lib/libcrypto.so.6

4. 실행
프로그램-오피스-한글과 컴퓨터 2008 을 실행하거나

$ /usr/bin/hwp7

우히히히.. 된다.. 돼

[Ubuntu] gedit 에서 한글이 깨질 때

TechNote/Linux 2009. 9. 17. 22:37 Posted by harim~♥

요즘 한창 우분투 전도(?)를 하고 있다. 좀 오래된 개인 노트북이나 새로 설치하게 되는 PC에 우분투를 설치해보라고 권면하면서 조금씩 지인들에게 우분투를 설치해주고 있다.

물론 기존의 운영환경에 비해 여러부분이(상당히) 많이 다르지만 지금까지 설치해 준 사람들은 잘 쓰고들 있다.

최근, 윈도에서 메모장으로 작성한 텍스트 파일이 우분투에서 깨져보인다고 하여 방법을 찾아보았다. 우분투는 기본적 로케일이 UTF-8을 사용하기 때문에 이러한 현상이 발생하게 되는 것인데그렇다고 일일이 윈도우에서 UTF-8 혹은혹은 Unicode 방식으로 저장을 하긴 번거롭기도 하고 기존에 작성된 문서라면 ... 뭐.. 다 그런거다.

리눅스에는 메모장 보다는 17.5배 정도 좋은 gedit이 있는데 일반 텍스트 편집기로 매우 훌륭한 녀석이다. 일반적으로 리눅스에서 텍스트를 볼 때 사용하니 이녀석의 설정을 좀 변경하면 무리없이 윈도판 텍스트 파일들을 불러올 수 있다.

1.터미널 혹은 Alt + F2를 눌러 실행창에 gconf-editor 입력
2.흡사 윈도의 레지스트리 에디터와 비슷한 화면이 나타난다. 
app -> gedit-2 -> preferences -> encodings 로 이동하여 auto_detected 값을 찾아서

3. 더블클릭하여 키를 편집한다

4. 추가 - UHC 라고 입력 후 확인. 참고로 UHC는 통합형 한글코드를 의미한다

5. 설정값들을 위아래로 위치조정이 가능한데 방금 추가한 UHC값을 위로 올린다. 본인은 UHC가 가장 위, 그 담이 UTF-8로 되어 있다

6. 로그오프 했다가 재 로그인하여 기존에 깨지던 텍스트 파일을 까보쟈

출처 : http://linux.textcube.com/5?expandComment=1#comment6885673

mplayer

mplayer -dumpstream -dumpfile [filename] [URL]
$ mplayer -dumpstream -dumpfile test2.wmv mms://bbs.intercp.net/rec

mmsh(mms over http)의 경우 mplayer를 이용하여 녹화가 되지 않는다고 한다(원문에 의하면)

이때는 vlc의 스트리밍 녹화기능을 이용하여 녹화한다. vlc가 설치되어 있지 않다면 아래와 같이 설치한다

sudo apt-get install vlc

vlc vlc 스트리밍경로 --sout 저장경로및파일이름
$ vlc mms://bbs.intercp.net/rec --sout /home2/test.wmv

Gnome panel 초기화 하기

TechNote/Linux 2009. 8. 16. 10:04 Posted by harim~♥
그놈 데스크탑을 사용하다가 패널이 꼬이거나 도망갔다거 했다면 아래와 같은 방법으로 초기화 할 수 있다.

1. Alt + F2를 눌러 [프로그램 실행]창이 나타나면 gnome-termianl 을 입력하여 터미널을 띄우고,
2. ~/.gconf/apps 디렉토리로 이동하여 panel 디렉토리를 삭제(또는 이름변경)합니다.

    readytoact@readytoact-ubuntu:~$ cd .gconf/apps
    readytoact@readytoact-ubuntu:~/.gconf/apps$ rm -fr panel

[Linux] Access M$ Windows shared folder on Linux

TechNote/Linux 2009. 6. 27. 14:29 Posted by harim~♥

[Linux] Access M$ Windows shared folders on Linux

1. 필요패키지 설치
sudo apt-get install samba smbfs

2. 공유폴더 접근
readytoact@readytoact-ubuntu:~$ sudo mount -t cifs [//ip주소/공유폴더] [마운트포인트] -o username=사용자계정,password=비밀번호,iocharset=utf8,file_mode=0777,dir_mode=0777
이 때, 주의할 점은 모든 퍼미션이 777이라는 점이다. 여러사람이 사용하는 공유폴더라면 잘못하여 자료를 삭제하지 않도록 유의해야 할 것이다.

2-1. 노틸러스를 이용한 공유폴더 연결
  - 파일-서버에 연결
  - [windows 공유]
    . 서버 : ip주소 입력
    . 폴더 : 공유폴더이름
    . 사용자 이름 : 로그인하는 계정
   
사용자 삽입 이미지

이후 패스워드 입력화면에 패스워드를 입력

또는

노틸러스 주소창에 "smb://ip주소/공유폴더이름'을 입력한다.
사용자 삽입 이미지

현재 우분투 9.04에서는 별도 패키지 설정없이 samba를 통한 윈도우즈 접근이 가능하다고 하다.

[Linux] Linux 101 Hacks (ebook)

TechNote/Linux 2009. 6. 26. 01:31 Posted by harim~♥

뭐.. 리눅스 파워토이쯤 될까? 무료라니 한번 볼까나?

출처 : http://kldp.org/node/102860

ebook다운로드

Linux 101 Hacks (ebook)

출처 : KLDP
========================================
Linux 101 Hacks Free Ebook 이 드디어 나왔습니다.

The GeekStuff.com에서 출판한 linux 101 hacks가 나왔습니다.

http://www.thegeekstuff.com/2009/02/linux-101-hacks-download-free-ebook/

hacks라고 라니까, craking을 생각하시는 분들이 계실것 같은데... 글자그대로 hack입니다.

Linux 101 Hacks - Table of Contents
Chapter 1: Powerful CD Command Hacks

* Hack 1. Use CDPATH to define the base directory for cd command
* Hack 2. Use cd alias to navigate up the directory effectively
* Hack 3. Perform mkdir and cd using a single command
* Hack 4. Use “cd -” to toggle between the last two directories
* Hack 5. Use dirs, pushd and popd to manipulate directory stack
* Hack 6. Use “shopt -s cdspell” to automatically correct mistyped directory names on cd

Chapter 2: Date Manipulation

* Hack 7. Set System Date and Time
* Hack 8. Set Hardware Date and Time
* Hack 9. Display Current Date and Time in a Specific Format
* Hack 10. Display Past Date and Time
* Hack 11. Display Future Date and Time

Chapter 3: SSH Client Commands

* Hack 12. Identify SSH Client Version
* Hack 13. Login to Remote Host using SSH
* Hack 14. Debug SSH Client Session
* Hack 15. Toggle SSH Session using SSH Escape Character
* Hack 16. SSH Session Statistics using SSH Escape Character

Chapter 4: Essential Linux Commands

* Hack 17. Grep Command
* Hack 18. Find Command
* Hack 19. Suppress Standard Output and Error Message
* Hack 20. Join Command
* Hack 21. Change the Case
* Hack 22. Xargs Command
* Hack 23. Sort Command
* Hack 24. Uniq Command
* Hack 25. Cut Command
* Hack 26. Stat Command
* Hack 27. Diff Command
* Hack 28. Display total connect time of users

Chapter 5: PS1, PS2, PS3, PS4 and PROMPT_COMMAND

* Hack 29. PS1 - Default Interaction Prompt
* Hack 30. PS2 - Continuation Interactive Prompt
* Hack 31. PS3 - Prompt used by “select” inside shell script
* Hack 32. PS4 - Used by “set -x” to prefix tracing output
* Hack 33. PROMPT_COMMAND

Chapter 6: Colorful and Functional Shell Prompt Using PS1

* Hack 34. Display username, hostname and current working directory in the prompt
* Hack 35. Display current time in the prompt
* Hack 36. Display output of any command in the prompt
* Hack 37. Change foreground color of the prompt
* Hack 38. Change background color of the prompt
* Hack 39. Display multiple colors in the prompt
* Hack 40. Change the prompt color using tput
* Hack 41. Create your own prompt using the available codes for PS1 variable
* Hack 42. Use bash shell function inside PS1 variable
* Hack 43. Use shell script inside PS1 variable

Chapter 7: Archive and Compression

* Hack 44. Zip command basics
* Hack 45. Advanced compression using zip command
* Hack 46. Password Protection of Zip files
* Hack 47. Validate a zip archive
* Hack 48. Tar Command Basics
* Hack 49. Combine gzip, bzip2 with tar

Chapter 8: Command Line History

* Hack 50. Display TIMESTAMP in history using HISTTIMEFORMAT
* Hack 51. Search the history using Control+R
* Hack 52. Repeat previous command quickly using 4 different methods
* Hack 53. Execute a specific command from history
* Hack 54. Execute previous command that starts with a specific word
* Hack 55. Control the total number of lines in the history using HISTSIZE
* Hack 56. Change the history file name using HISTFILE
* Hack 57. Eliminate the continuous repeated entry from history using HISTCONTROL
* Hack 58. Erase duplicates across the whole history using HISTCONTROL
* Hack 59. Force history not to remember a particular command using HISTCONTROL
* Hack 60. Clear all the previous history using option -c
* Hack 61. Substitute words from history commands
* Hack 62. Substitute a specific argument for a specific command
* Hack 63. Disable the usage of history using HISTSIZE
* Hack 64. Ignore specific commands from the history using HISTIGNORE

Chapter 9: System Administration Tasks

* Hack 65. Partition using fdisk
* Hack 66. Format a partition using mke2fsk
* Hack 67. Mount the partition
* Hack 68. Fine tune the partition using tune2fs
* Hack 69. Create a swap file system.
* Hack 70. Create a new user
* Hack 71. Create a new group and assign to an user
* Hack 72. Setup SSH passwordless login in OpenSSH
* Hack 73. Use ssh-copy-id along with ssh-agent
* Hack 74. Crontab
* Hack 75. Safe Reboot Of Linux Using Magic SysRq Key

Chapter 10: Apachectl and Httpd Examples

* Hack 76. Pass different httpd.conf filename to apachectl
* Hack 77. Use a temporary DocumentRoot without modifying httpd.conf
* Hack 78. Increase the Log Level temporarily
* Hack 79. Display the modules inside Apache
* Hack 80. Show all accepted directives inside httpd.conf
* Hack 81. Validate the httpd.conf after making changes
* Hack 82. Display the httpd build parameters
* Hack 83. Load a specific module only on demand

Chapter 11: Bash Scripting

* Hack 84. Execution Sequence of .bash_* files
* Hack 85. How to generate random number in bash shell
* Hack 86. Debug a shell script
* Hack 87. Quoting
* Hack 88. Read data file fields inside a shell script

Chapter 12: System Monitoring and Performance

* Hack 89. Free command
* Hack 90. Top Command
* Hack 91. Ps Command
* Hack 92. Df Command
* Hack 93. Kill Command
* Hack 94. Du Command
* Hack 95. lsof commands.
* Hack 96. Sar Command
* Hack 97. vmstat Command
* Hack 98. Netstat Command
* Hack 99. Sysctl Command
* Hack 100. Nice Command
* Hack 101. Renice Command
This content is released into the public domain except where otherwise noted.

[Linux] gedit에서 CP949 인코딩 표시

TechNote/Linux 2009. 6. 20. 02:36 Posted by harim~♥
CP949로 인코딩 된 파일이 gedit에서 제대로 인코딩이 되지 않는 문제가 있는데, 별 생각없이 그냥 쓰다가 Mr.Dust님이 찾으시길래 구글링하다 찾아 실제로 작업을 해보았다.

  • Alt + F2 (프로그램 실행)

  • gconf-editor 실행
  : M$윈도의 레지스트리 편집기 비슷한 화면 등장
사용자 삽입 이미지

  • /apps/gedit-2/preferences/encodings/로 이동하여 auto_detected키를 찾아 UHC를 추가하고 UHC를 가장 위로 순서를 올려준다.


ies4linux를 사용중에 ie6의 불안정함과 여러가지 자잘한 불편함으로 인해 고생하던 중 채널 지인의 도움으로 패치를 진행하게 되었다.

kernel32.patch인데 이 패치의 효과는 다음과 같다고 한다.

  • 우분투에서 IE 사용시 CPU점유율이 100%로 치솟는 문제 해결
  • wineserver의 메모리 누수 해결
  • IE 종료 후에도 계속 프로세스에 잔류하는 문제 해결

이번 작업을 통해 개인적으로 패키지에 패치를 적용하여 패키지를 다시 빌드하는 방법을 새로이 알게 되었다.

그럼 패치를 적용해 보자.

1. 패치다운로드
 : 원래 링크가 어딘지 모르겠다.

2. 패키지 다운로드
 : 일반유저로 apt-get source를 실행한다

$ cd tmp
$ apt-get source wine
$ ls
wine-1.0.1                   wine_1.0.1-0ubuntu6.dsc
wine_1.0.1-0ubuntu6.diff.gz  wine_1.0.1.orig.tar.gz
3. 패키지 빌드에 필요한 패키지 설치
$ sudo apt-get build-dep wine
$ sudo apt-get install fakeroot fakeroot-ng
4. 패치
다운받은 kernel32.patch 파일을 wine-1.0.1 디렉토리로 복사한 뒤 아래와 같이 진행한다
$ patch -p1 < kernel32.patch
patching file dlls/kernel32/sync.c
Reversed (or previously applied) patch detected!  Assume -R? [n]  y 를 입력
5. 패키지 빌드(생성)
$ fakeroot debian/rules binary
컴파일 과정이 마치고 나면 현재 디렉토리의 상위 디레토리에 빌드한 패키지가 생성된다.

6. wine 재설치
$ sudo dpkg -i wine_1.0.1-0ubuntu6_i386.deb

참고 patch 에서 -pNum 옵션
 출처 : http://coffeenix.net/board_print.php?bd_code=110


-pNUM 옵션은 패치 파일에 명시되어 있는 '패치할 파일의 위치'를
제대로 찾아주게 하기위한, 'path에서 제거할 prefix의 개수'정도
의 의미를 지닌다고 할 수 있습니다. --strip=NUM 과 같습니다.

예를 들어, 패치 파일에 '패치할 파일의 위치(이름)'가
/home/dcpark/idst/src/test.c 와 같이 적혀 있을 경우...
-p0 는 '하나도 수정하지 않은' 전 path가 포함된 것을,
-p1 은 '첫번째 슬래쉬가 빠진' home/dcpark/idst/src/test.c를,
-p4 는 '내번째 슬래쉬 앞까지 빠진' src/test.c를
'패치할 파일의 이름'으로 인식하게 합니다.
-p 옵션을 주지않는 다면, test.c 만 파일이름으로
간주하고 패치를 시도합니다.

보통의 경우, 소스 디렉토리 전체를 백업해두고
(cp -rf /home/dcpark/package /home/dcpark/package.orig)
소스(예: /home/dcpark/package/src/test.c)를 수정해서
패치파일을 만들기때문에
(diff -uNr package.orig package > patch.diff)...
패치할 소스 패키지의 루트디렉토리에서
-p1 을 사용하여 패치를 하는 것입니다.
(cd /home/dcpark/package/ && pach -p1 < where/patch.diff)




[Linux] How many files to be contain in Linux file system?


유용한 정보를 찾았습니다. 특히 디렉터리내에 생성가능한 파일의 개수는 참조하면 좋을 것 같습니다.

참조: http://serna.tistory.com/7

1. ext(ext1)

ext는 ext1으로도 불리며, 리눅스 운영 체제를 목표로 만들어진 첫 번째 파일 시스템입니다. Extended File System을 줄여 extfs 또는 ext로 씁니다. ext는 Rémy Card가 MFS(MINIX File System)의 한계를 극복하기 위해 만들었으며, 1992년 4월에 구현되어 Linux 0.96c에 추가되었습니다.
MFS는 파일 시스템의 최대 크기가 64MB였지만, ext에서는 2GB로 늘어나며, 파일 이름 최대 길이도 MFS는 14byte[각주:1] 또는 30byte였지만 ext는 255byte까지 지원합니다. 하지만 분리 접근, 아이노드(inode) 수정, 자료 수정 타임스탬프[각주:2] 등의 기능을 지원하지 않으며, 프리 블록과 아이노드의 트랙을 다루기 위해 연결 리스트를 사용했기 때문에 사용하면 할수록 리스트가 뒤죽박죽이 되고 파일 시스템이 조각화된다는 단점이 있었습니다.

참고 자료
http://e2fsprogs.sourceforge.net/ext2intro.html

2. ext2

ext2는 Rémy Card가 1993년 1월에 알파 버전을 공개한 파일 시스템입니다. 정식 이름은 Second Extended File System입니다. 이 파일 시스템은 ext의 문제를 해결하기 위해 나온 파일 시스템입니다.
ext2 파일 시스템은 ext 파일 시스템 코드를 바탕으로 했으며, 많은 재구성과 개선이 있었습니다. ext2 파일 시스템은 나중에 있을 개선도 고려해 만들어진 파일 시스템이었습니다. ext2 파일 시스템은 점점 많이 쓰이게 되면서 버그도 고쳐지고 계속해서 새로운 기능이 추가되어, 현재 아주 안정한 파일 시스템이 되었습니다.
ext2 파일 시스템은 255자까지의 긴 파일 이름을 지원합니다. ext2 파일 시스템은 세 타임 스탬프[각주:3]를 지원하며, 확장이 쉽습니다. 그리고 ext에 있었던 여러 단점(분리 접근, 아이노트 수정 등 지원 안 함)도 개선되었습니다. 파일 시스템의 최대 크기는 블록 사이즈에 따라 2 TiB ~ 32 TiB이며, 서브 디렉토리 개수 제한은 32768개입니다.

Block 크기 파일 크기 제한 파일 시스템 크기 제한
 1 KiB  16448 MiB (약 16 GiB)
 2048 GiB (2 TiB)
 2 KiB
 256 GiB
 8192 GiB (8 TiB)
 4 KiB
 2048 GiB (2 TiB)
 16384 GiB (16 TiB)
 8 KiB
 65568 GiB (약 64 TiB)
 32768 GiB (32 TiB)

참고 자료
http://e2fsprogs.sourceforge.net/ext2intro.html
http://linuxreviews.org/sysadmin/filesystems

3. ext3

ext3는 Stephan Tweedie가 개발하여 2001년 11월에 Linux 2.4.15에 추가되었습니다. ext2에 저널링, 온라인 파일 시스템 증대, 큰 디렉토리를 위한 HTree[각주:4] 인덱싱 등의 기능이 추가되었습니다. ext3 파일 시스템은 ext2 파일 시스템을 바탕으로 만들었기 때문에, ext2 파일 시스템을 자료 손실 없이 ext3 파일 시스템으로 바꿀 수 있습니다.
저널링은 주 파일 시스템을 수정하기 전에 저널에 수정 사항을 먼저 기록해 놓습니다. 이렇게 함으로써, 전원이 갑자기 나가거나 시스템 충돌이 일어났을 때 데이터 손실 가능성을 줄일 수 있습니다.
ext3 파일 시스템은 ext2 파일 시스템과의 호환을 목표로 설계되었기 때문에 많은 구조가 ext2 파일 시스템과 비슷합니다. 그래서 아이노드의 동적 할당, 다양한 블록 크기 등과 같은 기능이 부족합니다. 또한 extends 기능도 지원하지 않습니다. 또 다른 ext3의 단점은 온라인 조각모음 프로그램이 없다는 것입니다. 오프라인 조각모음 프로그램이 있기는 하지만, 이를 사용하기 위해서는 ext2 파일 시스템으로 변환시켜야 하며, ext3에서 ext2로 변환 후 조각모음을 하면 조각모음 프로그램이 ext3의 새로 추가된 기능을 인식하지 못해 자료가 손상될 수 있습니다. ext3가 조각모음이 필요 없다는 주장이 있는데, FAT 시스템보다는 덜 조각화되기는 하지만 계속된 사용으로 인해 ext3도 조각화 될 수 있습니다. 이는 ext4에서 다시 조각모음 프로그램이 만들어지는 계기가 됩니다. ext3 파일 시스템은 또한 저널링을 할 때 체크섬을 검사하지 않습니다.
한 디렉토리 당 서브 디렉토리 개수 제한은 31998개입니다.

Block 크기 최대 파일 크기 최대 파일 시스템 크기
 1 KiB  16 GiB
 < 2 TiB
 2 KiB
 256 GiB
 < 4 TiB
 4 KiB  2 TiB  < 8 TiB
 8 KiB  2 TiB  < 16 TiB

4. ext4

ext4는 Mingming Cao, Andreas Dilger, Alex Tomas, Dave Kleikamp, Theodore Ts'o, Eric Sandeen, Sam Naghshineh와 그 외 여러 사람에 의해 ext3를 바탕으로 하여 개발되었습니다. 2006년 8월 10일 리눅스 2.6.19에서 Unstable 버전이 공개되었으며, 2008년 8월 21일에 Stable 버전이 공개되었습니다. 주요 특징은 다음과 같습니다.

(1) 큰 파일 시스템
1 EB[각주:5]까지의 볼륨과 16 TB까지의 파일을 지원합니다.
(2) Extents
ext2, ext3의 block mapping 방식 대신 extends 방식을 새로 사용합니다. 이는 큰 파일 처리를 개선하고 조각화 현상을 줄여줍니다.
(3) 호환성
ext2, ext3를 ext4 방식으로 마운트하여 성능이 향상된 상태로 사용할 수 있으며, ext4는 ext3 방식으로 마운트될 수 있습니다. 그러나 extends를 사용하는 ext4 파티션은 ext3 방식으로 마운트 될 수 없습니다.
(4) 저널 체크섬
ext3 파일 시스템에 없었던 저널 체크섬 기능이 추가됨으로써, 파일 시스템 손상 가능성이 더 줄어들었습니다.
(5) 32000개 서브 디렉토리 제한이 깨짐
서브 디렉토리 개수 제한이 32000개에서 64000개로 늘어납니다.
(6) 온라인 조각모음
ext4는 ext3에서 지원하지 않았던 온라인 조각모음을 지원할 수 있습니다.
(7) 빠른 파일 시스템 검사
ext4는 디스크 검사를 할 때 사용하지 않는 부분은 건너뜀으로써 시스템 검사를 빨리 할 수 있습니다.
(8) 파일스탬프 향상
타임스탬프가 초 단위가 아닌 나노초 단위로 재어지며, ext2, ext3에서는 1901년 12월 14일 ~ 2038년 1월 18일을 지원했지만 ext4에서는 1901년 12월 14일 ~ 2514년 4월 25일을 지원합니다.
(9) 영속적 선행 할당
디스크 공간을 프로그램이 실제로 사용하기 전에 할당해야 한다면 대부분의 파일 시스템은 아직 사용하지 않은 공간에 0을 기록함으로써 선행 할당을 하지만, ext4는 이렇게 하지 않고도 선행 할당을 할 수 있습니다.
(10) 지연 할당
ext4는 디스크 공간 할당을 마지막까지 지연하므로 성능이 향상됩니다.
(11) 그 외
Multiblock allocator, 파일 복구 기능 추후 구현 가능성

참고

1 KiB = 1024 byte, 1 MiB = 1024 KiB, 1 GiB = 1024 MiB, 1 TiB = 1024 GiB, 1 PiB = 1024 TiB, 1 EiB = 1024 PiB
1 MB는 1000 KB로 쓰이기도 하고 1024 KB로 쓰이기도 합니다. KB, GB, TB, PB, EB 등의 단위도 마찬가지이기 때문에 KiB, MiB, GiB, TiB, PiB, EiB 등의 단위를 주로 사용했습니다.
이 단위에 대해 더 자세한 정보를 알고 싶으시면 위키백과(키비바이트, 메비바이트, 이진 접두어)를 참조해 주세요.
  1. 0.99p7 전의 커널은 이것만 지원합니다. [본문으로]
  2. 파일을 수정된 날짜, 파일에 접근한 날짜 등을 기록하는 것 [본문으로]
  3. 수정(mtime), 속성 수정(ctime), 접근(atime) [본문으로]
  4. B-tree의 변형 [본문으로]
  5. 1 EB = 1024 PB = 1048576 TB [본문으로]

Ready's Additional :
위 설명에 보면 각각의 파일시스템에서 디렉토리당 생성가능한 파일의 개수가 나오는데, 파일/디렉토리의 개수 = inode개수이다. 파일시스템의 파일의 개수가 inode의 사용량인 것이다. 아래와 같이 확인해 보았다
$ df -i               # 디스크의 i노드 확인
파일시스템            I노드   I사용됨 I미사용 I사용율% 마운트 됨
/dev/sda2             625856  257086  368770   42% /
tmpfs                 218730       3  218727    1% /lib/init/rw
varrun                218730      62  218668    1% /var/run
varlock               218730       2  218728    1% /var/lock
udev                  218730    1610  217120    1% /dev
tmpfs                 218730       2  218728    1% /dev/shm
/dev/sda5            2444624    7784 2436840    1% /home
/dev/sda6            2031616      98 2031518    1% /home2
/dev내 파일 개수를 확인해 보았다

$ cd /dev
$ find .  -print |wc -l
1612
dev/ 내 포함된 디렉토리 2개를 제외하고 파일의 개수는 동일하다.

최대 파일개수를 분할된 파티션의 용량에 따라 나누고 계산해 봐야하지만.. 알아서들..(쿨럭)

참고로, JFS, XFS의 경우 inode의 수가 제한이 없다고 한다.




[Linux] Ghost for Linux - g4l

TechNote/Linux 2009. 6. 16. 10:23 Posted by harim~♥
원문 : http://www.linux.co.kr/home/lecture/?leccode=10722


Ghost for Linux

squirrelmail로고

프로그램명

Ghost for Linux

리뷰버전

g4l-v0.21

운영체제

POSIX(Linux)

라이센스 GPL
홈페이지

ftp://fedoragcc.dyndns.org/

제작(자)사

Frank

작성자

수퍼유저코리아 서버팀http://www.superuser.co.kr

 
  • 소개 및 작동원리
  • top

    Ghost for Linux(이하 'g4l')은 "Norton Ghost"(c) Symantec과 유사한 하드디스크와 파티션 이미지을 클로닝 툴이다.


    g4l은 사용자편의를 위해 bootable CD image 패키지를 지원한다.

    g4l을 이용하여 생성한 이미지는 로컬 하드디스크 드라이버 또는 원격 FTP서버에 압축파일로 존재한다면, 간단한 조작 클릭만으로 복원 및 이미지화가 가능하다.

    g4l의 특징은 2GB이상을 쓰기 할 수 없는 파일시스템을 위해 파일 분할저장이 가능한 기능을 제공한다.

    g4l사용의 편의성을 위행 제공하는 bootable CD image는 커널단에서 ATA, serial-ATA 그리고 SCSI 드라이버 지원 및 네트웍 카드를 지원하므로 디스크 이미지화 및 저장이 용이하다는 장점이 있다.


  • 특징 및 역사
  • top

    - Bootable CD image 패키지를 지원

    Bootable CD image의 리눅스 커널은 ATA, serial-ATA 그리고 SCSI 및 네트웍 카드를 지원하므로, 디스크 이미지화 및 저장이 용이하다.

    - 이미지 저장을 위한 저장장소는 로컬 하드디스크 드라이버 또는 원격 FTP서버에 저장이 가능하며, 간단한 조작만으로 복원 및 이미지화가 가능하다.

    - 2GB이상을 쓰기를 할 수 없는 파일시스템에서는 파일 분할저장이 기능을 통해 이미지를 저장할 수 있다.

    - 인터페이스가 간단하여 몇 번의 조작만으로 쉽게 사용법을 익힐 수 있다.


  • 사용방법
  • top

    - Ghost for Linux의 사용용도는 앞에서도 설명한 하드디스크와 파티션 이미지을 클로닝 하는 것이다.

    - 클로닝한 이미지를 이용하여 동일 사양의 동일 서버 셋팅을 할 수 있다.

    그리고 또한 서버의 OS와 기타 설정한 프로그램들을 다시 방법 설치 없이 동일 서버에 설정할 수도 있다. 이는 서버를 빠른 시간내 복구해야 할 경우 유용하게 사용할 수 있다.

    기타 다양한 방법으로 사용자 편의를 위해 사용할 수 있으니 방법은 각자가 고민 해보기 바란다.


    Bootable CD로 부팅을 한다. 부팅 후 Ghost for linux의 'g4l' 명령어를 실행한다.

    위 기본 실행화면에서는 yes 버튼을 눌러 다음단계인 MAIN MENU로 넘어간다.

    MAIN MENU에서 이용하고자 하는 메뉴를 선택한다.

    참고로 고스트를 이용한 기본환경은 보통 로컬 서버에 저장된 이미지 파일을 이용하므로 여기서는 “File Mode"를 선택한다. 그 외 각 옵션들은 개인적으로 연습해보길 바란다.

    File Mode에서는 시스템에서는 이미지를 생성하기 위해서는 Select partition을 선택하여 각 파티션별 이미지를 받아 낼수 있고, 복원을 위해서는 Launch client(로컬 시스템 모드로 마운트)선택하여 이미지를 Restore한다.

    위 그림에서 설명한 것처럼 각각의 설정에 알맞은 설정 및 선택 후 키보드의“F5”를 선택하면 Target 파티션에 이미지를 설치 진행된다.

    주의) 설치가 진행중 팝업 창으로 Error 라는 문구가 뜨는 것은 단순 Warning 문구이며 OK 버튼을 눌러 다음 단계로 넘어가면 된다.


     

    Partimage 사용법<Linux용 Ghost 만들기>


    0. 리눅스를 인스톨 할때 하드가 sda일때 sda1, sda2, sda3 등과 같이 파티션 하지 말고,

       sda1만 ext3 포맷으로 만들어서 어서 LinuxOS를 인스톨해야 한다.

       여러 파티션을 만들어도 될 수도 있으나 필자는 한개만 만들어서 실험을 해 보았다.



    1. 아래 사이트에서 PartImage ISO를 받는다.

       http://www.partimage.org/Download

       Stable:  Bootable CD-Rom image with Partition Image 0.6.4: 

        "SystemRescueCd (122 MB)" 이것을 받아 cd로 만든다.

       위에서 ISO 찾기가 어려 우신 분들을 위해 아래 사이트에서 바로 받는다.     http://downloads.sourceforge.net/systemrescuecd/systemrescuecd-x86-0.3.4.iso?modtime=1174423433&big_mirror=1

     

          partimage 메뉴얼

         http://www.partimage.org/Doc/index-4.html

     

    ## 리눅스 고스트 만들기(backup)

    * 우선 리눅스 서버에 하드를 2개 장착해 놓는다.

       한개는 리눅스OS용이고, 또 하나는 PARTIMAGE로 만든 고스트파일을 저장해 놓는

       하드이다.

       필자는 sda중에 sda1에 리눅스를 깔아 놓았고, hda에는 만드는 partimage 고스트를 파

       일를 저장할 것이다. 

    0. 위의 ISO 파일을 CD로 만든다.

    1. 만든 부팅용 CD를 넣고, 부팅 한다.

    2. 질문이 나오면 모두 엔터를 누른다.

    3. PartImage용 리눅스 OS가 부팅이 된다.

    4. 고스트 이미지를 저장할 하드가 /dev/hda 이면 아래와 같이 마운트 한다.

       %> cd /mnt

       %> mkdir backup

       %> mount -t ext3 /dev/hda /mnt/backup

    5. partimage를 실행한다.

       %> partimage

           

          Partition to save/restore: 고스트를 만들 디바이스(하드디스크파티션)

          Image file to create/use : 고스트를 저장할 디바이스 및 파일이름

                                    /mnt/backup/linux-redhat.partimage.tar

          Action to be done: Save partition into new image file 선택

          Connect to server: 네트워크를 이용해서 고스트 파일 저장(본 설명에서 사용안함)

         위와 같이 설정하고 F5 키를 누른다.

       

         

      Compression level : 압축포맷, 여기서는 None을 선택한다.<최고스피드>

      Options : Enter description 만 선택

      Image split mode : Automatic split 선택

    F5키를 누른다.

    You can enter a description of the saved partition: sda1

    <ok>


    <ok>

    고스트라 만들어지는 과정이 보인다.





    ## 리눅스 고스트 복원(restore)

       

        Partition to save/restore: 고스트를 restore할 디바이스(하드디스크파티션)

        Image file to create/use: 고스트 파일이 저장된 곳 및 파일이름

                                    /mnt/backup/linux-redhat.partimage.tar.000<시작번호>

        Action to be done: Restore partition from an image file

        Connect to server: 네트워크를 이용해서 고스트 파일 저장(본 설명에서 사용안함)

       위와 같이 설정하고 F5 키를 누른다.


       

      <F5>


    <yes>

    restore 가 진행된다.. <시간이 조금 오래 걸린다>


    위도우즈에 사용되는 노턴고스트보다 시간은 많이 걸린다.

    노턴고스트도 그렇듯이 일단 os를 이미지로 만들어 놓으면 아주 많은 편리 하게 된다.

    특히 리눅스 서버는 설정할것이 많은데 이를 해결 할수 있다.

    1. 삼바설정,

    2, ftp서버 설정,

    3, telnet서버 설정

    4. 제로보드설정

    5, fax서버 설정

    6. mysql 설정

    7. 한글깨지는것 설정,

    8. php 설정,

    9, crond 설정

    10, php가속기 설정

    11. 등등 ......



    출처: http://www.MADIXON.COM 

    알아두어야할사항>

     1.  리눅스의 boot 부분은 복구가 않됩니다. hdd가 완전히 망가졋을 경우 linux(백업한리눅스버젼이일치하는것으로) 를 다시 인스톨해야합니다. 아주 기초적인것만 인스톨하면 됩니다. 대략 5분정도도 안걸립니다.


     2. sata(sda..) 하드를 이미지backup 한후 pata(hda...) 하드에 restore하면 않됩니다.

     위의 내용만 주의하면 완전100% 복구 됩니다..