파일을 사용하여 apt-get을 통해 패키지 설치

파일을 사용하여 apt-get을 통해 패키지 설치

Brewfiles, caskfiles, dockerfiles, package.json 등과 같은 패키지 파일을 통해 새 컴퓨터에 패키지를 설치하는 것이 매우 편리하다는 것을 알았습니다.


여전히 명령줄을 통해 사용하고 있으므로 apt-get에 대한 대안이 있습니까?

apt-get install pkg1 pkg2 pkg3…

?

답변1

질문 설명에 지정된 대로 설치할 패키지를 나열하는 간단한 텍스트 파일을 작성할 수 있습니다.

iceweasel
terminator
vim

저장되어 있다고 가정하고 packages.txt다음 명령을 실행하십시오.

xargs sudo apt-get -y install < packages.txt

xargspackages.txt파일에서 명령줄로 패키지 이름을 전달하는 데 사용됩니다 . xargs매뉴얼 에서 :

xargs공백(큰따옴표, 작은따옴표 또는 백슬래시로 보호할 수 있음) 또는 개행 문자로 구분된 표준 입력에서 항목을 읽고, /bin/echo초기 인수를 사용하여 명령(기본값)을 한 번 이상 실행한 후 표준 입력에서 읽습니다. 프로젝트.

답변2

@ortomala-lokni의 답변이 약간 개선되어 파일을 매개변수로 직접 제공할 수 있습니다 xargs.

xargs -a packages.txt sudo apt-get install

또는 공백이 아닌 문자를 포함하지 않는 경우 호출이 실행되지 않도록 하는 xargs옵션을 제공할 수 있습니다.-rapt-getpackages.txt

답변3

sudo apt install `cat일부 파일`

그냥 교체하세요somefile필요한 경우 파일 이름과 경로를 사용하십시오. 이 명령은 백틱을 사용합니다. 백틱은 내용을 실행한 다음 그 줄에 결과를 포함합니다.

답변4

이 스레드가 한동안 존재했다는 것을 알고 있지만 최근에 저는 다음과 같은 도구를 작성했습니다.sysdep, 정확한 목적을 위해. toml일반 텍스트 파일 대신 파일에서 읽는 간단한 도구입니다 . 제안과 피드백을 환영합니다!

  1. 다음으로 다운로드

    curl -L https://github.com/Benjamin-Tan/sysdep/releases/latest/download/sysdep-$(arch)-unknown-linux-gnu.tar.gz | tar -xz -C ~/.local/bin
    
  2. 만들다system_dependencies.toml

    [dependencies]
    apt = ["libpackage", "libpackage2"]
    
  3. sysdep list종속성을 나열하려면 "libpackage", "libpackage2"가 표시되어야 합니다.

  4. sysdep install설치하세요

  5. sysdep추가 옵션을 보여주는 도움말 페이지

관련 정보