본문 바로가기
네트워크/Linux

6. 리눅스 프로그램 & 주변장치 연결

by Testengineer 2021. 12. 18.
반응형

1. 리눅스 프로그램 설치

리눅스 시스템에서 소프트웨어를 설치하고 관리하는 방법에는 배포업체의 패키지를 설치하거나 소스코드를 컴파일하는 것이 있다. 일반적으로 리눅스는 데비안 계열과 레드햇 계열로 나뉜다.
데비안 계열
- 배포업체 : Debian, Ubuntu, Xandros, Linspire
- 패키지 툴: dpkg, apt-get, aptitude
레드햇 계열
- 배포업체 : Fedora, CentOS, openSUSE, mandirva
- 패키지 툴: rmp, yum

RPM(RedHat Package MAnager)
레드햇사에서 만들어낸 패키지 관리 툴이다. 새로운 패키지를 설치하거나 업그레이드, 삭제 시 사용한다. Windows의 setup.exe와 유사하게 만든 프로그램이다. 레드햇 계열의 패키지 파일 확장명은 *.rpm이다.
rpm [옵션] 패키지명

옵션 설명
-i 새로운 패키지를 설치
-h 패키지를 풀때 해시(#)마크 표시
-U 기존의 패키지를 업그레이드
-e 패키지를 제거(= --erase)
-q 패키지 설치 여부 확인
-f <파일> <파일>을 포함하는 패키지에 대하여 질문을 수행
-F -f와 같지만 파일 이름을 표준 입력에서 읽음
-v 진행과정을 메시지로 표시
-vv 메시지를 상세히 명시
--nodeps 의존성 관계를 무시하고 설치
--oldpackage 구 버전으로 다운그레이드
--replacepkgs 패키지 재설치
--replacefiles 이미 설치된 다른 패키지의 파일을 덮어쓰면서라도 패키지를 강제로 설치
--force --replacepkgs, --replacefiles, --oldpackage를 모두 사용
기존에 설치된 패키지와 관계없이 강제로 설치

설치된 패키지들이 보안상 침입자에 의해 권한 획득이나 변조가 되었는지를 검사한다.

옵션 설명
-V verify의 약자로 검증할때 쓰는 기본옵션
-a 모든 패키지 검사

RPM 검증 코드

코드 기능 코드 기능
5 MD5체크섬을 변경 D 장치파일을 변경
S 파일 크기를 변경 U 파일 사용자/소유자가 변경
L 심볼릭 링크를 변경 G 파일 그룹이 변경
T 파일 수정일을 변경 M 파일보드(권한과 파일 형태)가 변경


YUM(Yellowdog Updater Modified)
네트워크를 통해 기존 RPM 패키지 파일의 업데이트 자동 수행, 새로운 패키지 설치 및 제거를 수행한다. RPM의 의존성 문제를 해결하기 위한 유틸리티이다. 인터넷 기반으로 설치하므로 네트워크가 정상 연결된 상태여야 한다. YUM은 페도라 22 버전 이후부터 YUM 문제점을 보완한 DNF로 전환되고 있다.

구분 기능
설치 yum install 패키지명 사용자에게 설치 여부를 묻는 부분이 나옴
yum groupinstall 패키지명 지정한 패키지 그룹 설치
yum -y install 패키지명 설치 여부를 묻는 질문에 yes로 간주, 자동 설치 가능
yum update 패키지명 yum install과 동일한 기능
yum localinstall 패키지명 인터넷을 통해 다운로드해서 설치하지 않고 현재 디렉터리 내의 *.rpm을 설치
삭제 yum remove 패키지명 지정한 패키지 제거
yum groupremove 패키지명 지정한 패키지 그룹 제거
확인 yum info 패키지명 패키지 요약 정보 확인
yum list 전체 패키지에 대한 정보 출력
yum grouplist 패키지 그룹 정보 출력
yum check update 패키지 중에서 업데이트가 가능한 패키지 목록 출력
yum search 문자열 해당 문자열이 포함된 패키지 검색
yum check-update 업데이트가 필요한 패키지 출력
yum history 패키지 설치,삭제 등 작업 이력 확인



dpkg
dpkg는 데비안의 저(low) 레벨 패키지 관리 툴이다. 우분투 리눅스에서 사용하는 패키지 관리 기법이다. deb 패키지의 설치, 삭제, 정보 제공을 위해 사용된다. 확장자 deb파일은 데비안 패키지 파일이다. 루트 권한으로 패키지 설치와 삭제를 할 수 있다. 패키지 설치 및 삭제 시 RPM과 같은 의존성 문제를 일으킨다.
dpkg [옵션] 패키지명.deb

옵션 기능
-i 패키지 설치
패키지들간의 의존성 문제로 정상적인 설치가 안되는 경우 발생
-r 설치된 패키지만 삭제
-P 패키지와 설정 정보 모두를 삭제
-s 패키지의 상황정보(패키지버전, 관리자, 간략설명등)을 나타냄
-L dpkg가 설치한 모든 파일 목록을 확인할 수 있음

 

2. 파일 아카이브

아카이브(archive)는 다수개의 파일이나 디렉터리를 하나의 파일로 묶는 것이다. 아카이브 파일은 다른 시스템으로 다수 개의 파일을 한 번에 전송하거나 파일 백업용으로 사용한다.
tar [옵션] 파일명

옵션 기능
c 새로운 아카이브 파일 tar 생성
x tar로 묶은 파일을 원본 파일로 복원(묶음 해제)
d 아카이브에 있는 파일과 비교
r 아카이브된 파일의 마지막 부분에 파일 추가
t 아카이브 파일 안에 있는 파일 목록 나열
u 아카이브에 있는 기존 파일보다 새로운 파일로 업데이트
f 아카이브 파일명을 지정, 생략하면 디폴트 파일명으로 저장
v 처리하고 있는 파일의 정보를 화면에 출력
z gzip으로 압축하거나 해제
j bzip2로 압축하거나 해제
P 절대 경로 정보 유지
J xz 옵션으로 압축 파일인 tar.xz에 사용
--exclude 특정 디렉터리를 제외하고 묶음

 

3. 주변장치 연결

(1) 프린트 인쇄 시스템
리눅스 프린터 인쇄 시스템으로는 LPRng(Line Printer next generation)와 CUPS(Common Unix Printing System)가 있다.
LPRng
리눅스 초기에 사용했던 인쇄 시스템, 버클리 프린팅 시스템으로 BSD 계열 유닉스에서 사용하기 위해 개발되었다. 라인 프린터 데몬 프로토콜을 사용하여 프린터 스풀링과 네트워크 프린터 서버를 지원한다. LPRng 설정 파일은 /etc/printcap이다.
CUPS
애플이 개발한 오픈 소스 프린팅 시스템, 유닉스 계열 운영체제의 시스템을 프린터 서버로 사용 가능하게 해 준다. 매킨토시나 윈도우 등 시중에 판매되는 대부분의 프린터를 지원한다. HTTP 기반의 IPP(Internet Printing Protocol)을 사용하여 프린터를 웹 기반으로 제어한다. LPRng는 515 포트, CUPS는 631 포트를 사용한다. CUPS 설정 디렉터리는 /etc/cups이다. 사용자 및 호스트 기반의 인증 제공한다.

관련 파일 기능
/etc/cups/cupsd.conf 프린터 데몬 환경설정 파일
/etc/cups/printers.conf 프린터 큐 관련 환경 설정 파일
Ipadmin 명령을 이용하거나 웹을 통해 제어
/etc/cups/classes.conf CUPS 프린터 데몬의 클래스 설정 파일
cupsd CUPS의 프린터 데몬

(2) 사운드 카드 설치 및 설정
리눅스 환경에서의 사운드 카드 지원 시스템은 OSS, ALSA가 있다.
OSS(Open Sound System)
리눅스 및 유닉스 계열 운영체제에서 사운드를 만들고 캡처하는 인터페이스이다. 표준 유닉스 장치 시스템 콜(POSIX READ, WRITE, IOCTL 등)에 기반을 둔 것이다. 현재 리눅스 커뮤니티에서는 ALSA로 대체되었다.
ALSA(Advanced Linux Sound Architecture)
사운드 카드용 장치 드라이버를 제공하기 위한 리눅스 커널 요소이다. 1998년 jaroslav kysela에 의해 시작되었고 현재는 GPL 및 LGPL 라이선스 기반으로 배포되고 있다. 사운드 카드를 자동으로 구성하고 시스템에 여러 개의 사운드 장치를 관리하는 것이 목적이다. 환경 설정 파일은 /etc/asound.state이다.

(3) 스캐너 설치 및 설정
리눅스 환경에서의 스캐너 지원 시스템은 SANE와 XSANE이다.
SANE(Scanner Access Now Easy)
평판 스캐너, 핸드 스캐너, 비디오 캠 등 이미지 관련 하드웨어를 제어하는 API이다. GPL 라이선스, 리눅스 및 유닉스 계열, OS2, Windows도 지원한다.

SCSI 스캐너 /dev/sg0, dev/scanner로 인식
USB 스캐너 /dev/usb/scanner, /dev/usbscanner로 인식

XSANE(X based interface for the SANE)
SANE 스캐너 인터페이스를 이용하여 X-Windows 기반의 스케너 프로그램이다. GTK+ 라이브러리로 만들어졌고, X-Windows 터미널에서 xsane이라고 입력하면 실행된다. 스캐너, 디지털카메라, 디지털 캠 등 다양한 장치에서 사용 가능하다. 스캔 작업뿐만 아니라 캡처한 이미지에 수정 작업을 할 수 있다. GPL 라이선스, 리눅스 및 유닉스 계열, OS2, Windows도 지원한다.

반응형

'네트워크 > Linux' 카테고리의 다른 글

7. X-Windows  (0) 2021.12.25
5. 프로세스 관리  (0) 2021.12.11
4. Shell  (0) 2021.12.04
3. 파일 시스템 관련 명령어  (0) 2021.11.27
2. Partition & Boot Manager  (0) 2021.10.30

댓글