dnf install -y epel-release dnf install -y tar postgresql-server postgresql-contrib java-11-openjdk #optional dnf install -y vim tmux bc id3lib html2text p7zip-plugins libjpeg-turbo poppler-utils unzip netpbm-progs perl-Image-ExifTool #optional manual install catdoc unrtf ffmpeg newcfg (){ F="$1" chown --reference="$F" "$F".new chmod --reference="$F" "$F".new mv -f "$F".new "$F" } #PostgreSQL /usr/bin/postgresql-setup --initdb --unit postgresql systemctl enable postgresql TMP=/var/lib/pgsql/data/pg_hba.conf cp $TMP $TMP.original cat $TMP | grep -vP "^ *host.*127" > $TMP.new echo -e "host\tall\tall\t127.0.0.1/32\tpassword" >> $TMP.new newcfg $TMP TMP=/var/lib/pgsql/data/postgresql.conf cp $TMP $TMP.original MT=$(cat /proc/meminfo | grep MemTotal | perl -pe 's/^[^ ]* *([0-9]+) *kB$/$1\/1000/g'); #java+linux=(512+256) ECS=$(echo "($MT-(512+256))/2" | bc); SB=$(echo "($MT-(512+256))/4" | bc); cat $TMP | perl -pe 's/^#?(effective_cache_size)[ \t]*=[ \t]*[^ \t]+([ \t].*)?$/$1 = '$ECS'MB$2/g' \ | perl -pe 's/^#?(shared_buffers)[ \t]*=[ \t]*[^ \t]+([ \t].*)?$/$1 = '$SB'MB$2/g' \ | perl -pe 's/^#?(max_locks_per_transaction)[ \t]*=[ \t]*[^ \t]+([ \t].*)?$/$1 = 512$2/g' \ | perl -pe 's/^#?(max_connections)[ \t]*=[ \t]*[^ \t]+([ \t].*)?$/$1 = 60$2/g' \ | perl -pe 's/^#?(checkpoint_segments)[ \t]*=[ \t]*[^ \t]+([ \t].*)?$/$1 = 30$2/g' \ | perl -pe 's/^#?(log_min_duration_statement)[ \t]*=[ \t]*[^ \t]+([ \t].*)?$/$1 = 30000$2/g' \ | perl -pe 's/^#?(log_line_prefix)[ \t]*=[ \t]*[^#]+(#.*)?$/$1 = '\''%m: '\''\t\t$2/g' \ > $TMP.new newcfg $TMP systemctl start postgresql #Noodle cd /opt tar -zxf ./Noodle.tar.gz su postgres -c 'cd;/usr/bin/psql -d postgres -U postgres --file /opt/Noodle/init.sql' cd Noodle cp noodle.service /lib/systemd/system/ systemctl enable noodle systemctl start noodle
Other Linux Installation examples available.