저는 Mint 17.3을 실행하는 새로운 Linux 사용자입니다. .tar 파일로 다운로드한 프로그램을 설치하고 싶습니다. .tar의 내용을 추출했습니다. 이제 폴더가 보입니다.
programname/lib
programname/bin
programname/include
이 폴더에는 파일이 있지만 설치 파일처럼 보이는 것은 없습니다. 이 프로그램을 설치하려면 여기에서 어디로 가야할지 모르겠습니다. 어떤 도움이라도 좋을 것입니다.
답변1
짧은 답변
다운로드에 미리 컴파일된 파일 모음이 포함되어 있는 것 같습니다. "설치"하려면 각 파일을 적절한 위치로 복사하거나 이동하면 됩니다.
이 경우 각 하위 디렉터리의 모든 파일을 smartcash-1.0.0
해당 하위 디렉터리로 복사할 수 있습니다 /usr/local
. 예를 들면 다음과 같습니다.
cp -i smartcash-1.0.0/bin/* /usr/local/bin
cp -i smartcash-1.0.0/include/* /usr/local/include
cp -i smartcash-1.0.0/lib/* /usr/local/lib
그게 다야. 이 작업을 완료하면 다음 네 가지 새로운 명령을 실행할 수 있습니다.
smartcash-cli
smartcash-qt
smartcash-tx
smartcashd
긴 대답
당신이 다루고 있는 것이 무엇인지 알아내기 위해 제가 하는 일은 다음과 같습니다. 먼저 TAR 아카이브를 다운로드했습니다.
wget 'https://smartcash.cc/wp-content/uploads/2017/11/smartcash-1.0.0-x86_64-linux-gnu.tar.gz'
그런 다음 아카이브의 압축을 풉니다.
tar xzf smartcash-1.0.0-x86_64-linux-gnu.tar.gz
그런 다음 생성된 디렉터리를 살펴보았습니다.
tree smartcash-1.0.0
이것은 다음의 출력입니다 tree
.
smartcash-1.0.0
|-- bin
| |-- smartcash-cli
| |-- smartcash-qt
| |-- smartcash-tx
| `-- smartcashd
|-- include
| `-- bitcoinconsensus.h
`-- lib
|-- libbitcoinconsensus.so -> libbitcoinconsensus.so.0.0.0
|-- libbitcoinconsensus.so.0 -> libbitcoinconsensus.so.0.0.0
`-- libbitcoinconsensus.so.0.0.0
lib/
미리 컴파일된 실행 프로그램("bin/" 하위 디렉터리), 일부 공유 라이브러리(하위 디렉터리 ) 및 헤더 파일(하위 include
디렉터리)이 있는 것 같습니다 .
일반적으로 실행 파일을 경로의 디렉터리에 넣기를 원할 것입니다. PATH의 디렉터리를 보려면 다음 명령을 실행할 수 있습니다.
(IFS=:; for path in ${PATH[@]}; do echo "${path}"; done)
출력은 다음과 같습니다.
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
이를 배치하는 일반적인 위치는 다음 /usr/local/bin
과 같은 명령을 사용하여 수행할 수 있습니다.
cp -i smartcash-1.0.0/bin/* /usr/local/bin
공유 라이브러리 파일은 공유 라이브러리 검색 경로의 디렉터리에 있어야 합니다. 공유 라이브러리 검색 경로가 무엇인지 확인하려면 /etc/ld.so.conf
구성 파일을 확인해야 합니다. 내 콘텐츠는 다음과 같습니다.
include /etc/ld.so.conf.d/*.conf
/etc/ld.so.conf.d
따라서 디렉터리에 구성 파일이 포함됩니다 . 이 디렉토리(예: )의 내용을 검사하면 cat /etc/ld.so.conf.d/*
다음 디렉토리 목록이 표시됩니다.
/usr/lib/x86_64-linux-gnu/libfakeroot
/usr/local/lib
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu
/usr/local/lib
그래서 파일을 다음과 같은 디렉토리에 넣습니다 .
cp -i smartcash-1.0.0/lib/* /usr/local/lib
공유 라이브러리를 배치할 위치에 대한 자세한 내용은 다음 게시물을 참조하세요.
/usr/local/include
마지막으로 일관성을 위해 다음과 같이 헤더 파일을 거기에 넣을 수 있습니다.
cp -i smartcash-1.0.0/include/* /usr/local/include
답변2
tar -C /usr/local --strip-components 1 -xf xxx.tar.xz
답변3
배포판에 의해 설치되지 않은 패키지는 에 속합니다 /opt
.
sudo bash # or sudo each command
cd /tmp
tar xvf progname.tar
# use atool's aunpack to guard against tar-bombs
mkdir /opt
mv progname/ opt/
그런 다음 실행 파일에 대한 심볼릭 링크를 만듭니다.
ln -s /opt/progname/bin/* /usr/local/bin
ln -s /opt/progname/lib/* /usr/local/lib
ln -s /opt/progname/include/* /usr/local/include