it-swarm-ko.tech

tarball을 설치하는 간단한 방법이 있습니까?

대부분의 Linux 소프트웨어는 tarball로 패키지되어 있습니다. 그들 모두는 컴파일하고 설치하는 데 몇 가지 명령이 필요합니다.

내 질문은; 우리는 독립형 데비안 패키지를위한 gdebi를 가지고 있는데, 왜 tarball을 같은 방식으로 설치하는 앱이 아닌가? 왜 그렇게 간단한 프로세스가 자동화되지 않습니까? 소프트웨어 컴파일 아이디어로 새로운 사용자를 계속 위협하고 몰아 내야하는 이유는 무엇입니까?

6
Dante Ashton

이러한 프로세스는 자동화됩니다. 대부분 .deb 또는 .rpm 패키지로 가져옵니다. tarball과 .deb의 유일한 차이점 (생각하는 수준에서)은 컴파일입니다. Tarball은 일반적으로 소스 코드를 포함하고 사전 컴파일 된 바이너리가 아닌 파일을 만듭니다 (때때로 파일도 포함하지만). .deb는 여러 아키텍처에서 미리 컴파일됩니다.

여기 당신을위한 비유가 있습니다 :

.deb는 전체 차량을 운반하는 트럭입니다.

타르볼은 자동차 부품 상자를 운반하는 트럭과 자동차를 얻기 위해 부품을 조립하는 방법을 알려주는 설명서입니다.

따라서 .deb (또는 "기타"배포판의 .rpm)에서 무언가를 설치할 때 이미 수행 한 작업만으로 해당 tarball에 포함 된 것과 동일한 항목을 설치하게됩니다.

Txwikinger가 진행/회귀에 대해 동의하지 않지만. tarballs에는 전혀 문제가 없으며 코드 또는 스크린 샷, 로그 파일 또는 다양한 이유로 사람들에게 보내야 할 내용을 마무리하는 데 자주 사용합니다. 또한 소스 타르볼을 다운로드하여 프로그램의 소스 코드를 읽으므로 문제가 발생하면 무슨 일이 일어나고 있는지 확인할 수 있습니다.

12
DreadPirateJeff

타르볼을 더 쉽게 설치하는 데 시간을 소비하는 대신 데비안/우분투 용 소프트웨어를 패키징하는 데 전체적으로 유리합니다. 이것은 우분투와 같은 데비안 기반 배포판의 기능을 향상시킬뿐만 아니라 종속성을 올바르게 설치합니다.

5
Adam Collard

Checkinstall 소스에서 뎁스를 생성 할 수 있습니다. (또한 RPM 및 슬랙웨어 패키지를 생성 할 수 있습니다)

./configure를 실행 한 다음

checkinstall -D 

데비안 패키지를 만듭니다.

이 도구는 주로 자신의 컴퓨터에서 소프트웨어를 깨끗하게 업그레이드하고 제거 할 수 있고 다른 사람을위한 배포판을 만들 수는 없다고 생각합니다. 그러나 복잡한 종속성이없는 경우 원하는 작업을 수행해야합니다.

3
Robert Christie

타르볼은 일반적으로 사용자 정의가 가능합니다. 90 % 만 설치해도 설치/구성 및 설치가 가능하지만 일부는 사용자 지정 매개 변수를 요구하거나 최악의 경우 응용 프로그램을 구축하기 위해 다른 단계를 사용합니다.

일반 사용자로서의 imho는 tarball을 다룰 필요가 없습니다. 먼저 누군가의 저장소에 있는지 확인하는 것이 좋습니다.

tarballs의 문제점 (최종 사용자를위한 설치 방법)은 다음과 같습니다. 소프트웨어를 다시 제거하십시오.

두 번째 질문 : 예,이 프로세스는 debian-source 패키지 또는 rpm-source 패키지로 자동화됩니다. 그러나 그것들은 문제가되지 않으며 gdebi로 열 수 있다고 생각합니다. 확실하지 않지만 tarball은 개발자가 코드를 세상에 가져올 수있는 가장 쉬운 방법입니다. 그들이 프로젝트에서 엉망으로 만들었더라도 소스를 압축하여 업로드하십시오 .-- tarball에 대해 알아야 할 유일한 요구 사항입니다. 일부 앱의 소스를 포함하고 결국 빌드 스크립트를 제공해야합니다.

따라서 tarball을 직접 사용하지는 않더라도 리눅스 패키징은 엉망인 매우 중요한 문제에 직면하고 있다고 생각합니다. 단일 배포판에 대해서도 많은 작업을 수행하며 소규모 프로젝트에서 다양한 배포판에 대한 패키지를 유지 관리하는 것은 사실상 불가능합니다.

여러 배포판에서 패키징을 통합하려는 수많은 프로젝트가 있었지만 아직까지는 실제로 진행되지 않았습니다. 적어도 Windows 용 msi 패키지 나 mac의 dmg와 같은 것은 없습니다.

