우분투 서버에 패치 파일 적용

우분투 서버에 패치 파일 적용

우분투 서버 커널에 패치 파일을 적용하는 방법을 설명해 줄 수 있는 사람이 있습니까? 신청하려고 해요이것tcp_collapse_max_bytes우분투 서버의 TCP 통신 옵션에서 옵션을 활성화하는 패치 파일입니다 . 나는 팔로우한다이것답변을 듣고 신청을 시도했지만 .patch동일한 오류가 발생했습니다.

내 단계는 다음과 같습니다. 먼저 디렉터리를 커널 소스 폴더로 변경합니다.

cd /usr/src/linux-headers-5.15.0-58-generic

그런 다음 명령을 실행합니다.patch -p0 ~/file.patch

그런데 아래와 같은 메시지가 나오며 패치할 파일을 입력하라는 메시지가 계속 나타납니다.

can't find file to patch at input line 44
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
...
...
File to patch: 

잘못된 디렉토리에서 작업하고 있는 것 같지만 잘 모르겠습니다.

답변1

소스코드를 다운로드하고, 다운로드한 소스코드를 패치해야 한다는 것을 알게 되었습니다. 어떤 이유에서인지 잘 이해가 되지 않습니다. 이 코드는 /usr/src/공식 Linux의 정확한 코드가 아닙니다. (내 VPS 제공업체가 이를 수정했을 수도 있습니다). 나는 팔로우한다이것들단계를 따른 후 패치를 적용하고 코드를 다운로드한 후 커널을 컴파일하고 설치합니다.

그래서 다음 단계가 도움이 되었습니다.

  1. 예를 들어 공식 웹사이트에서 해당 Linux 커널 소스 코드를 다운로드합니다.kernel.org

  2. 커널의 압축을 풀고 디렉토리를 변경합니다.cd linux-5.15.**

  3. 패치 적용patch -p1 < path/to/patch/0014-add-a-sysctl-to-enable-disable-tcp_collapse-logic.patch

  4. 패치된 커널을 컴파일하고 설치합니다. 배포판에 따라 이 단계는 약간 다를 수 있으며 일부 종속성이 필요할 수도 있습니다. 그러나 일반적으로 다음 명령이 관련됩니다.

make menuconfig

make

4단계는 Linux 배포판에 따라 다를 수 있으며 커널을 컴파일하고 설치하려면 일부 추가 패키지를 설치해야 할 수도 있습니다.

관련 정보