[질문] Linux/UNIX에서 dependency 걸려 있는 라이브러리 알아내

bizzare의 이미지

윈도우에서 어떤 프로그램(exe나 dll)을 빌드해서
배포할 때는 그 exe, dll이 필요로 하는 dll들을 보통 같이 배포해야 할 때,

depends라는 프로그램으로 관련된 dll들을 알아내지 않습니까?

그리고 일반적으로 그 파일들은 VC++에서 빌드했을 때,
MFC42.dll, MSVCRT.dll 과 같은 파일들인데요

1) Linux/Unix 등에서는 Windows의 depends 와 같이
dependency를 알아낼 수 있는 유틸리티가 있는지요?
있다면 알려주세요.

2) 만일 GCC로 빌드했다면 보통 같이 배포해야하는 파일로는 어떤 것이 있나요? (리눅스는 SUSE를 쓰고 있습니다.)

세이군의 이미지

ldd라는 명령어가 있습니다.
라이브러리의 파일명과 재배치위치로 생각되는 16진수가 출력됩니다.

2) SUSE에서 RPM으로 제공되는 라이브러리만 사용한다면 같이 배포할 파일은 없다고 생각합니다.(편의상 어떤 라이브러리를 사용했다고 하면 되긴하지만 RPM으로 패키지를 만들어서 배포한다면 그 마저도 필요없겠지요)
SUSE용 RPM으로 제공되지 않거나 tar.gz으로만 배포되는 다른 라이브러리를 사용한것이 있다면 같이 배포하거나 다운로드 주소를 포함시켜주면 됩니다.

익명 사용자의 이미지

rpm2html 이라는 프로그램을 사용해보세요.
rpm 내부 데이터를 html 과 RDF info 형식으로 만들어 줍니다.

http://savannah.nongnu.org/projects/rpm2html

간략한 설명입니다.

http://dev.w3.org/cvsweb/rpm2html/mirroring.html?rev=1.3

Packager의 문제이지만, 공유 라이브러리의 경우 rpm 설치시 의존성 체크해서 없으면 설치가 안되지만, 설치될 프로그램 내부에서 사용하는 바이너리의 경우나, Perl, Python, Ruby 등의 스크립트 기반 언어에서 사용하는 모듈의 경우에는 체크할 방법이 없습니다. 그런 이유로 Requires:에 꼭 명시를 해줘야겠죠.

익명 사용자의 이미지

rpm -q --requires package-name 하면
설치된 해당 패키지의 의존성을 확인 할 수 있습니다만,
이미 '설치된' 패키지에만 해당됩니다.

SuSE를 사용하신다면... SuSE 제공 rpm의 경우 설치하지 않더라도
YsST->Software Management에서 의존성을 확인할 수 있지만,
이미 만들어 놓은 db가 있기 때문에 가능한것으로 알고 있습니다.

익명 사용자의 이미지

저도 전부터 궁금하던 사항이었는데,
mc(Midnight Commander)를 사용하면 원하는 내용을 찾을 수가 있군요.
/INFO/REQUIRENAME 에 dependancy에 관한 내용이 있습니다.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.