Last active
July 11, 2021 10:32
-
-
Save h4cc/c54d3944cb555f32ffdf25a5fa1f2602 to your computer and use it in GitHub Desktop.
Ubuntu 18.04 Bionic Beaver - Basic packages i usually install
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Ubuntu 18.04 (Bionic Beaver) | |
# | |
# Basic packages i usually install. | |
# | |
# Author: Julius Beckmann <[email protected]> | |
# | |
# Upgraded Script from 17.04: https://gist.github.com/h4cc/09b7fe843bb737c8039ac62d831f244e | |
# Upgraded Script from 16.04: https://gist.github.com/h4cc/fe48ed9d85bfff3008704919062f5c9b | |
# Upgraded Script from 14.04: https://gist.github.com/h4cc/7be7f940325614dc59fb | |
# | |
.PHONY: all preparations libs update upgrade fonts python ruby virtualbox vagrant graphics darktable networking google_chrome dropbox slack archives media pandoc system harddisk docker ansible filesystem nodejs apache2 php72 php56 mysql mysql-workbench postgres memcached mongodb tools encfs_manager nautilus httpie esl_repo erlang elixir couchdb teamviewer xmind presentation idea_intellij | |
all: | |
@echo "Installation of ALL targets" | |
make preparations libs | |
make upgrade | |
make fonts | |
make graphics darktable | |
make networking google_chrome dropbox httpie | |
make media pandoc | |
make presentation | |
make archives system harddisk filesystem tools encfs_manager nautilus | |
make docker ansible virtualbox vagrant | |
make nodejs | |
make apache2 php7 mysql mysql-workbench memcached mongodb | |
make postgres | |
make openoffice owncloud | |
make erlang elixir | |
make couchdb | |
make teamviewer | |
make xmind | |
preparations: | |
make update | |
sudo apt -y install software-properties-common build-essential checkinstall wget curl git libssl-dev apt-transport-https ca-certificates | |
sudo dpkg --add-architecture i386 | |
libs: | |
sudo apt -y install libavahi-compat-libdnssd-dev | |
update: | |
sudo apt update | |
upgrade: | |
sudo apt -y upgrade | |
fonts: | |
mkdir -p ~/.fonts/ | |
rm -f ~/.fonts/FiraCode-* | |
wget https://github.com/tonsky/FiraCode/raw/master/distr/otf/FiraCode-Bold.otf -O ~/.fonts/FiraCode-Bold.otf | |
wget https://github.com/tonsky/FiraCode/raw/master/distr/otf/FiraCode-Light.otf -O ~/.fonts/FiraCode-Light.otf | |
wget https://github.com/tonsky/FiraCode/raw/master/distr/otf/FiraCode-Medium.otf -O ~/.fonts/FiraCode-Medium.otf | |
wget https://github.com/tonsky/FiraCode/raw/master/distr/otf/FiraCode-Regular.otf -O ~/.fonts/FiraCode-Regular.otf | |
wget https://github.com/tonsky/FiraCode/raw/master/distr/otf/FiraCode-Retina.otf -O ~/.fonts/FiraCode-Retina.otf | |
fc-cache -v | |
python: | |
make preparations | |
sudo -H apt -y install python-pip | |
sudo -H pip install --upgrade pip | |
ruby: | |
sudo apt -y install ruby ruby-dev ruby-bundler | |
sudo gem install bundler | |
graphics: | |
sudo apt -y install gimp gimp-data gimp-plugin-registry gimp-data-extras geeqie graphviz jpegoptim | |
darktable: | |
sudo apt -y install darktable | |
networking: | |
sudo apt -y install pidgin filezilla vinagre remmina chromium-browser pepperflashplugin-nonfree bmon | |
google_chrome: | |
rm -f google-chrome-stable_current_amd64.deb | |
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb | |
sudo apt -y install libappindicator1 libindicator7 | |
sudo dpkg -i google-chrome-stable_current_amd64.deb | |
rm -f google-chrome-stable_current_amd64.deb | |
dropbox: | |
sudo apt -y install nautilus-dropbox | |
slack: | |
apt -y install gvfs-bin libgnome-keyring0 gir1.2-gnomekeyring-1.0 | |
rm -f slack-desktop-3.0.5-amd64.deb | |
wget https://downloads.slack-edge.com/linux_releases/slack-desktop-3.0.5-amd64.deb | |
sudo dpkg -i slack-desktop-3.0.5-amd64.deb | |
rm -f slack-desktop-3.0.5-amd64.deb | |
archives: | |
sudo apt -y install unace unrar zip unzip p7zip-full p7zip-rar sharutils rar uudeview mpack arj cabextract file-roller | |
media: | |
sudo apt -y install mplayer mplayer-gui libavcodec-extra libdvdread4 blender totem okular okular-extra-backends libdvdnav4 libdvdread4 gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly libdvd-pkg ubuntu-restricted-extras xubuntu-restricted-extras | |
sudo apt -y install libxvidcore4 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-plugins-bad gstreamer1.0-alsa gstreamer1.0-fluendo-mp3 gstreamer1.0-libav | |
# DVD Playback | |
sudo apt -y install libdvd-pkg | |
sudo dpkg-reconfigure libdvd-pkg | |
pandoc: | |
sudo apt -y install pandoc pandoc-citeproc texlive texlive-latex-extra texlive-latex-base texlive-fonts-recommended texlive-latex-recommended texlive-latex-extra texlive-lang-german texlive-xetex preview-latex-style dvipng nbibtex | |
presentation: | |
sudo apt -y install pdf-presenter-console | |
system: | |
sudo apt -y install icedtea-8-plugin openjdk-8-jre subversion rabbitvcs-nautilus git curl vim network-manager-openvpn gparted gnome-disk-utility usb-creator-gtk traceroute cloc whois mssh inotify-tools openssh-server sqlite3 etckeeper stress ntp | |
#--- Raise inotify limit | |
echo "fs.inotify.max_user_watches = 524288" | sudo tee /etc/sysctl.d/60-inotify.conf | |
sudo service procps restart | |
harddisk: | |
sudo apt -y install smartmontools gsmartcontrol smart-notifier | |
docker: | |
exit 1 # TODO | |
make python | |
sudo apt -y install linux-image-extra-virtual | |
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D | |
sudo sh -c "echo deb https://apt.dockerproject.org/repo ubuntu-bionic main > /etc/apt/sources.list.d/docker.list" | |
make update | |
sudo apt -y install docker-engine | |
# Installing docker compose additionally. | |
sudo pip install docker-compose | |
vagrant: | |
exit 1 # TODO | |
#[ -f vagrant_1.9.4_x86_64.deb ] || wget https://releases.hashicorp.com/vagrant/1.9.4/vagrant_1.9.4_x86_64.deb | |
#sudo dpkg -i vagrant_1.9.4_x86_64.deb | |
#rm -f vagrant_1.9.4_x86_64.deb | |
virtualbox: | |
# From https://wiki.ubuntuusers.de/VirtualBox/Installation/ | |
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add - | |
sudo sh -c 'echo "deb http://download.virtualbox.org/virtualbox/debian bionic contrib" > /etc/apt/sources.list.d/virtualbox.list' | |
make update | |
sudo apt -y install virtualbox-6.0 | |
# Install extpack | |
rm -f Oracle_VM_VirtualBox_Extension_Pack-6.0.2.vbox-extpack | |
wget https://download.virtualbox.org/virtualbox/6.0.2/Oracle_VM_VirtualBox_Extension_Pack-6.0.2.vbox-extpack | |
sudo VBoxManage extpack install --replace --accept-license=56be48f923303c8cababb0bb4c478284b688ed23f16d775d729b89a2e8e5f9eb Oracle_VM_VirtualBox_Extension_Pack-6.0.2.vbox-extpack | |
rm -f Oracle_VM_VirtualBox_Extension_Pack-6.0.2.vbox-extpack | |
ansible: | |
#sudo apt-add-repository -y ppa:ansible/ansible | |
#make update | |
sudo apt -y install ansible | |
filesystem: | |
sudo apt -y install exfat-fuse exfat-utils e2fsprogs mtools dosfstools hfsutils hfsprogs jfsutils util-linux lvm2 nilfs-tools ntfs-3g reiser4progs reiserfsprogs xfsprogs attr quota f2fs-tools sshfs go-mtpfs jmtpfs | |
nodejs: | |
exit 1 # TODO | |
#curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - | |
#apt-get install -y nodejs | |
apache2: | |
sudo apt -y install apache2 apache2-utils php7.2 libapache2-mod-php7.2 | |
sudo a2enmod rewrite | |
sudo systemctl restart apache2 | |
php72: | |
sudo add-apt-repository -y ppa:ondrej/php | |
make update | |
sudo apt -y install -y php7.2 php7.2-cli php7.2-dev php7.2-curl php7.2-gd php7.2-gmp php7.2-json php7.2-mysql php7.2-sqlite3 php7.2-xml php7.2-bz2 php7.2-enchant php7.2-imap php7.2-intl php7.2-mbstring php7.2-soap php7.2-xsl php7.2-zip | |
sudo update-alternatives --set php /usr/bin/php7.2 | |
# # TODO: Missing PHP modules here? | |
# sudo apt -y install php7.0-json php7.0-mcrypt php7.0-intl php7.0-cli php7.0-sqlite3 \ | |
# php7.0-mysql php7.0-ldap php7.0-gmp php7.0-gd php7.0-curl php-pear php7.0-dev | |
# sudo apt -y install php-bcmath php-bz2 php-curl php-enchant php-gd php-gmp php-imap \ | |
# php-interbase php-intl php-json php-ldap php-mbstring php-mcrypt php-mysql php-odbc \ | |
# php-pgsql php-pspell php-readline php-recode php-soap php-sqlite3 php-sybase \ | |
# php-tidy php-xml php-xmlrpc php-zip | |
# # - Set php timezone to berlin in all php.ini files. | |
# sudo sed -i 's@;date.timezone [email protected] = "Europe/Berlin"@g' /etc/php/7.0/*/php.ini | |
# # - Active writing of PHAR files for cli. | |
# sudo sed -i 's@;phar.readonly = [email protected] = Off@g' /etc/php/7.0/cli/php.ini | |
# #- PhpMyAdmin with 24 hours session lifetime. | |
# sudo apt -y install phpmyadmin | |
# #sudo sh -c "echo \"<?php $cfg['LoginCookieValidity'] = 3600 * 24; // 24 hours.\" > /etc/phpmyadmin/conf.d/LoginTimeout.php" | |
php56: | |
sudo add-apt-repository -y ppa:ondrej/php | |
make update | |
sudo apt-get install -y php5.6 php5.6-dev php5.6-cli php5.6-mysql php5.6-mbstring php5.6-curl php5.6-gd php5.6-imap php5.6-sqlite3 php5.6-opcache php5.6-json php5.6-bz2 php5.6-mcrypt php5.6-mbstring php5.6-xml php5.6-zip | |
# # From: http://askubuntu.com/questions/761713/how-can-i-downgrade-from-php-7-to-php-5-6-on-ubuntu-16-04 | |
# sudo a2dismod proxy_fcgi proxy; sudo service apache2 restart | |
# sudo add-apt-repository -y ppa:ondrej/php | |
# make update | |
# sudo apt-get -y install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbstring php-xdebug php-apcu libapache2-mod-php5.6 libapache2-mod-php7.0 | |
# sudo a2dismod php7.0 | |
# sudo a2enmod php5.6 | |
# sudo service apache2 restart | |
# sudo ln -sfn /usr/bin/php5.6 /etc/alternatives/php | |
mysql: | |
sudo apt -y install mysql-server mysql-client | |
#sudo mysql_secure_installation | |
mysql-workbench: | |
sudo apt -y install mysql-workbench | |
postgres: | |
sudo apt -y install postgresql postgresql-contrib pgadmin3 | |
#sudo -i -u postgres psql | |
#> \password postgres | |
#> postgres | |
#> postgres | |
#> \q | |
memcached: | |
sudo apt -y install memcached | |
mongodb: | |
sudo apt -y install mongodb | |
tools: | |
sudo apt -y install htop meld guake password-gorilla keepassx retext terminator vim geany ghex myrepos baobab | |
# Fix for nautilus not starting my preferred terminal on right click. | |
#sudo apt-get -y remove gnome-terminal | |
#sudo ln -fs /usr/bin/terminator /usr/bin/gnome-terminal | |
httpie: ruby | |
sudo apt -y install python-pip | |
sudo pip install --upgrade httpie | |
encfs_manager: | |
sudo add-apt-repository -y ppa:gencfsm/ppa | |
make update | |
sudo apt -y install gnome-encfs-manager | |
nautilus: | |
sudo apt -y install nautilus-image-converter nautilus-compare nautilus-wipe | |
esl_repo: | |
rm -f erlang-solutions_1.0_all.deb | |
wget http://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb | |
sudo dpkg -i erlang-solutions_1.0_all.deb | |
rm -f erlang-solutions_1.0_all.deb | |
make update | |
erlang: | |
#make esl_repo | |
sudo apt -y install erlang | |
elixir: | |
#make esl_repo | |
sudo apt -y install elixir | |
couchdb: | |
exit 1 # TODO | |
#sudo apt -y install couchdb | |
teamviewer: | |
sudo apt -y install qml-module-qtquick-dialogs qml-module-qtquick-privatewidgets | |
rm -f teamviewer_amd64.deb | |
wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb | |
sudo dpkg -i teamviewer_amd64.deb | |
rm -f teamviewer_amd64.deb | |
xmind: | |
[ -f xmind-7-update1-linux_amd64.deb ] || wget --user-agent="Mozilla/5.0" http://dl2.xmind.net/xmind-downloads/xmind-7-update1-linux_amd64.deb | |
sudo apt -y install lame libwebkitgtk-1.0-0 | |
sudo dpkg -i xmind-7-update1-linux_amd64.deb | |
idea_intellij: | |
sudo apt-add-repository -y ppa:mmk2410/intellij-idea | |
make update | |
sudo apt -y install intellij-idea-community | |
#dell_c2665_dnf: | |
# sudo apt -y install rpm2cpio | |
# rm -f C2665dnf-Linux-Driver.zip | |
# wget https://downloads.dell.com/FOLDER01815904M/1/C2665dnf-Linux-Driver.zip | |
# unzip C2665dnf-Linux-Driver.zip |
👍
Awesome script -- how do I run this?
How do we run that @h4cc
I am not able to install couchdb on bionic 18.04. Here is what I did:
user:~$ sudo apt-get -y install couchdb Reading package lists... Done Building dependency tree Reading state information... Done Package couchdb is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'couchdb' has no installation candidate
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hey, this is really cool, I made my own similar to this. Thanks! https://github.com/dylanmtaylor/dylan-ubuntu-makefile