리눅스 마스터 2급(리눅스 운영 및 관리)
권한 및 그룹 설정
- 리눅스 시스템은 모든 파일과 디렉터리에 접근권한과 소유권이 부여됨
- ls -l 명령어로 파일 속성을 볼 수 있음
소유권 관련 명령어
- chown
- 파일과 디렉터리의 사용자 소유권과 그룹 소유권을 변경한다
- chgrp
- 파일이나 디렉터리의 그룹 소유권을 변경한다
허가권 관련 명령어
ls -l 명령어로 파일 유형과 허가권을 알 수 있음
파일 허가권의 첫 번째 자리는 파일 유형을 기호로 정의 한다
파일은 일반 파일 디렉터리 파일 특수 파일로 나뉜다
파일 권한에는 읽기,쓰기,실행이 있다.
읽기,쓰기,실행의 접근 제한 표시는 하이픈(-)으로 나타낸다.
chmod
- 파일이나 디렉터리의 접근 허가권을 변경하는 명령어
umask
- 새로 생성되는 파일이나 디렉터리의 기본 허가권 값을 지정한다
- 파일의 기본 권한은 666, 디렉터리의 기본 권한은 777이다.
- 디폴트 권한 값에서 umask를 뺀 값을 기본 허가권으로 설정
특수 권한
- SetUID, SetGID
- 프로세스가 실행되는 동안 해당 프로세스의 root 권한을 임시로 가져오는 기능
- 프로세스가 사용자보다 높은 수준의 접근을 요구할 때 파일 접근 제한 때문에 원할한 기능을 제공할 수 없기 때문에 이러한 문제점을 해결하기 위한 방법
- 사용자가 사용할 때 SetUID는 사용자 권한으로, SetGID의 경우 그룹권한으로 파일을 실행시킨다
- Sticky bit
- 일반적으로 공용 디렉터리를 사용할 때 sticky bit를 설정하여 사용한다.
- 사용자 권한을 지정하기 어려운 프로그램들이 일시적으로 특정 디렉터리에 파일을 생성하고 삭제하도록 이용된다
- 설정된 디렉터리에는 누구든 접근 가능하고 파일을 생성할 수 있다.
- sticky bit가 설정되어 있는 디렉터리 안의 내용은 해당 파일의 소유자나 root만이 변경 가능하다
디스크 쿼터
- 파일 시스템마다 사용자나 그룹이 생성할 수 있는 파일의 용량 및 개수를 제한하는 것이다.
- 보통 블록 단위의 용량 제한과 inode[^1]의 개수를 제한한다
[^1]: inode란 파일에 대한 정보를 가지고 있는 메타 데이터이다
- 쿼터는 사용자별, 파일 시스템별로 동작된다
- 그룹 단위로도 용량을 제한할 수 있으며 웹호스팅 서비스를 하는 경우에 유용하다
디스크 쿼터 지정단계
- 파일 /etc/fstab에 디스크 쿼터 관련 설정
- 재마운팅 실행 후 확인
- 마운트 된 커터를 끄고 생성된 쿼터 파일 삭제
- 쿼터 데이터베이스 생성
- 사용자별 쿼터 지정
- 쿼터 현재 상태 점검
디스크 쿼터 관련 명령어
- quotaoff
- 쿼터 서비스 비활성화
- quotacheck
- 파일 시스템의 디스크 사용 상태를 검색
- edquota
- 편집기를 이용하여 사용자나 그룹에 디스크 사용량을 할당하는 명령어
- setquota
- 편집기가 기반이 아닌 명령행에서 직접 사용자나 그룹에 디스크 사용량을 할당하는 명령어
파일 시스템의 관리
파일 시스템의 개요와 종류
개요
- 운영체제가 파일을 시스템의 디스크상에 구성하는 방식
- 컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관 또는 조직하는 체제이다
- 하드디스크나 cd-rom 과 같은 물리적 저장소를 관리한다
- 파일 서버상의 자료로의 접근을 제공하는 방식과 가상의 형태로서 접근 수단만이 존재하는 방식도 파일 시스템의 범위에 포함된다
종류
리눅스 전용 디스크 기반 파일 시스템
Extended File System
ext
- 리눅스 초기에 사용되던 파일 시스템이며 호환성이 없음
- ext2의 원형
- 2GByte의 데이터와 파일명을 255자까지 지정가능
ext2
- 고용량 디스크 사용을 염두하고 설계된 파일 시스템
- 쉽게 호환되며 업그레이드도 쉽게 설계되어 있음
ext3
- 리눅스의 대표적인 저널링을 지원하도록 확장된 파일 시스템
- ACL(Access control list)를 통한 접근 제어 지원
ext4
- 파일에 디스크 할당시 물리적으로 연속적인 블록을 할당
- 64비트 기억 공간 제한을 없앰
- 16 TeraByte 파일을 지원
저널링 파일 시스템
- jfs
- journaling file system의 약자
- IBM 사의 독자적인 저널링 파일 시스템
- GPL로 공개하여 련재 리눅스용으로 개발
- XFS
- 고성능 저널링 시스템
- 64비트 주소를 지원하며 확장성 있는 자료 구조와 알고리즘 사용
- 데이터 읽기/쓰기 트랜잭션으로 성능 저하를 최소화
- 64비트 파일 시스템으로 큰 용량의 파일도 다룰 수 있음
- ReiserFS
- 독일의 한스 라이저가 개발한 파일 시스템
- 모든 파일 객체들을 b트리에 저장
- 간결한 색인화된 디렉터리 지원
네트워크 파일 시스템
SMB
- server message block
- 삼바 파일 시스템[^2]을 마운트 지정
- 윈도우 계열 OS 환경에서 사용되는 파일/프린터 공유 프로토콜
- 리눅스, 유닉스 계정 OS와 윈도우 OS와의 자료 및 하드웨어 공유
CIFS
- Common Internet file system
- SMB를 확장한 파일 시스템
- SMB를 기초로 응용하여 라우터를 뛰어 넘어 연결할 수 있는 프로토콜
[^2]: SMB 네트워크 프로토콜을 재구성한 자유 소프트웨어
NFS
- Network File System
- 씬마이크로파일시스템이 개발한 네트워크 공유 프로토콜
- 파일 공유 및 파일 서버로 사용됨
- 공유된 영역을 마운트할 때 지정
- 하드웨어, 운영체제 또는 네트워크 구조가 달라도 공유 가능
- NFS 서버의 특정 디렉터리를 마운트하여 사용할 수 있음
기타 지원 가능한 파일 시스템
- FAT
- windows NT가 지원하는 파일 시스템 중 가장 간단한 시스템
- FAT으로 포맷된 디스크는 클러스터 단위로 할당
- 클러스터 크기는 볼륨 크기에 따라 결정
- 읽기 전용, 숨김, 시스템 및 보관 파일 특성만 지우너
- 삼바 파일 시스템을 마운트 지정
- VFAT
- Virtual FAT
- FAT 파일 시스템이 확장된 것으로 FAT보다 제한이 적음
- 파일 이름도 최고 255자까지 만들 수 있음
- 공백이나 여러 개의 구두점도 포함
- FAT32
- SMB를 확장한 파일 시스템
- 32GB보다 큰 파티션을 만들 수 없고 파티션에 4GB를 초과하는 파일을 저장할 수 없음
- NTFS
- 윈도우에서 사용하는 파일 시스템
- 안정성이 뛰어나고 대용량 파일도 저장
- 파일 크기 및 볼륨은 이론상으로 최대 16EB이나 실질적으로는 2TB
- ISO 9660
- CD-ROM의 표준 파일 시스템
- 1988년에 재정된 푲ㄴ
- UDF
- universal disk format의 약자로 최신 파일 시스템 형식
- 광학 매체용 파일 시스템 표준
- dvd에 사용, iso 9660 대체를 위해 만들어짐
- HPFS
- OS/2의 운영체제를 위해 만들어진 파일 시스템
관련 명령어
- mount/unmount
- 마운트는 특정 디바이스를 특정 디렉터리처럼 사용하기 위해 장치와 디렉터리를 연결하는 것
- 리눅스는 PNP 기능을 지원하지만 지원하는 하드웨어가 많지 않으므로 시스템 부팅 후에 수동으로 마운트해서 사용을 하고 사용이 끝난 후에는 언마운트를 시킨다
- 파일 /etc/mtab은 현재 마운트된 블록 시스템 정보를 표시한다
- eject
- 이동식 보조기억장치 등과 같은 미디어를 해제하고 장치를 제거하는 명령어
- fdisk
- 새로운 파티션 생성, 기존 파티션의 삭제, 파티션의 타입 결정 등의 작업을 수행 할 수 있다
- 한 번에 한 디스크에 대해서만 작업을 수행 할 수 있다
- mkfs
- 리눅스 파일 시스템을 생성한다
- fdisk로 하드디스크 파티션을 나눈 후 해당 파티션에 맞는 파일 시스템을 생성
- mke2fs
- ext2,ext3,ex4 타입의 리눅스 파일 시스템을 생성하는 명령어이다
- fsck
- 파일 시스템의 무결성을 점검하고 대화식으로 복구하는 명령어
- 디렉터리 /lost+found는 fsck에서 사용하는 디렉터리
- e2fsck
- ext2 ext3 ext4 타입의 리눅스 파일 시스템을 복구하는 명령어
- du
- disk usage의 약자
- 디렉터리별로 디스크 사용량을 확인 할 수 있다.
- df
- 시스템에 마운트된 하드 디스크의 남은 용량을 확인할 때 사용하는 명령어
- 기본적으로 1024byte 블록 단위로 출력
셸 개념 및 종류
개념
- 명령어 해석기
- 로그인 할 때 실행되어 사용자 별로 사용 환경 설정을 가능하게 함
- 강력한 스크립트 언어
- 입출력 방향 재지정과 파이프 기능 제공
- 포어/백그라운드 프로세스를 실행한다
종류
- 본 셸계열과 C셸 계열로 나뉜다
- 사용자 프롬프트가 $ 이면 본 셸 계열, % 이면 C 셸 계열을 사용하고 있다는 것이다
- 대부분의 셸은 본 셸 계열의 기능을 포함하여 확대 발전한 형태이다
- C셸은 본 셸의 모든 기능과 명령어 히스토리 별명 작업 제어 기능을 추가로 가지고 있다.
셸 확인 및 변경
로그인 쉘 확인
- 파일 /etc/shell 에서 사용할 수 있는 셸들을 확인할 수 있다.
- 파일 /etc/passwd 파일에서 계쩡마다 할당된 셸을 확인 할 수 있다.
- 명령어 echo $SHELL은 현재 로그인한 사용자가 사용하고 있는 쉘을 확인할 수 있다.
쉘 변경
- 로그인 쉘 변경은 반영구적인 쉘 변경 방법으로 관리자가 쉘 변경 후 다음 변경을 하기전까지 지정된 쉘을 사용한다
- 명령어 chsh: 일반 사용자 환경에서 쉘 변경시 사용한다
- 명령어 usermod: 관리자 환경에서 지정된 계정자의 정보를 변경할 때 사용하는 명령어이다
쉘 환경 설정
환경 변수와 쉘 변수
- 근데 이거 구분이 당연한게 지연변수와 전역변수 뜻을 알면 그냥 그렇군 정도
환경 변수
- 전체 쉘에서 사용 가능한 전역 변수
- 서브 쉘에 기능 상속 가능
- 환경 변수 확인 명령 env
쉘 변수(지역 변수)
- 현재 로그인한 쉘에서만 사용 가능한 지역 변수
- 서브 쉘에 기능 상속 불가능
- 쉘 변수 확인 명령어 set
환경 설정 파일
- 쉘 시작 시 자동으로 실행되는 고유의 시작 파일이 있다.
- 이 파일은 사용자 운영환경을 설정한다
- 배쉬셀의 시작 파일은 /etc/profile, /etc/bashrc,
/.bash_profile,/.bashrc 이다. - 쉘 파일은 전역적 파일과 지역적 파일로 나뉜다
- 파일 /etc/profile.d는 몇몇 응용 프로그램들이 시작시 자동 실행할 스크립트 파일 경로를 넣어둔다.
bash shell의 주요 기능
history 기능
- 일정 개수 이상 사용했던 명령어를 .bash_history에 저장해 두고 다시 불러서 사용할 수 있게 하는 기능이다.
- 대부분의 쉘은 이전에 입력했던 명령어를 반복하거 약간 변형하여 다시 사용할 수 있도록 하는 기능이다
alias 기능
- 자주 사용하는 명령어를 특정 문자로 입력해 두고 간편하게 사용할 수 있게 하는 기능이다.
프로세스 개념 및 유형
개념
- 프로세스는 cpu와 메모리를 할당받아 실행 중인 프로그램이다
- 프로세스들마다 고유의 프로세스 ID를 할당받는다
프로세스 유형
포어그라운드 프로세스
- 사용자와 상호작용하는 프로세스
- 터미널에 직접 연결되어 입출력을 주고 받는 프로세스
- 명령 입력 후 수행 종료까지 기다려야 하는 프로세스
- 화면에서 실행되는 것이 보이는 프로세스
- 응용프로그램이나 명령어 등
백그라운드 프로세스
- 사용자와 직접적인 대화를 하지 않고 뒤에서 실행되는 프로세스
- 사용자의 입력에 관계없이 실행되는 프로세스
- 실행은 되지만 화면에 나타나지 않고 실행되는 프로세스
- 시스템 프로그램, 데몬 등
fork
- 새로운 프로세스를 만들 때 기존 픞로세스를 복제하는 방식을 사용
- 새로운 프로세스를 위한 메모리르 할당한다
- 새로 생성된 프로세스는 원래의 프로세스와 똑같은 코드를 가지고 있다.
- 원본 프로세스를 부모 프로세스라 부르고 새로 복제된 프로세스를 자식 프로세스라고 부른다
exec
- 호출하는 프로세스가 새로운 프로세스로 변경되는 방식
- 새로운 프로세스를 위한 메모리를 할당하지 않는다
- 호출한 프로세스의 메모리에 새로운 프로세스 코드를 덮어씌워버린다
데몬
- 리눅스 시스템이 부팅 시 자동으로 실행되는 백그라운드 프로세스
- 메모리에 상주하면서 사용자의 특정 요청이 오면 즉시 실행되는 대기 중이 서버프로세스이다
- 주기적으로 지속적인 서비스 요청을 처리하기 위해 사용된다
- 사용자들은 이 프로세스들을 볼 수 있는 권한이 없다.
프로세스 유틸리티
프로세스 관련 명령어
- ps
- 현재 실행중인 프로세스의 상태를 보여주는 명령어이다.
- cpu사용도가 낮은 순서로 출력된다
- pstree
- 실행 중인 프로세스들을 트리구조로 나타낸다
- jobs
- 작업이 중지된 상태, 백그라운드로 진행 중인 상태, 변경되었지만 보고되지 않은 상태 등을 표시한다
- 백그라운드로 실행중인 프로세스를 확인한다.
- [숫자]는 작업 번호이다
- 출력된 목록에서 +는 현재 작업 실행, -는 앞으로 실행될 작업을 나타낸다
- kill
- 프로세스를 종료 시킨다
- killall
- 같은 데몬의 여러 프로세서를 한 번에 종료 시킬 때 사용한다
- 프로세스 명으로 연관된 프로세스들을 종료시킨다
- nice
- 프로세스 사이의 우선순위를 확인하고 우선순위를 변경할 수 있는 명령어이다
- 조정할 수 있는 NI 값의 범위는 -20 ~19(우선 순위 높음 -> 낮음)이다
- 우선순위 0의 값을 가지며 값이 작을수록 우선순위가 높다
- 옵션 -n을 사용하지 않으면 디폴트는 10을 사용한다
- 조정수치가 생략되면 명령의 우선권은 10 만큼 증가한다
- 명령어 ‘nice -10 bash’는 bash 프로세스 NI 값을 10만큼 증가시키는 것이다
- 값이 증가한다는 것은 우선순위를 낮추는 것이다
- nice [옵션] 프로세스명
- renice
- 이미 실행중인 프로세스의 우선순위를 변경한다
- nice는 기존 NI값을 증감하지만 명령어 renice는 지정한 NI값을 설정한다
- nice는 NI 값에 -(대쉬 바)를 쓰지 않는다
- renice [옵션] NI갑 PID
- top
- 리눅스 시스템의 운영 상태를 실시간으로 모니터링하거나 프로세스 상태를 확인 할 수 있다.
- nohup
- 프로세스가 중단되지 않고 백그라운드로 작업을 수행할 수 있게 한다.
- 사용자가 로그아웃하거나 작업 중인 터미널 창이 닫혀도 실행 중인 프로세스를 백그라운드 프로세스로 계속 작업할 수 있도록 한다
- 용량이 큰 데이터 압축 해제와 같이 실행시간이 오래 걸리는 프로세드들에 대해 nohup으로 처리하여 작업하면 작업 중단 없이 해당 업무를 완료할 수 있다.
- 백그라운드로 실행 될 수 있도록 명령행 뒤에 &를 명시한다
스케줄링과 cron
- 주기적으로 반복되는 일은 자동적으로 실행 될 수 있도록 설정한다/
- 스케줄링 데몬은 cround이며 관련 파일은 /etc/crontab이다
- 파일 /etc/crontab/은 7개의 필드로 구성되어 있다.
- 명령어 crontab은 사용자가 주기적인 작업을 등록할 수 있게 한다
에디터 종류
개요
- 리눅스에서 지원하는 편집기로는 vi, emacs, pico, gedit, xedit 등이 있다.
- 리눅스 편집기는 편집기를 통해 파일을 수정한다.
종류
- pico
- 워싱턴 대학의 Aboil Kasar가 개발한 유닉스 기반의 텍스트 에디터이다.
- 메뉴 선택 방식의 텍스트 편집기로 기본 인터페이스가 윈도우의 메모장과 유사하여 간단하다
- 자유 소프트웨어 라이선스가 아니기 때문에 소스 수정이 불가능
- 다른 편집기에 비해 사용하기 쉽고 사용하기 편리하지만 기능이 부족하고 업데이트가 잘되지 않는다.
- GNU 프로젝트에서는 pico의 복제 버전 에디터인 nano를 개발하였다.
- vi 편집기처럼 입력모드와 명령모드가 존재하지 않고 바로 텍스트 입력이 가능하다
- emacs
- 리차드 스톨만이 매크로 기능이 있는 텍스트 교정 및 편집기로 개발하였다
- 최초의 개발자는 리차드 스톨만이며, 이후 제임스 고슬링이 LSP 언러를 기반하여 emacs에 다양한 기능을 개발하여 추가하였다.
- LISP에 기반을 둔 환경 설정 언어를 가지고 있다.
- vi
- 1976년 빌 조이가 초기 BSD 릴리즈에 포함될 편집기로 만들었다.
- 리눅스 배포판과 유닉스에 기본적으로 포함되어 있다.
- 다른 편집기들과 다르게 모드형 편집기이다.
- 명령모드, 입력모드, 편집 모드로 구성되어 있다.
- vim
- 브람 무레나르가 만든 편집기앋.
- vi 편집기와 호환되면서 독자적으로 다양한 기능을 추가하여 만든 편집기이다
- 편집 시 다양한 색상을 이용하여 가시성을 높일 수 있다.
- 패턴 검색시 하이라이트 기능을 제공하여 빠른 검색을 가능하게 해준다
- ex모드에서 히스토리 기능을 제공한다
- 확장된 정규 표현식 문법과 강력한 문법 강조 기능을 갖는다
- gedit
- gnom 데스크톱 환경으로 개발된 자유 소프트웨어 텍스트 편집기이다
- 마이크로소프트, 윈도, 맥OS X에서도 사용할 수 있다.
- UTF-8과 호환하며 텍스트 문서를 편집하는 용도에 중점을 두었다.
- X-윈도우 시스템에 맞춰 개발되었다..
- GTK+와 그놈 라이브러리를 이용하여 개발되었다.
- 텔넷 접속 시나 텍스트 기반 콘솔 창에서는 사용할 수 없다.
소프트웨어 프로그램 설치
계열
- 데미안 계열
- 배포 업체 : debian, ubunto, xandors,lispire
- 패키지 툴 : dpkg, apt-get, optitude
- 레드햇 계열
- 배포 업체 : fedora, centos,RHEL,openSUSE, mandirva
- 패키지 툴 : rpm, yum
특징
- rpm
- 레드햇 사에서 만들어낸 패키지 관리 툴
- 새로운 패키지를 설치하거나 업그레이드, 삭제 시 사용한다
- windows의 setup.exe와 유사하게 만든 프로그램이다
- 레드햇 계열의 패키지 파일 확장명은 *.rpm이다
- yum
- 네트워크를 통해 기존 rpm 패키지 파일의 업데이트 자동 수행, 새로운 패키지 설치 밎 제거를 수행한다
- RPM의 의존성 문제를 해결하기 위한 유틸리티이다.
- 인터넷을 기반으로 설치하므로 네트워크가 정상적으로 연결된 상태여야만 한다.
- YUM은 페도라 22버전 이후부터 YUM의 문제점을 보안한 DNF로 전환되고 있다.
- dpkg
- 데비안의 저레벨 패키지 관리 툴이다
- deb 패키지의 설치, 삭제, 정보 제공을 위해 사용된다
- 확장자 deb 파일은 데비안 패키지 파일이다.
- 패키지 설치 및 제거 시 RPM과 같은 의존성 문제를 일으킨다
- dpkg -s 패키지는 지정된 패키지에 대한 자세한 정보를 나타낸다
- apt-get
- 데미안 리눅스에서 소프트웨어 설치와 제거를 위한 패키지 관리 유틸리티
- 패키지 관련 정보를 확인하거나 패키지 설치 시 발생할 수 있는 의존성과 충돌 문제를 해결하기 위해 /etc/apt/source.list 파일을 참조한다
소스 파일 설치
파일 아카이브와 압축
파일 아카이브
- 아카이브는 다수 개의 파일이나 디렉터리를 하나의 파일로 묶는 것이다
- 아카이브 파일은 다른 시스템으로 다수 개의 파일을 한 번에 전송하거나 파일 백업용으로 사용한다
파일 압축과 해제
- 대표적인 파일 압축 명은 compress, gzip, bzip2, xz가 있다.
- 일반적으로 많이 사용되는 압축 명령어는 gzip과 bzip2이다
- 압축률이 가장 낮은 것은 명령어 compress이며, 압축률이 가장 높은 것은 명령어 xz이다
소스 코드 설치
- 소스 코드를 압축 해제 후 컴파일 순서에 따라 프로그램을 설치한다
- 컴파일 순서는 설치 파일의 환경설정, 컴파일, 파일 설치이다
- 환경설정 : ./configure 프로그램 설치 과정에서 필요로 하는 환경파일 makefile 생성
- 컴파일 : make makefile을 기반으로 소스 파일을 컴파일
- 파일 설치 : make install 컴파일 된 실행 파일을 지정된 속성으로 지정된 디렉터리에 설치
주변 장치 연결 및 설정
프린터 인쇄 시스템 설치 및 설정
- LPRng
- 리눅스 초기에 사용되었던 인쇄 시스템
- 버클리 프린링 시스템으로 BSD 계열 유닉스에서 사용하기 위해 계발 되었다.
- 라인 프린터 데몬 프로토콜을 사용하여 프린터 스폴링과 네트워크 프린터 서버를 지원한다
- LPRng 설정 파일은 /etc/printcap 이다.
- CPUS
- 애플이 개발한 오픈 소스 프린팅 시스템이다
- 유닉스 계열 운영체제의 시스템을 프린터 서버로 사용가능하게 해준다
- 맼킨토시나 윈도우 등 시중에 시판되는 대부분의 프린트를 지원한다
- HTTP 기반의 IPP(Internet Printing Protocol)를 사용하여 프린터를 웹 기반으로 제어한다
- CPUS 설정 파일은 /etc/cpus이다.
- 사용자 및 호스트 기반의 인증을 제공한다
- CPUS 관련 파일은 cpusd.conf, printer.conf, classes.conf, cpused 등이 있다.
- 프린터 설정
- 일반적으로 x-windows 상에서 프린터 설정 도구로 프린터를 설치한다.
- 로컬 접속으로 프린터를 직접 연결할 수 있다.
- 네트워크 프린터를 설정할 경우 5 가지 방법을 제공하고 있다.
사운드 카드 설치 및 설정
OSS(open sound system)
- 리눅스 및 유닉스 계열 운영체제에서 사운드를 만들고 캡쳐하는 인터페이스이다
- 표준 유닉스 장치 시스템 콜에 기반을 둔 것이다
- 현재 리눅스 커뮤니티에서는 ALSA로 대체 되었다.
ALSA(Advanced Linux Sound Architecture)
- 사운드 카드용 장치 드라이버를 제공하기 위한 리눅스 커널 요소
- GPL 및 LGPL 라이선스 기반으로 배포 되고 있다.
- 사운드 카드를 자동으로 구성하고 시스템에 여러 개의 사운드 장치를 관리하는 것이 목적이다
- OSS의 지원을 받아서 하드웨어 기반 미디합성, 다중 채널 하드웨어 믹싱, 전이중 통신, 다중 프로세서와의 조화, 스레드 안정장치 드라이브 등의 기능을 지원한다
- 연결 설정 파일은 /etc/asound.state이다
스캐너 설치 및 설정
SANE(Scanner Access Now Easy)
- 평판 스캐너, 핸드 스캐너, 비디오 캠 등 이미지 관련 하드웨어를 제어하는 api이다.
- GPL 라이선스 리눅스 및 유닉스 계열, OS2, windows 지원한다
XSANE(X based interface for the SANE)
- SANE 스캐너 인터페이스를 이용하여 X-windows 기반의 스캐너 프로그램이다
- 스캐너, 디지털 카메라, 디지털 캠 등 다양한 장치에서 사용이 가능하다
- 스캔 작업뿐만 아니라 캡쳐한 이미지에 수정 작업을 할 수 있다.
- GPL 라이선스, 리눅스 및 유닉스 계열, OS2, Windows도 지원한다
주변 장치 활용
프린터 설치 및 설정
- BSD 계열 프린터 명령어들
- lpr
- 프린터 작업을 요청한다
- lpq
- 프린터 큐에 있는 작업 목록을 출력한다
- lprm
- 프린터 큐에 대기 중인 작업을 삭제한다
- 취소할 프린트 작업 번호를 입력한다
- lpc
- 라인 프린터 컨트롤 프로그램
- lpr
- System V 계열 프린터 명령어들
- lp
- 프린터 작업 요청(명령어 lpr과 유사한 기능)을 한다.
- lpstat
- 프린터 큐의 상태를 확인한다
- cancel
- 프린트 작업을 취소한다
- 취소할 요청 ID를 lpstat으로 확인 후 삭제한다
- lp
사운드 카드 관련 명령어
- alsactl
- 사운드 카드를 제어한다
- alsamixer
- 커서 라이브러리 기반의 오디오 프로그램이다
- cdparanoia
- 오디오 cd로부터 음악 파일을 추출시 사용가능하다
Comment