Compare commits

...
Author SHA1 Message Date
V33m 16ddfa0325 Added support for Linux Mint
Request: https://github.com/arakasi72/rtinst/issues/535
2020-10-14 12:34:10 +02:00
V33m 14c270f096 Update rtupdate - Typo 2020-09-10 23:19:54 +02:00
V33m 5452c98799 Update rtupdate
Added fallback to svn when installing xmlrpc
2020-09-10 23:17:38 +02:00
V33m 016299230e Update rtletsencrypt
Should solve Issue: https://github.com/arakasi72/rtinst/issues/528
2020-09-10 23:09:25 +02:00
V33m 763d2efdeb Update rtletsencrypt to use snapd for certbot
Solves Issue: https://github.com/arakasi72/rtinst/issues/526.

Snapd is the recommended way to install certbot and it is a service that manages and maintains your snaps. A snap is a bundle of an app and its dependencies that works without modification across Linux distributions.
2020-09-03 12:40:45 +02:00
V33m 1f1ec0ad3a Update rtinst - add '-y' to aptitude upgrade 2020-08-30 09:39:44 +02:00
V33m b18b5718fe Update rtsetup
Use latest release instead of tag
2020-08-27 22:23:32 +02:00
V33m deff019f56 Use Aptitude to install packages 2020-08-27 21:42:52 +02:00
V33m 11a019cd16 Update README.md 2020-08-25 19:20:53 +02:00
V33m 0a8b21b8f3 Verify if PPA is available for current distribution
Added checking to verify if current distribution (release name, ex. focal) has available PPA packages. If not, packages will be installed from Ubuntu Package archive.

