Neste procedimento de compilação, deixe claro que está escrito para a versão atual de hoje 2.92, e para sistemas baseados no Ubuntu 16.04 como o Linux Mint 18. Este guia pode ser um pouco diferente em versões posteriores de sistemas e / ou Transmissão.
-
Vá para a página oficial; sobre protocolo seguro, atualmente a página oficial não redireciona para HTTPS; você pode usar o link abaixo para acessar a página da web:
-
Navegue até a seção Código-fonte e baixe a atual; usa o repositório GitHub; se você estiver no CLI, você pode usar este método direto:
wget --continue https://github.com/transmission/transmission-releases/raw/master/transmission-2.92.tar.xz
-
Verifique as combinações de hash SHA-256; está escrito na página de download oficial; para a versão 2.92, aplica-se o seguinte:
sha256sum --binary transmission-2.92.tar.xz
3a8d045c306ad9acb7bf81126939b9594553a388482efa0ec1bfb67b22acd35f
-
Extraia o arquivo:
tar -xJvf transmission-2.92.tar.xz
-
Vá para o diretório de extração:
cd transmission-2.92/
-
Agora, precisamos instalar as dependências de construção para
transmission-gtk
:sudo apt-get build-dep transmission-gtk
-
Vamos garantir que todos os pré-requisitos estejam instalados, de acordo com esta página do GitHub :
sudo apt-get install build-essential automake autoconf libtool pkg-config intltool libcurl4-openssl-dev libglib2.0-dev libevent-dev libminiupnpc-dev libappindicator-dev
Note que devo ter removido
libminiupnpc5
, já quelibminiupnpc-dev
o substitui. -
Execute o script de configuração:
./configure
Os seguintes argumentos opcionais podem ser passados para o script de configuração (copiado e colado do script de configuração):
Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-silent-rules less verbose build output (undo: "make V=1") --disable-silent-rules verbose build output (undo: "make V=0") --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --enable-dependency-tracking do not reject slow dependency extractors --disable-dependency-tracking speeds up one-time build --disable-libtool-lock avoid locking (might break parallel builds) --disable-largefile omit support for large files --enable-external-dht Use system external-dht --enable-external-b64 Use system libb64 --enable-utp build µTP support --enable-external-natpmp Use system external-natpmp --enable-nls enable native language support --disable-nls do not use Native Language Support --enable-lightweight optimize libtransmission for low-resource systems: smaller cache size, prefer unencrypted peer connections, etc. --enable-cli build command-line client --enable-mac build Mac client --enable-daemon build daemon Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use both] --with-aix-soname=aix|svr4|both shared library versioning (aka "SONAME") variant to provide on AIX, [default=aix]. --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-sysroot[=DIR] Search for dependent libraries within DIR (or the compiler's sysroot if not specified). --with-crypto=PKG Use specified crypto library: auto (default), openssl, cyassl, polarssl --with-inotify Enable inotify support (default=auto) --with-kqueue Enable kqueue support (default=auto) --with-systemd-daemon Add support for systemd startup notification (default is autodetected) --with-gtk with Gtk
-
Verifique se a saída do script de configuração corresponde ao seguinte (se é isso que você quer):
Configuration: Source code location: . Compiler: g++ Build libtransmission: yes * optimized for low-resource systems: no * µTP enabled: yes * crypto library: openssl Build Command-Line client: no Build GTK+ client: yes * libappindicator for an Ubuntu-style tray: yes Build Daemon: yes Build Mac client: no
Se não houver nada errado, você pode continuar, caso contrário, você precisará solucionar o problema.
-
Compile o programa, isso pode demorar um pouco:
make
Se a compilação for bem-sucedida, você poderá continuar, caso contrário, será necessário solucionar o problema.
-
Antes de instalá-lo, você provavelmente desejará remover a versão estável mais antiga que você pode ter instalado do repositório, mas há uma hachura: você provavelmente desejará manter suas configurações e, em caso afirmativo, localizar o arquivo de configurações :
locate transmission/settings.json
-
Suponhamos que esteja no seu diretório pessoal
~/.config/
. Faça um backup em algum lugar, por exemplo no seu diretório pessoal:cp ~/.config/transmission/settings.json ~/
-
Agora remova a versão original do pacote:
sudo apt-get purge transmission-gtk transmission-common
-
Instale seu cliente
transmission-gtk
compilado:sudo make install
-
Apesar de não ter o cliente
transmission-gtk
iniciado , você pode mover seu arquivo de configurações, ou melhor, primeiro examinar as diferenças e decidir se apenas sobrescrevê-lo seria OK ou não:mv ~/settings.json ~/.config/transmission/settings.json
-
Finalmente, suponha que você deseja um item da área de trabalho, copie-o e marque-o como executável:
cp ~/Downloads/transmission-2.92/gtk/transmission-gtk.desktop ~/Desktop/ chmod a+x ~/Desktop/transmission-gtk.desktop
-
Da mesma forma, você pode criar um item de menu, basta adicionar
sudo
e não se incomodar com o bit de execução:sudo cp ~/Downloads/transmission-2.92/gtk/transmission-gtk.desktop /usr/share/applications/