use*_*236 3 linux install tor centos7
我已尝试通过遵循本文来下载TOR,但出现503错误。那么,有没有其他方法可以下载TOR?请有人帮我,因为我必须对此做一个研究项目。
我使用的是centOS服务器:CentOS Linux版本7.3.1611(核心),但出现以下错误,
[sam@xx etc]$ sudo yum install tor
[sudo] password for sam:
Loaded plugins: fastestmirror, langpacks
base | 3.6 kB 00:00
extras | 3.4 kB 00:00
http://deb.torproject.org/torproject.org/rpm/el/7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 503 - Service Unavailable
Trying other mirror.
http://deb.torproject.org/torproject.org/rpm/el/7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 503 - Service Unavailable
Trying other mirror.
http://deb.torproject.org/torproject.org/rpm/el/7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 503 - Service Unavailable
Trying other mirror.
http://deb.torproject.org/torproject.org/rpm/el/7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 503 - Service Unavailable
Trying other mirror.
http://deb.torproject.org/torproject.org/rpm/el/7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 503 - Service Unavailable
Trying other mirror.
http://deb.torproject.org/torproject.org/rpm/el/7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 503 - Service Unavailable
Trying other mirror.
http://deb.torproject.org/torproject.org/rpm/el/7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 503 - Service Unavailable
Trying other mirror.
http://deb.torproject.org/torproject.org/rpm/el/7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 503 - Service Unavailable
Trying other mirror.
http://deb.torproject.org/torproject.org/rpm/el/7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 503 - Service Unavailable
Trying other mirror.
http://deb.torproject.org/torproject.org/rpm/el/7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 503 - Service Unavailable
Trying other mirror.
Run Code Online (Sandbox Code Playgroud)
Tor不再建议将其仓库用于CentoOS,而建议使用epel仓库。您最终将获得其存储库中一个非常旧的版本。
而是:
yum install epel-release
yum install tor
Run Code Online (Sandbox Code Playgroud)
这将为您提供由存储库管理的Tor的当前版本。很好
对于CentOS,我已经进行了一段时间的自编译。我有一个hacky shell脚本,我还不愿意在这里发布;),但实际上它只是编译Tor和OpenSSL。我仍然建议使用epel-release,因为它已经过测试。
要尝试自己构建静态链接到OpenSSL的Tor,请获取OpenSSL的最新副本(例如1.1.1x),然后获取要构建的Tor的版本(例如0.4.1.6)。
首先,您需要安装一些先决条件:
yum install -y \
gcc gcc-c++ \
zlib-devel \
perl-Module-Load-Conditional perl-Test-Harness \
libevent-devel \
libzstd-devel xz-devel \
libscrypt-devel libseccomp-devel
Run Code Online (Sandbox Code Playgroud)
从OpenSSL源目录:
./config --prefix=/opt/openssl --openssldir=/opt/openssl \
-fPIC zlib-dynamic no-shared enable-ec_nistp_64_gcc_128
make
make test
make install
Run Code Online (Sandbox Code Playgroud)
OpenSSL 1.1.1注意:no-shared构建OpenSSL时,请删除该选项,否则Tor配置将失败,并显示一个错误,即使它是静态构建的,它也找不到可链接的OpenSSL。Tor仍将链接静态OpenSSL,但似乎需要共享库才能工作。这似乎在1.1.1c和更高版本中已修复。
这会将OpenSSL安装到,/opt/openssl因此不会干扰或替换系统的OpenSSL。
然后,构建Tor:
./configure --prefix=/opt/tor-VERSION --sysconfdir=/etc --localstatedir=/var \
--enable-static-openssl --with-openssl-dir=/opt/openssl \
--with-tor-user=tor --with-tor-group=tor \
--enable-lzma --enable-zstd
make
make test
make install
unlink /usr/bin/tor && ln -s /opt/tor-VERSION/bin/tor /usr/bin/tor
Run Code Online (Sandbox Code Playgroud)
我使用的systemd服务文件是:
[Unit]
Description=Anonymizing overlay network for TCP
After=syslog.target network.target nss-lookup.target
[Service]
Type=forking
PidFile=/var/run/tor/tor.pid
NotifyAccess=all
ExecStartPre=/usr/bin/tor -f /etc/tor/torrc --verify-config
ExecStart=/usr/bin/tor -f /etc/tor/torrc --RunAsDaemon 1
ExecReload=/bin/kill -HUP ${MAINPID}
KillSignal=SIGINT
TimeoutStartSec=120
TimeoutStopSec=60
Restart=on-failure
LimitNOFILE=65536
# Hardening
PrivateTmp=yes
PrivateDevices=yes
ProtectHome=yes
ProtectSystem=full
ReadOnlyDirectories=/
ReadWriteDirectories=-/var/lib/tor
ReadWriteDirectories=-/var/log/tor
NoNewPrivileges=yes
CapabilityBoundingSet=CAP_SETUID CAP_SETGID CAP_NET_BIND_SERVICE CAP_DAC_OVERRIDE CAP_CHOWN CAP_FOWNER
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)