安装以 .tar 文件形式下载的程序

安装以 .tar 文件形式下载的程序

我是一个运行 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

看起来我们有一些预编译的可执行程序(在“bin/”子目录中)、一些共享库(在子目录中lib/)和一个头文件(在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

相关内容