ies4linux를 사용중에 ie6의 불안정함과 여러가지 자잘한 불편함으로 인해 고생하던 중 채널 지인의 도움으로 패치를 진행하게 되었다.
kernel32.patch인데 이 패치의 효과는 다음과 같다고 한다.
이번 작업을 통해 개인적으로 패키지에 패치를 적용하여 패키지를 다시 빌드하는 방법을 새로이 알게 되었다.
그럼 패치를 적용해 보자.
1. 패치다운로드
: 원래 링크가 어딘지 모르겠다.
2. 패키지 다운로드
: 일반유저로 apt-get source를 실행한다
다운받은 kernel32.patch 파일을 wine-1.0.1 디렉토리로 복사한 뒤 아래와 같이 진행한다
6. wine 재설치
참고 patch 에서 -pNum 옵션
출처 : http://coffeenix.net/board_print.php?bd_code=110
kernel32.patch인데 이 패치의 효과는 다음과 같다고 한다.
- 우분투에서 IE 사용시 CPU점유율이 100%로 치솟는 문제 해결
- wineserver의 메모리 누수 해결
- IE 종료 후에도 계속 프로세스에 잔류하는 문제 해결
이번 작업을 통해 개인적으로 패키지에 패치를 적용하여 패키지를 다시 빌드하는 방법을 새로이 알게 되었다.
그럼 패치를 적용해 보자.
1. 패치다운로드
: 원래 링크가 어딘지 모르겠다.
2. 패키지 다운로드
: 일반유저로 apt-get source를 실행한다
$ cd tmp3. 패키지 빌드에 필요한 패키지 설치
$ 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
$ sudo apt-get build-dep wine4. 패치
$ sudo apt-get install fakeroot fakeroot-ng
다운받은 kernel32.patch 파일을 wine-1.0.1 디렉토리로 복사한 뒤 아래와 같이 진행한다
$ patch -p1 < kernel32.patch5. 패키지 빌드(생성)
patching file dlls/kernel32/sync.c
Reversed (or previously applied) patch detected! Assume -R? [n] y 를 입력
$ 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)
'TechNote > Linux' 카테고리의 다른 글
[Linux] Linux 101 Hacks (ebook) (0) | 2009.06.26 |
---|---|
[Linux] gedit에서 CP949 인코딩 표시 (7) | 2009.06.20 |
[Linux] How many files to be contain in Linux file system? (1) | 2009.06.18 |
[Linux] Ghost for Linux - g4l (0) | 2009.06.16 |
노턴고스트와 비슷한 리눅스 고스트 만들기 partimage (0) | 2009.06.16 |