5장. 데비안 시스템에서 가능한 소프트웨어

# 5장. 데비안 시스템에서 가능한 소프트웨어

## 5.1. 무슨 형식 응용프로그램과 개발 소프트웨어가 Debian GNU/Linux에서 가능한가요?

대부분의 배포판처럼, Debian GNU/Linux가 제공하는 것:

- 소프트웨어 개발, 파일 조작 및 텍스트 처리를 위한 주요 GNU 프로그램, gcc, g++, make, texinfo, Emacs, bash shell 및 수많은 업그레이드된 유닉스 유틸리티,

- Perl, Python, Tcl/Tk 및 다양한 관련 프로그램, 모듈 및 라이브러리,

- TeX (LaTeX) 및 Lyx, dvips, Ghostscript,

- 리눅스용 네트워크 그래픽 사용자 인터페이스를 제공하는 Xorg 윈도우 시스템 및 GNOME, KDE 및 Xfce 데스크톱 환경이 들어있는 수많은 X 응용프로그램,

- 전체 네트워크 프로그램 제품군. HTTP(WWW), FTP, NNTP(뉴스), SMTP 및 POP(메일), DNS(네임 서버)와 같은 인터넷 프로토콜용 서버가 들어있다, PostgreSQL, MySQL와 같은 관계형 데이터베이스, 또한 다양한 Mozilla 제품이 들어있는 웹 브라우저,

- 전체 오피스 프로그램 세트, LibreOffice 생산성 제품군, Gnumeric 및 기타 스프레드시트, WYSIWYG 편집기, 캘린더.

뉴스 서버 및 리더에서 사운드 지원, 팩스 프로그램, 데이터베이스 및 스프레드시트 프로그램, 이미지 처리 프로그램, 통신, 넷 및 메일 유틸리티, 웹 서버, 심지어 햄 라디오 프로그램에 이르기까지 63879 개 이상의 패키지가 배포판에 있습니다. 다른 1082 개 소프트웨어 제품군은 데비안 패키지로 사용할 수 있지만, 라이선스 제한으로 인해 데비안의 정식 부분은 아닙니다.

## 5.2. 누가 저 모든 소프트웨어를 만들었나요?

각 패키지마다 프로그램 저자가 `/usr/share/doc/PACKAGE/copyright` 파일에 인정됩니다.여기서 PACKAGE는 패키지 이름.

소프트웨어를 Debian GNU/Linux 시스템용으로 패키지하는메인테이너 목록은 각 패키지에 함께 제공하는 데비안 control 파일(7.4절. “데비안 control 파일은 무엇인가요?” 참조)에 있습니다. 데비안 changelog `/usr/share/doc/PACKAGE/changelog.Debian.gz`에는 데비안 패키징 작업을 한 사람도 언급합니다.

## 5.3. 데비안용으로 패키징된 프로그램 현재 목록을 어떻게 얻나요?

데미안 미러 완전한 목록이 `indices/Maintainers`에 있습니다. 이 파일에는 패키지 이름 및 각 메인터이너 이름 및 전자메일이 있습니다.

데비안 패키지 WWW 인터페이스는 데비안 아카이브의 약 30개 "섹션" 각각에 있는 패키지를 편리하게 요약합니다.

## 5.4. 개발자 환경을 패키지 빌드에 어떻게 설치하나요?

데비안 시스템에서 패키지를 빌드하려면 C/C++ 컴파일러와 기타 필수 패키지가 들어있는 기본 개발 환경이 필요합니다. 이 환경을 설치하려면 `build-essential` 을 설치하기만 하면 됩니다. 이것은 데비안 패키지를 빌드 하는 데 필요한 표준 개발 도구에 의존하는 메타 패키지 또는 자리 표시자 패키지입니다.

그러나, 일부 소프트웨어는 라이브러리 헤더 또는 autoconf 또는 gettext 같은 추가 도구가 들어있어서 재구축할 추가 소프트웨어가 필요할 수 있습니다 . 데비안은 다른 소프트웨어를 데비안 패키지로 구축하는 데 필요한 많은 도구를 제공합니다.

