[Linux] 파일 압축 / 소스 코드 설치


🐧 파일 아카이브(archive)


  • 다수 개의 파일이나 디렉터리를 하나의 파일로 묶는 것
  • 다른 시스템으로 다수 개의 파일을 한 번에 전송할 때나 파일 백업용으로 사용



🐧 파일 압축과 해제


  • compress

    • 확장자 .Z로 파일 압축

    • -d : 파일 압축 해제

    • -c : .Z가 아닌 지정 파일로 생성

  • uncompress

    • 확장자가 .Z인 파일 압축 해제
  • gzip

    • 확장자 .gz로 파일 압축
  • gunzip

    • 확장자가 .gz인 파일 압축 해제
  • zcat

    • 압축된 파일의 내용을 출력
  • bzip2 : 확장자 .bz2로 파일 압축

  • bunzip2 : 확장자 .bz2인 파일 압축 해제

  • bzcat : 압축 파일의 내용 출력

  • xz

    • 확장자 .xz로 파일 압축

    • -z : 강한 파일 압축

    • -d : 강한 파일 압축 해제

  • unxz

    • 확장자 .xz인 파일 압축 해제

    • xz -d와 동일한 기능



🐧 소스 코드 설치


  • 소스코드 압축 해제 -> 컴파일 순서에 따라 프로그램 설치

  • 리눅스에서 소스코드는 대부분 C언어로 작성

  • 컴파일 순서

    1. 환경설정(configure)

      • ./configure

      • 프로그램 설치 과정에서 필요로 하는 환경파일 makefile 생성

      • 시스템 파일 또는 설치 파일의 위치 지정

    2. 컴파일(make)

      • make

      • makefile을 기반으로 소스 파일을 컴파일

      • make가 끝나면 소스파일은 실행파일(setup)로 전환됨

    3. 파일 설치(make install)

      • make install

      • 컴파일된 실행파일을 지정된 속성으로 지정된 디렉터리에 설치

  • CMake(Cross Platform Make)

    • 멀티 플랫폼으로 사용할 수 있는 Make의 대용품을 만들기 위한 오픈소스 프로젝트

    • 스스로 기존의 Make 과정을 수행하지 않고 지정한 운영체제에 맞는 Make 파일의 생성만을 수행

    • 소프트웨어 빌드에 특화된 언어로 독자적 설정 스크립트를 사용

    • 타임스탬프를 통해 파일 내용의 변화를 알아낼 수 있음

    • 평행 빌드 지원

    • 크로스 컴파일 가능

    • 다양한 플랫폼 지원

Categories:

Linux   리눅스