나는이 답변이 답답하지 않다는 것을 알고 있지만, 최근 혁명을 놓친 적이 없다면 지금 우리가 겪고있는 것입니다.

3
hansi

이 작업을 많이 수행하면 작은 bash 스크립트를 작성할 수 있습니다 ...

#!/bin/bash
FILE=$1
DIR="${FILE%.tar.gz}"
tar -xzf $1
cd $DIR
./configure
make
Sudo make install

Tarinstall (또는 무엇인가)이라고 부르고 경로에 넣고 다음을 수행하십시오.

tarinstall thisnewpackage.tar.gz

.debs 또는 .rpms와 같은 패키징 시스템을 사용하는 것이 훨씬 낫다는 데 동의합니다.

2
x3ja

다른 응용 프로그램은 다른 표준을 가진 다른 개발자가 작성합니다. 모든 타르볼을 설치하기 위해 하나의 응용 프로그램을 갖는 것은 매우 어려운 작업으로 판명되었습니다. 대신에 우리는 미리 규정 된 뎁을 가지고 있습니다. 타르볼은 또한 데비안과 파생물이 타르볼만으로는 달성하기가 불가능한 적절한 적절성과 적성으로 고정 된 의존성의 문제를 제공합니다.

1
Nigel

일반 사용자는 tarball 설치를 원하지 않을 것입니다. 데비안과 우분투 팀은 저장소에 넣기 전에 업스트림 패키지를 사용자 정의하고 확인하는 데 많은 시간을 소비합니다. 패키지를 만드는 것은 종속성과 배포 별 설치 스크립트의 큰 혼란입니다. 프로세스를 자동화하는 간단한 방법은 없습니다.

그러나 프로그래머이거나 업스트림 프로젝트에 참여하려는 경우 결국 공식 타르볼을 설치해야합니다. 자동은 아니지만 프로세스를 쉽게 만드는 데 도움이되는 몇 가지 도구가 있습니다.

설치 한 프로그램에서 일부 버그를 패치하려면 apt-get sourcepackagename으로 소스 코드를 가져와 해킹하십시오. 패치를 업스트림으로 보내려면 업스트림 타르볼로 시작하는 것이 좋습니다.

대부분의 프로젝트에는 상당한 양의 컴파일 타임 결정을 자동화하는 autotools가 사용됩니다. 폴더에 구성 스크립트가 있기 때문에 일반적으로 프로젝트에서 autotools를 사용하는지 알 수 있습니다. ./configure && make && make install 한 줄을 사용하여 패키지를 빌드하고 설치할 수 있습니다. 그래도 패키지를 빌드하지 않으면 컴파일 타임 종속성이 없기 때문에 실패 할 수 있습니다.

설치하려는 패키지가 이미 우분투 저장소에 있다면 APT을 사용하여 tarball을 apt-get build-deppackagename. 새로운 의존성이 없다면, 프로그램을 컴파일하기 전에이 작업을 수행하면됩니다. 우분투 저장소에없는 경우, 프로젝트 문서를 확인하여 필요해.

./configure && make && make install 프로 시저의 한 가지 문제점은 일반적으로 make uninstall가 없다는 것입니다. checkinstall이라는 프로그램이 있습니다. make install을 실행하고 패키지를 APT에 등록하여 나중에 제거 할 수 있습니다.) checkinstall은 항상 작동하지는 않으며 패키지의 중요성에 따라 다릅니다. 시스템에 설치하는 경우 매우 위험 할 수 있습니다.

1
wm_eddie

.deb 패키지는 적절한 패키지 관리를 위해 필요한 정보가 포함 된 tarball입니다.

Tarball을 설치 한 경우 모든 종속성이 충족되도록하려면 어떻게해야합니까? 필요한 모든 라이브러리가 설치되어 있습니까?

Tarball만이 설치 한 패키지를 어떻게 제거 하시겠습니까?

데비안 기반 패키지 관리가 제공하는 모든 안전 장치를 잃어 버리고 특히 새로운 사용자가 소프트웨어를 쉽게 설치할 수있게합니다. 타르볼을 쉽게 설치할 수있게하려면 진행이 아니라 뒤로 물러서야합니다.

이건 제쳐두고 어떻게

./configure && make && Sudo make install

더 단순화됩니까? (위에서 제기 된 문제를 처리 할 수 ​​있어야하는 사용자를 고려하는 경우)

0
txwikinger

위의 게시물에서와 같이 checkinstall를 사용하면 소스 응용 프로그램을 효율적으로 설치 및 제거 할 수 있습니다. 네이티브 패키지 (redhat 풍미의 경우 rpm, ubuntu를 포함한 데비안 풍미의 경우 deb)를 생성하므로 소프트웨어 센터와 같은 기본 패키지 관리자를 사용하여 이러한 패키지를 관리하기가 매우 쉽습니다. 자세한 내용은이 기사를 확인하십시오 : findasolution.in checkinstall package management in easy in linux . 원래 Centos로 돌아 왔지만 우분투에서도 작동합니다.

0
aneeshep