그러나 데비안 패키지를 재구축할 계획이 아니라면 정확히 어떤 소프트웨어가 필요한지 찾는 것이 까다로울 수 있습니다. 이 마지막 작업은 공식 패키지에 추가 소프트웨어 목록이 (`build-essential` 옆에) 들어가야 하므로 수행하기가 다소 쉽습니다. 이는 `Build-Dependencies`로 알려져있습니다. 주어진 소스 패키지를 빌드하는 데 필요한 모든 패키지를 설치한 다음 해당 소스 패키지를 빌드하려면 실행할 명령:

    # apt-get build-dep foo
    # apt-get source --build foo

데비안에서 배포하는 리눅스 커널을 빌드하려면 `kernel-package` 도 설치해야 합니다. 더 많은 정보는 10.2절. “커스텀 커널을 빌드하려고 데비안이 제공하는 도구는 무엇인가요?” 참조.

## 5.5. Debian GNU/Linux에서 빠진 것은 무엇인가요?

데비안용으로 패키징해야 하는 패키지 목록 Work-Needing and Prospective Packages list이 있습니다.

더 자세한 정보는 13장. 데비안 프로젝트에 기여하기 참조.

## 5.6. 프로그램을 컴파일 할 때 "ld: cannot find -lfoo"가 왜 나오나요? 왜 libfoo.so 파일이 데비안 라이브러리 패키지 안에 없나요?

데비안 정책은 그러한 심볼릭 링크(libfoo.so.xyz 또는 이와 유사한 링크)를 별도의 개발 패키지에 배치할 것을 요구합니다. 이러한 패키지의 이름은 일반적으로 libfoo-dev 또는 libfooX-dev입니다(라이브러리 패키지의 이름은 libfooX이고 X는 정수라고 가정).

## 5.7. (어떻게) 데비안이 Java를 지원하나요?

Java 개발 키트와 런타임 환경을 모두 제공하는 Java 기술의 여러 가지 자유 구현을 데비안 패키지로 제공합니다. 데비안을 사용하여 Java 프로그램을 만들고, 디버깅 및 실행할 수 있습니다.

Java 애플릿을 실행하려면 이를 인식하고 실행할 수 있는 기능이 있는 웹 브라우저가 필요합니다. Mozilla 또는 Konqueror와 같이 데비안에서 사용할 수 있는 여러 웹 브라우저는 내부에서 Java 애플릿을 실행할 수 있는 Java 플러그인을 지원합니다.

더 많은 정보 데비안 Java FAQ 참조.

## 5.8. 어떻게 내가 사용하는 시스템이 데비안인지, 몇 버전인지 아나요?

시스템이 실제 데비안 기본 디스크에서 설치되었는지 확인하려면

    lsb_release -a

명령. 배포판 이름(배포자 ID 필드)과 시스템 버전(릴리스 및 코드 이름 필드)이 표시됩니다. 다음은 데비안 시스템에서 실행한 예입니다:

    $ lsb_release -a
    No LSB modules are available.
    Distributor ID: Debian
    Description:    Debian GNU/Linux 7.4 (wheezy)
    Release:    7.4
    Codename:   wheezy

`/etc/debian_version` 파일의 존재로 확인할 수도 있는데, 여기에 `base-files` 패키지에서 정의된 단순한 한 줄 항목이 릴리스 번호를 제공합니다.

그러나, 사용자는 데비안 시스템이 많은 부분으로 구성되어 있으며 각 부분은 (거의) 독립적으로 업데이트될 수 있음을 알아야 합니다. 각 데비안 "릴리스"에는 잘 정의되고 변경되지 않는 내용이 들어 있습니다. 업데이트는 별도로 가능합니다. `foo` 패키지의 설치 상태를 한 줄로 설명하려면 `dpkg --list foo` 명령을 사용하십시오. 더 자세한 설명을 보려면:

    dpkg --status foo

