권한 및 그룹 설정

  • 리눅스 시스템은 모든 파일과 디렉터리에 접근권한과 소유권이 부여됨
  • 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란 파일에 대한 정보를 가지고 있는 메타 데이터이다

  • 쿼터는 사용자별, 파일 시스템별로 동작된다
  • 그룹 단위로도 용량을 제한할 수 있으며 웹호스팅 서비스를 하는 경우에 유용하다

디스크 쿼터 지정단계

  1. 파일 /etc/fstab에 디스크 쿼터 관련 설정
  2. 재마운팅 실행 후 확인
  3. 마운트 된 커터를 끄고 생성된 쿼터 파일 삭제
  4. 쿼터 데이터베이스 생성
  5. 사용자별 쿼터 지정
  6. 쿼터 현재 상태 점검

디스크 쿼터 관련 명령어

  • 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이다

소스 코드 설치

  • 소스 코드를 압축 해제 후 컴파일 순서에 따라 프로그램을 설치한다
  • 컴파일 순서는 설치 파일의 환경설정, 컴파일, 파일 설치이다
  1. 환경설정 : ./configure 프로그램 설치 과정에서 필요로 하는 환경파일 makefile 생성
  2. 컴파일 : make makefile을 기반으로 소스 파일을 컴파일
  3. 파일 설치 : 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
      • 라인 프린터 컨트롤 프로그램
  • System V 계열 프린터 명령어들
    • lp
      • 프린터 작업 요청(명령어 lpr과 유사한 기능)을 한다.
    • lpstat
      • 프린터 큐의 상태를 확인한다
    • cancel
      • 프린트 작업을 취소한다
      • 취소할 요청 ID를 lpstat으로 확인 후 삭제한다

사운드 카드 관련 명령어

  • alsactl
    • 사운드 카드를 제어한다
  • alsamixer
    • 커서 라이브러리 기반의 오디오 프로그램이다
  • cdparanoia
    • 오디오 cd로부터 음악 파일을 추출시 사용가능하다