젠투에서 패키지에 패치를 적용시켜 컴파일하려면 어찌 해야하나요?

zz181321의 이미지

지금 vsftpd가 그냥은 컴파일이 안되죠.

해서 패치를 적용시켜 줘야하는데, /var/tmp/portage....에 풀리는 파일에 패치를 적용시켜도

emerge vsftpd 라고 해주면 새로 패키지를 압축 풀고 컴파일해서 안되더군요.

해서 이번엔, /usr/portage/distfiles에 있는 vsftpd-2.0.5.tar.gz를 가져다가

압축 풀고 패치 적용시키고 다시 압축하고 제자리에 넣었습니다.

emerge vsftpd 하니, 체크섬이 안맞다고 실패해 버리더군요.

그래서

/usr/portage/net-ftp/vsftpd/files에 있는digest-vsftpd-2.0.5

이걸 고쳐보기로 했습니다.

md5sum vsftpd-2.0.5.tar.gz 해서

be4f84e151ec0ad58131b26664a5b314 vsftpd-2.0.5.tar.gz

이거까지 나온건 좋았는데, rmd160과 sha250은 어떻게 사용하지는 몰라서 걍 지워버리고 시도해봤습니다.

결과는, md5는 통과지만 나머지 두개가 걸려서 새로 패키지 받고 컴파일하니 당연하다는 듯이 실패.

혼자 삽질 여까지 했는데, 힘이 빠져서 더는 머리가 안 굴러가는군요.

어찌하면 패치를 적용시킬 수 있을지 조언 부탁드립니다.

c0d3h4ck의 이미지

ebuild /usr/portage/net-ftp/vsftpd-2.0.5.ebuild digest

그리고 나서

emerge vsftpd

May the F/OSS be with you..

lesejong의 이미지

emerge 하고
ebuild 하고 무슨 차이가 있는건가요? 저는 ebuild는 한번도 써보진 않았지만
emerge 가 내부적으로 ebuild를 사용하는 거 같긴하던데요.

초보입니다만.. 그냥 메뉴얼대로 따라하는 것은 좀 한계가 있네요.
간단하게 명령어 및 인자에 대한 설명도 첨부해 주시면 오래오래 잊혀지지
않을텐데요.. 감사합니다.

only2sea의 이미지

네, 내부적으로 emerge가 ebuild를 사용하는 것이 맞습니다. ebuild는 로우레벨이라서 사용자가 직접 사용하기엔 emerge가 더 편합니다. ebuild는 직접적으로 하고 emerge는 간접적으로 한다고 생각하시면 되겠네요. 참고로 emerge --digest 패키지이름 이렇게 하면 ebuild안 쓰고도 위와 비슷한 일을 할 수 있습니다.

제가 주로 많이 쓰는 emerge인자들은 실제로 해 보지 않고 할 작업을 보여주는 -p, 이것을 보여주고 할지 안 할지 묻는 -a, 상세한 정보를 볼 때 쓰는 -v, 패키지 이름으로 찾을 때 쓰는 -s, 패키지 설명에서 찾을 때 쓰는 --searchdesc, 패키지를 업데이트할 때 쓰는 -u, 의존성 깊게 업데이트 할 때 -D를 더 붙여서 -uD, 새로운 USE flag 적용할 때 -N을 더 붙여서 쓰고, 패키지 지울 때 쓰는 -C, 의존성 안 걸린 것들을 모두 찾아서 지울 때 쓰는 --depclean 이정도입니다. 여기서 --depclean은 사용시 주의해 주세요. 삭제하는 것은 반드시 -a 옵션을 같이 넣어서 해 주세요.

portage 시스템에 대한 설명은 http://www.gentoo.org/doc/en/?catid=gentoo 를 참고하시면 많은 내용이 있습니다. 한번 읽어보시면 많은 도움이 되실 겁니다.

이제는 서명에 무엇을 써야하는지 생각해보자.

zz181321의 이미지

감사합니다! 됐군요 ㅠ_ㅠ

송효진의 이미지

mkdir -p /usr/local/portage/net-ftp
echo PORTDIR_OVERLAY="/usr/local/portage" >> /etc/make.conf

cp -Rp /usr/portage/net-ftp/vsftpd /usr/local/portage/net-ftp/
mv patchfile /usr/local/portage/net-ftp/vsftpd/files/

vi /usr/local/portage/net-ftp/vsftpd/vsftpd-2.0.4-r1.ebuild

src_unpack() {
    unpack "${A}"
    cd "${S}"
+   epatch ${FILESDIR}/patchfile || die

ebuild /usr/local/portage/net-ftp/vsftpd/vsftpd-2.0.4-r1.ebuild digest

emerge vsftpd

이걸 보고 메뉴얼을 보세요.

emerge money

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.