설치된 모든 패키지를 보려면 실행할 것:

    dpkg -l

`dpkg` 프로그램이 있으면 시스템에 데비안 패키지를 설치할 수 있어야 합니다. 그러나, 프로그램이 많은 다른 운영 체제와 아키텍처로 포팅되었기 때문에, 이것은 시스템이 Debian GNU/Linux인지 여부를 결정하는 신뢰할 수 있는 방법은 아닙니다.

## 5.9. 데비안은 영어 아닌 언어를 어떻게 지원하나요?

- Debian GNU/Linux는 거의 24개의 키보드용 키맵을 갖고, 테이블을 설치, 보기 및 수정하는 유틸리티( `kbd` 패키지 안에)를 배포합니다.

  설치 과정에서 사용자에게 사용할 키보드를 지정하라는 메시지가 나옵니다.

- 데비안의 거의 모든 소프트웨어는 UTF-8을 문자 집합으로 지원합니다. ISO-8859-1 또는 ISO-8859-2와 같은 레거시 문자 집합은 더 이상 사용되지 않는 것으로 간주해야 합니다.

- 현재 독일어, 스페인어, 프랑스어, 헝가리어, 이탈리아어, 일본어, 한국어, 네덜란드어, 폴란드어, 포르투갈어, 러시아어, 튀르키예어 및 중국어 매뉴얼 페이지가 `manpages-LANG` 패키지(여기서 LANG은 ISO 2글자 나라 코드)를 통해 제공됩니다. NLS 매뉴얼 페이지에 액세스하려면 셸 LC_MESAGES 변수를 적절한 문자열로 설정해야 합니다.

  예를 들어 이탈리아어 설명서 페이지는 LC_MESAGES를 'italian'으로 설정해야 합니다. 그 다음 man 프로그램은 `/usr/share/man/it/`에서 이탈리아어 매뉴얼 페이지를 검색할 겁니다.

## 5.10. non-free firmware 필요한 장치를 갖고 있어요. 내가 무엇을 해야죠?

펌웨어는 전자 장치를 제어하는 내장 소프트웨어를 뜻합니다. 동작하기 위해 펌웨어를 필요로 하는 장치가 많습니다. 과거에는 펌웨어가 장치의 ROM 또는 플래시 메모리에 내장되었습니다. 그러나, 장치 초기화 과정에서 장치 드라이버가 펌웨어 이미지를 장치 RAM으로 로드해야 하는 경우가 점점 늘고 있습니다.

어떤 장치는 제대로 동작하기 위해 non-free 펌웨어가 필요할 수 있습니다. 또한, 향후 펌웨어 업데이트가 있을 수도 있습니다.

데비안 릴리스 11(bullseye) 및 이전 버전에서는 공식 이미지와 라이브 설치에 non-free 펌웨어가 들어가지 않았습니다. 데비안 12부터는 데비안이 배포할 수 있는 모든 패키징된 비자유 펌웨어 바이너리가 데비안 아카이브의 `non-free-firmware` 라 불리는 새 구성 요소로 옮겨졌습니다. 이전 데비안 릴리스에서 업그레이드하며 이 펌웨어 바이너리가 필요하다면, sources.list에 이 새로운 구성 요소가 사용되는지 확인해야 합니다:

    http://deb.debian.org/debian trixie main non-free-firmware contrib non-free

더 많은 정보는 데비안 위키의 펌웨어 정보를 참고하십시오.

## 5.11. 무선 네트워크 카드 있는데 리눅스에서 안 되네요. 무엇을 하나요?

되는 거 하나 사세요 :)

대안으로, `ndiswrapper` 를 써서 윈도용 드라이브(가지고 있다면)를 리눅스 시스템에서 쓰십시오. 더 자세한 정보는 Debian Wiki ndiswrapper page를 보십시오.

4장. 호환성 이슈 |  | 6장. 데비안 아카이브