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