Solves Issue https://github.com/arakasi72/rtinst/issues/518 and https://github.com/arakasi72/rtinst/issues/522.
2020-08-25 19:12:33 +02:00
6 changed files with 52 additions and 46 deletions
+1
View File
@@ -29,6 +29,7 @@ Current release has been tested with clean installs of:
Ubuntu 17 Ubuntu 17
Ubuntu 18 Ubuntu 18
Ubuntu 19 Ubuntu 19
Ubuntu 20
Debian 9 "Stretch" Debian 9 "Stretch"
Debian 10 "Buster" Debian 10 "Buster"
+1 -1
View File
@@ -57,7 +57,7 @@ if [ -d /etc/rtinst ] && [ -z $branch ]; then
if [ -z $branch ]; then if [ -z $branch ]; then
branch=$(git describe --tags --exact-match) branch=$(git describe --tags --exact-match)
if [ ${branch:0:1} = v ]; then if [ ${branch:0:1} = v ]; then
latest=$(basename "$(git ls-remote --tags https://github.com/arakasi72/rtinst.git | grep -o 'refs/tags/v.*' | sort -V | tail -1)") latest=$(curl -s "https://api.github.com/repos/arakasi72/rtinst/releases/latest" | awk -F '"' '/tag_name/{print $4}')
if [ $branch != $latest ]; then if [ $branch != $latest ]; then
echo "Updating from $branch to $latest" echo "Updating from $branch to $latest"
branch=$latest branch=$latest
+21 -18
View File
@@ -194,8 +194,8 @@ ru_url="https://github.com/Novik/ruTorrent/"
adl_url="https://github.com/autodl-community/" adl_url="https://github.com/autodl-community/"
if [ $(dpkg-query -W -f='${Status}' lsb-release 2>/dev/null | grep -c "ok installed") -eq 0 ]; then if [ $(dpkg-query -W -f='${Status}' lsb-release 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
echo "Installing lsb-release" echo "Installing lsb-release"
apt-get -yqq install lsb-release 2>&1 >> /dev/null apt-get -yqq install lsb-release 2>&1 >> /dev/null
fi fi
fullrel=$(lsb_release -sd) fullrel=$(lsb_release -sd)
@@ -203,7 +203,7 @@ osname=$(lsb_release -si)
relno=$(lsb_release -sr | cut -d. -f1) relno=$(lsb_release -sr | cut -d. -f1)
# Fallback if lsb_release -si returns anything else than Ubuntu, Debian or Raspbian # Fallback if lsb_release -si returns anything else than Ubuntu, Debian or Raspbian
if [ ! "$osname" = "ubuntu" ] && [ ! "$osname" = "debian" ] && [ ! "$osname" = "raspbian" ]; then if [ ! "$osname" = "ubuntu" ] && [ ! "$osname" = "debian" ] && [ ! "$osname" = "raspbian" ] && [ ! "$osname" = "Linuxmint" ]; then
osname=$(grep -oP '(?<=^ID=).+' /etc/os-release | tr -d '"') osname=$(grep -oP '(?<=^ID=).+' /etc/os-release | tr -d '"')
osname=${osname^} osname=${osname^}
fi fi
@@ -281,7 +281,7 @@ sshport=''
rudevflag=1 rudevflag=1
rurelease=master rurelease=master
passfile='/etc/nginx/.htpasswd' passfile='/etc/nginx/.htpasswd'
package_list="sudo nano autoconf build-essential ca-certificates comerr-dev curl dtach htop irssi libcppunit-dev $libcver libncurses5-dev libterm-readline-gnu-perl libsigc++-2.0-dev libperl-dev libtool libxml2-dev ncurses-base ncurses-term ntp patch pkg-config $phpver-fpm $phpver $phpver-cli $phpver-dev $phpver-curl php-geoip $phpver-xmlrpc $phpver-xml $phpver-zip screen subversion texinfo unzip zlib1g-dev libcurl4-openssl-dev mediainfo software-properties-common aptitude $phpver-json nginx-full apache2-utils git libarchive-zip-perl libnet-ssleay-perl libhtml-parser-perl libxml-libxml-perl libjson-perl libjson-xs-perl libxml-libxslt-perl libjson-rpc-perl libarchive-zip-perl" package_list="sudo nano autoconf build-essential ca-certificates comerr-dev curl dtach htop irssi libcppunit-dev $libcver libncurses5-dev libterm-readline-gnu-perl libsigc++-2.0-dev libperl-dev libtool libxml2-dev ncurses-base ncurses-term ntp patch pkg-config $phpver-fpm $phpver $phpver-cli $phpver-dev $phpver-curl php-geoip $phpver-xmlrpc $phpver-xml $phpver-zip screen subversion texinfo unzip zlib1g-dev libcurl4-openssl-dev mediainfo software-properties-common $phpver-json nginx-full apache2-utils git libarchive-zip-perl libnet-ssleay-perl libhtml-parser-perl libxml-libxml-perl libjson-perl libjson-xs-perl libxml-libxslt-perl libjson-rpc-perl libarchive-zip-perl"
Install_list="" Install_list=""
unixpass="" unixpass=""
passflag=0 passflag=0
@@ -301,11 +301,11 @@ if [ "$(id -u)" != "0" ]; then
fi fi
# determine system # determine system
if ([ "$osname" = "Ubuntu" ] && [ $relno -ge 16 ]) || ([ "$osname" = "Debian" ] && [ $relno -ge 9 ]) || ([ "$osname" = "Raspbian" ] && [ $relno -ge 9 ]); then if ([ "$osname" = "Ubuntu" ] && [ $relno -ge 16 ]) || ([ "$osname" = "Debian" ] && [ $relno -ge 9 ]) || ([ "$osname" = "Raspbian" ] && [ $relno -ge 9 ]) || ([ "$osname" = "Linuxmint" ] && [ $relno -ge 16 ]); then
echo $fullrel echo $fullrel
else else
echo $fullrel echo $fullrel
echo "Only Ubuntu release 16 and later, and Debian and Raspbian release 9 and later, are supported" echo "Only Ubuntu and Linux Mint release 16 and later, and Debian and Raspbian release 9 and later, are supported"
echo "Your system does not appear to be supported" echo "Your system does not appear to be supported"
echo "Check https://github.com/arakasi72/rtinst/wiki/Installing-on-Older-OS to see if it is supported by an earlier rtinst release" echo "Check https://github.com/arakasi72/rtinst/wiki/Installing-on-Older-OS to see if it is supported by an earlier rtinst release"
exit exit
@@ -550,18 +550,21 @@ fi
echo "Updating package lists" | tee $logfile echo "Updating package lists" | tee $logfile
apt-get -qq update | tee -a $logfile apt-get -qq update | tee -a $logfile
# Installing Aptitude
apt-get -qqy install aptitude
echo "Upgrading packages" | tee -a $logfile echo "Upgrading packages" | tee -a $logfile
export DEBIAN_FRONTEND=noninteractive export DEBIAN_FRONTEND=noninteractive
apt-get -qq upgrade >> $logfile 2>&1 aptitude -q=5 -y upgrade >> $logfile 2>&1
if ! [ $? = 0 ]; then if ! [ $? = 0 ]; then
echo "Problem upgrading packages. Run 'apt-get upgrade' successfully and rerun the script" && exit echo "Problem upgrading packages. Run 'aptitude upgrade' successfully and rerun the script" && exit
fi fi
apt-get clean && apt-get autoclean >> $logfile 2>&1 aptitude clean && aptitude autoclean >> $logfile 2>&1
#install the packsges needed #install the packages needed
echo "Installing required packages" | tee -a $logfile echo "Installing required packages" | tee -a $logfile
apt-get install libtool -y >> $logfile 2>&1 aptitude -q=5 -y install libtool >> $logfile 2>&1
for package_name in $package_list for package_name in $package_list
do do
if [ $(apt-cache show -q=0 $package_name 2>&1 | grep -c "No packages found") -eq 0 ]; then if [ $(apt-cache show -q=0 $package_name 2>&1 | grep -c "No packages found") -eq 0 ]; then
@@ -575,16 +578,16 @@ for package_name in $package_list
# Installs a package needed to prevent arm64 architectures from "WARNING: Unable to start rtorrent" # Installs a package needed to prevent arm64 architectures from "WARNING: Unable to start rtorrent"
if [ "$(uname --m)" == "aarch64" ] || [ "$(dpkg --print-architecture)" == "arm64" ] ; then if [ "$(uname --m)" == "aarch64" ] || [ "$(dpkg --print-architecture)" == "arm64" ] ; then
sudo apt-get install libxmlrpc-core-c3-dev -y >> $logfile 2>&1 aptitude -q=5 -y install libxmlrpc-core-c3-dev >> $logfile 2>&1
fi fi
test -z "$install_list" || apt-get -qq install $install_list >> $logfile 2>&1 test -z "$install_list" || aptitude -q=5 -y install $install_list >> $logfile 2>&1
if ! [ $? = 0 ]; then if ! [ $? = 0 ]; then
echo "Problem installing packages. Check log and rerun once it is resolved" && exit echo "Problem installing packages. Check log and rerun once it is resolved" && exit
fi fi
if [[ $phpver =~ php7.[0-9] ]]; then if [[ $phpver =~ php7.[0-9] ]]; then
apt-get -qq install $phpver-mbstring >> $logfile 2>&1 aptitude -q=5 -y install $phpver-mbstring >> $logfile 2>&1
fi fi
#install unrar package #install unrar package
@@ -610,8 +613,8 @@ if [ $osname = "Debian" ] && ! installed unrar; then
cp $home/rar/unrar /bin/unrar cp $home/rar/unrar /bin/unrar
rm -r $home/rar rm -r $home/rar
fi fi
elif [ $osname = "Ubuntu" ]; then elif [ $osname = "Ubuntu" || $osname = "Linuxmint" ]; then
apt-get -qq install unrar >> $logfile 2>&1 aptitude -q=5 -y install unrar >> $logfile 2>&1
fi fi
if installed unrar; then if installed unrar; then
@@ -623,7 +626,7 @@ fi
#install ffmpeg #install ffmpeg
if ! [ $osname = "Raspbian" ] && [ $(dpkg-query -W -f='${Status}' "ffmpeg" 2>/dev/null | grep -c "ok installed") = 0 ]; then if ! [ $osname = "Raspbian" ] && [ $(dpkg-query -W -f='${Status}' "ffmpeg" 2>/dev/null | grep -c "ok installed") = 0 ]; then
echo "Installing ffmpeg" echo "Installing ffmpeg"
apt-get -qq install ffmpeg >> $logfile 2>&1 aptitude -q=5 -y install ffmpeg >> $logfile 2>&1
fi fi
echo "Completed installation of required packages " echo "Completed installation of required packages "
@@ -710,7 +713,7 @@ ftpport=$(random 41005 48995)
if [ $(dpkg-query -W -f='${Status}' "vsftpd" 2>/dev/null | grep -c "ok installed") -eq 0 ]; then if [ $(dpkg-query -W -f='${Status}' "vsftpd" 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
echo "Installing vsftpd" | tee -a $logfile echo "Installing vsftpd" | tee -a $logfile
apt-get -y install vsftpd >> $logfile 2>&1 aptitude -q=5 -y install vsftpd >> $logfile 2>&1
fi fi
sed -i '/^\(\s\|#\)*anonymous_enable/ c\anonymous_enable=NO' /etc/vsftpd.conf sed -i '/^\(\s\|#\)*anonymous_enable/ c\anonymous_enable=NO' /etc/vsftpd.conf
+17 -16
View File
@@ -11,6 +11,8 @@
headless=0 headless=0
osname=$(lsb_release -si) osname=$(lsb_release -si)
releasename=$(lsb_release -cs)
[ -z $logfile ] && logfile="/dev/null" [ -z $logfile ] && logfile="/dev/null"
if [ -z $serverip ]; then if [ -z $serverip ]; then
headless=1 headless=1
@@ -54,27 +56,26 @@ if [ -z $serverdn ]; then
exit 1 exit 1
fi fi
#Installing Certbot # Remove apt version of Certbot if installed
if [ $(dpkg-query -W -f='${Status}' "certbot" 2>/dev/null | grep -c "ok installed") = 0 ]; then if [ $(dpkg-query -W -f='${Status}' "certbot" 2>/dev/null | grep -c "ok installed") = 1 ]; then
echo "Installing certbot" echo "Removing apt version of Certbot"
aptitude -q=5 -y remove certbot python*-certbot-nginx >> $logfile 2>&1
fi
if [ "$osname" = "Ubuntu" ]; then # Install Snapd service
apt-get -q update >> $logfile 2>&1 aptitude -q=5 -y install snapd >> $logfile 2>&1
add-apt-repository -y universe >> $logfile 2>&1 # Install the core snap in order to get the latest snapd for Debian
add-apt-repository -y ppa:certbot/certbot >> $logfile 2>&1 if [ $osname = "Debian" ]; then snap install core >> $logfile 2>&1; snap refresh core; fi
apt-get -q update >> $logfile 2>&1
apt-get install -y certbot python-certbot-nginx >> $logfile 2>&1 # Installing Certbot
else if [ $(snap list | grep -c "certbot") = 0 ]; then
deb_name=$(lsb_release --codename --short) echo "Installing certbot"
grep "^deb http\:\/\/deb\.debian\.org\/debian $deb_name-backports main" /etc/apt/sources.list > /dev/null || echo "deb http://deb.debian.org/debian $deb_name-backports main" >> /etc/apt/sources.list snap -y install --classic certbot >> $logfile 2>&1
apt-get -q update >> $logfile 2>&1
apt-get install -y certbot python-certbot-nginx -t $deb_name-backports >> $logfile 2>&1
fi
else else
echo "certbot already installed" echo "certbot already installed"
fi fi
if [ $(dpkg-query -W -f='${Status}' "certbot" 2>/dev/null | grep -c "ok installed") = 0 ]; then if [ $(snap list | grep -c "certbot") = 0 ]; then
echo "Install Failed" echo "Install Failed"
exit 1 exit 1
fi fi
+10 -9
View File
@@ -44,7 +44,7 @@ if [ "$fullrelno" = "17.10" ]; then
rtdevrel=0 rtdevrel=0
fi fi
if ([ "$osname" = "Debian" ] || [ "$osname" = "Raspbian" ] && [ $relno -ge 9 ]) || ([ "$osname" = "Ubuntu" ] && [ $relno -ge 18 ]); then if ([ "$osname" = "Debian" ] || [ "$osname" = "Raspbian" ] && [ $relno -ge 9 ]) || ([ "$osname" = "Ubuntu" ] && [ $relno -ge 18 ]) || ([ "$osname" = "Linuxmint" ] && [ $relno -ge 18 ]); then
rtdevrel=0 rtdevrel=0
fi fi
@@ -157,7 +157,7 @@ if [ -z $passed_rtvers ]; then
# checks if the OS is debian 9, and forces the version to 0.9.7 of it is # checks if the OS is debian 9, and forces the version to 0.9.7 of it is
if [ $rtdevrel = 0 ]; then if [ $rtdevrel = 0 ]; then
echo "For Debian 9, and Ubuntu 17.10 and later, recommend libtorrent-0.13.7/rtorrent-0.9.7 or later" echo "For Debian 9, Ubuntu 17.10 or later and Linux Mint 17 or later, libtorrent-0.13.7/rtorrent-0.9.7 or later is recommended"
fi fi
list_version list_version
@@ -184,7 +184,7 @@ else
if [ $rtdevrel = 0 ]; then if [ $rtdevrel = 0 ]; then
libvers='0.13.8' libvers='0.13.8'
rtvers='0.9.8' rtvers='0.9.8'
echo "Debian 9, and Ubuntu 17.10 and later, are only supported by libtorrent-0.13.7/rtorrent-0.9.7 or later" echo "Debian 9, Ubuntu 17.10 or later and Linux Mint 17 or later are only supported by libtorrent-0.13.7/rtorrent-0.9.7 or later"
fi fi
fi fi
@@ -218,16 +218,19 @@ echo "Fetching source files"
if [ $xmlrpc_repo = 0 ]; then if [ $xmlrpc_repo = 0 ]; then
svn co $xmlrpcloc xmlrpc >> $logfile 2>&1 svn co $xmlrpcloc xmlrpc >> $logfile 2>&1
if [ ! -e xmlrpc ]; then
git clone $xmlrpc_url_alt xmlrpc >> $logfile 2>&1
cd xmlrpc/stable
else cd xmlrpc; fi
cd xmlrpc
echo "Installing xmlrpc" | tee -a $logfile echo "Installing xmlrpc" | tee -a $logfile
./configure --prefix=/usr --disable-cplusplus >> $logfile 2>&1 ./configure --prefix=/usr --disable-cplusplus >> $logfile 2>&1
make -j$(nproc) >> $logfile 2>&1 make -j$(nproc) >> $logfile 2>&1
make -s install >> $logfile 2>&1 make -s install >> $logfile 2>&1
cd .. cd $home/source
fi fi
cd libtorrent-$libvers cd libtorrent*
echo "Installing libtorrent" | tee -a $logfile echo "Installing libtorrent" | tee -a $logfile
./autogen.sh >> $logfile 2>&1 ./autogen.sh >> $logfile 2>&1
if [ $osname = "Raspbian" ]; then if [ $osname = "Raspbian" ]; then
@@ -238,7 +241,7 @@ fi
make -j$(nproc) >> $logfile 2>&1 make -j$(nproc) >> $logfile 2>&1
make -s install >> $logfile 2>&1 make -s install >> $logfile 2>&1
cd ../rtorrent-$rtvers cd ../rtorrent*
echo "Installing rtorrent" | tee -a $logfile echo "Installing rtorrent" | tee -a $logfile
./autogen.sh >> $logfile 2>&1 ./autogen.sh >> $logfile 2>&1
./configure --prefix=/usr --with-xmlrpc-c --enable-ipv6 >> $logfile 2>&1 ./configure --prefix=/usr --with-xmlrpc-c --enable-ipv6 >> $logfile 2>&1
@@ -246,8 +249,6 @@ make -j$(nproc) >> $logfile 2>&1
make -s install >> $logfile 2>&1 make -s install >> $logfile 2>&1
ldconfig >> $logfile 2>&1 ldconfig >> $logfile 2>&1
echo "$libvers/$rtvers installed"
echo
if [ -d /var/www/rutorrent/conf/users ]; then if [ -d /var/www/rutorrent/conf/users ]; then
cd /var/www/rutorrent/conf/users cd /var/www/rutorrent/conf/users
+2 -2
View File
@@ -20,8 +20,8 @@ if [ $(dpkg-query -W -f='${Status}' webmin 2>/dev/null | grep -c "ok installed")
echo "Installing Webmin" echo "Installing Webmin"
echo "deb http://download.webmin.com/download/repository sarge contrib" > /etc/apt/sources.list.d/webmin.list echo "deb http://download.webmin.com/download/repository sarge contrib" > /etc/apt/sources.list.d/webmin.list
wget -qO - http://www.webmin.com/jcameron-key.asc | apt-key add - wget -qO - http://www.webmin.com/jcameron-key.asc | apt-key add -
apt-get -qq update aptitude -q=5 update
apt-get -qq install webmin aptitude -q=5 -y install webmin
else else
echo 'Webmin is already installed' echo 'Webmin is already installed'
fi fi