Skip to content

Instantly share code, notes, and snippets.

@wj42ftns
Last active September 8, 2018 08:16
Show Gist options
  • Save wj42ftns/b18c559e6c68e12a80dbd328c90a97d1 to your computer and use it in GitHub Desktop.
Save wj42ftns/b18c559e6c68e12a80dbd328c90a97d1 to your computer and use it in GitHub Desktop.
reinstall Ubuntu 16.04
#!/bin/bash
# После установки версии с минимальным набором программ и проставлением галки о автовходе на пользователя при установке xubuntu
# нужно руками через GUI сделать:
# 1) в keyboard
# на вкладке layout снять галку использования системного языка и добавить русский язык и выбрать способ изменения раскладки (shift + alt)
# чтобы появилось отображение текущего языка в трее: ПКМ по панели -> panel -> add new items -> keyboard layouts
pathToBackupRoot='/media/wj42/428dee81-1ea9-49af-b3a7-51e2bab7525e/backup/rsync' # без / на конце !
customEcho()
{
local message="$1"
tput setaf 2;
echo '##################################################################'
echo "# ${message}"
echo '##################################################################'
tput sgr0
}
# customEcho 'Nvidia'
# sudo add-apt-repository ppa:graphics-drivers/ppa -y
# sudo apt install nvidia-396 # nvidia-375 (если 396 будет плохо)
# sudo apt install nvidia-settings
# sudo nvidia-xconfig # создать /etc/X11/xorg.conf
sudo apt update
customEcho 'apt-transport-https'
sudo apt install apt-transport-https -y
customEcho 'curl'
sudo apt install curl -y
customEcho 'expect'
sudo apt install expect -y # потом разобраться: https://habr.com/company/ruvds/blog/328436/
# sudo sed -i.bak "/^# deb .*partner/ s/^# //" /etc/apt/sources.list # включить PPA canonical (нужно для скайпа) - скорее всего не нужно, скайп теперь через snap
customEcho 'git'
sudo apt install git -y
wget -O ~/.gitconfig "https://gist.githubusercontent.com/wj42ftns/96e8bafb80b4dd23f36c062835e63b6d/raw/5a2c0bfbed3c2c3c910ef78e76b6e7585fa2835f/.gitconfig"
customEcho 'Systemback'
# Systemback через PPA не пашет в 18.04
# sudo add-apt-repository ppa:nemh/systemback -y
# sudo apt install systemback -y
# http://compizomania.blogspot.com/2018/03/systemback-live-ubuntu-1804.html
mkdir -p /tmp/systemback
wget -O /tmp/systemback/Systemback_Install_Pack_v1.8.402.tar.xz "https://cytranet.dl.sourceforge.net/project/systemback/1.8/Systemback_Install_Pack_v1.8.402.tar.xz"
cd /tmp/systemback
tar -xpJf Systemback_Install_Pack_v1.8.402.tar.xz
cd Systemback_Install_Pack_v1.8.402
printf '4\n' | sudo ./install.sh
customEcho 'Пакеты для работы vpn типа l2tp/ipsec ( появится новый пункт в подгруппе vpn - при создании vpn обязательно нужно указать (это уже при подключении сети руками вбивать) Phase1 algoritmhs: "3des-sha1-modp1024!" и Phase2 algoritmhs: "3des-sha1!" )'
sudo apt install network-manager-l2tp-gnome -y
sudo apt install strongswan -y
sudo apt install libstrongswan-extra-plugins -y
sudo apt install libcharon-extra-plugins -y
customEcho 'Пакеты для работы vpn типа openVPN (в пункт импорта файла настроек номально начнут импортироваться настройки)'
sudo apt install openvpn -y
sudo apt install network-manager-openvpn -y
sudo apt install network-manager-openvpn-gnome -y
customEcho 'PPA менеджер'
sudo add-apt-repository ppa:webupd8team/y-ppa-manager -y
sudo apt install y-ppa-manager -y
customEcho 'boot-repair'
sudo add-apt-repository ppa:yannubuntu/boot-repair -y
sudo apt install boot-repair -y
customEcho 'Virtual Box'
wget -q -O - http://download.virtualbox.org/virtualbox/debian/oracle_vbox_2016.asc | sudo apt-key add -
sudo sh -c "echo 'deb http://download.virtualbox.org/virtualbox/debian zesty non-free contrib' >> /etc/apt/sources.list.d/virtualbox.org.list"
customEcho 'Когда спросит yes/no жать: no!'
sudo apt install virtualbox -y
sudo usermod -G vboxusers -a ${USER}
customEcho 'Chrome'
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c "echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' >> /etc/apt/sources.list.d/google.list"
sudo apt update
sudo apt install google-chrome-stable -y
sudo rm -f ~/.local/share/keyrings/* # Очистка ключей для входа в chrome (если у пользователя был включен пароль на входе)
yes | cp -rf "${pathToBackupRoot}/usr/share/applications/google-chrome.desktop" /usr/share/applications/google-chrome.desktop # ярлык с имунитетом(не идеальным) к ошибкам
customEcho 'Очистка дублей репозитериев (Chrome - создаёт дубли)' # https://askubuntu.com/questions/760896/how-can-i-fix-apt-error-w-target-packages-is-configured-multiple-times
sudo mkdir -p /opt/aptsources-cleanup
sudo wget -O /opt/aptsources-cleanup/aptsources-cleanup.zip "https://github.com/davidfoerster/aptsources-cleanup/releases/download/v0.1.5/aptsources-cleanup.zip"
cd /opt/aptsources-cleanup
printf 'yes\n' | sudo python3 -OEs aptsources-cleanup.zip
customEcho 'KeePass2'
sudo add-apt-repository ppa:jtaylor/keepass -y
customEcho 'KeePass2 плагин для отображения в трее'
sudo add-apt-repository ppa:dlech/keepass2-plugins -y
sudo apt install keepass2 -y
customEcho 'для автозаполнения по Ctrl-V'
sudo apt install xdotool -y
customEcho 'для отображения в трее'
sudo apt install keepass2-plugin-application-indicator -y
customEcho 'для chrome плагина: ChromeIPass'
sudo wget -O /usr/lib/keepass2/KeePassHttp.plgx "https://raw.github.com/pfn/keepasshttp/master/KeePassHttp.plgx"
sudo apt install libmono-system-xml-linq4.0-cil libmono-system-data-datasetextensions4.0-cil libmono-system-runtime-serialization4.0-cil -y
sudo apt install mono-mcs -y
customEcho 'vim'
sudo apt install vim -y
wget -O ~/.vimrc "https://gist.githubusercontent.com/wj42ftns/98cbea1fd4f79f62aa035b8435177bf6/raw/06f008cda6483d96bcb91bd61e42870652eda6c6/.vimrc"
customEcho 'zsh'
sudo apt install zsh -y
customEcho 'Установка OH-MY-ZSH'
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | zsh
chsh -s `which zsh`
customEcho 'пользовательские алиасы для баша и их подключение к zsh'
wget -O ~/.bashCustomAliases "https://gist.githubusercontent.com/wj42ftns/f360f1a65a18d44290fd2342a0b4bff7/raw/0f3d741459593ea859ab7d73542815c86959c4dd/.bashCustomAliases"
sudo sh -c "echo 'source ~/.bashCustomAliases' >> ~/.zshrc"
customEcho 'sublime3'
printf 'yes\n' | sudo snap install sublime-text --classic
customEcho 'Фикс предложений обновиться в sublime-text-3'
sudo sh -c "echo '' >> /etc/hosts"
sudo sh -c "echo '# fix update notification for sublime-text-3' >> /etc/hosts"
sudo sh -c "echo '127.0.0.1 www.sublimetext.com' >> /etc/hosts"
customEcho 'thunderbird'
sudo apt install thunderbird -y
yes | cp -rf "${pathToBackupRoot}/home/wj42/.thunderbird" ~/.thunderbird
customEcho 'Terminator'
sudo apt install terminator -y
yes | cp -rf "${pathToBackupRoot}/home/wj42/.config/terminator" ~/.config/terminator
customEcho 'alarm-clock-applet'
sudo apt install alarm-clock-applet -y
customEcho 'bleachbit'
sudo apt install bleachbit -y
customEcho 'gdebi'
sudo apt install gdebi -y
customEcho 'gparted'
sudo apt install gparted -y
customEcho 'sensors'
sudo apt install lm-sensors -y
customEcho 'hddtemp'
sudo apt install hddtemp -y
customEcho 'psensor'
sudo apt install psensor -y
customEcho 'meld'
sudo apt install meld -y
customEcho 'synaptic'
sudo apt install synaptic -y
customEcho 'kazam'
sudo apt install kazam -y
customEcho 'flameshot'
sudo apt install flameshot -y
customEcho 'transmission'
sudo apt install transmission -y
customEcho 'sshuttle'
sudo apt install sshuttle -y # https://habr.com/post/318694/
customEcho 'unrar'
sudo apt install unrar -y # распаковывание .rar , пример использования: unrar x -r /home/wj42/Downloads/Win10.rar
customEcho 'корректная работа flash в fireFox'
sudo apt install flashplugin-installer -y
customEcho 'skype'
snap install skype --classic
customEcho 'xnviewmp'
snap install xnviewmp
customEcho 'vlc'
snap install vlc
customEcho 'htop'
snap install htop
customEcho 'tree'
snap install tree
customEcho 'onlyoffice-desktopeditors'
snap install onlyoffice-desktopeditors
customEcho 'telegram-desktop'
snap install telegram-desktop
customEcho 'slack'
snap install slack --classic
customEcho 'shutter'
sudo apt install shutter -y
# ниже нужно для возможности редактирования встроенным редактором картинок для ubuntu18.04 (может в новых версиях этого не нужно)
mkdir -p /tmp/shutter
wget -O /tmp/shutter/libgoocanvasCommon.deb "https://launchpad.net/ubuntu/+archive/primary/+files/libgoocanvas-common_1.0.0-1_all.deb"
wget -O /tmp/shutter/libgoocanvas3.deb "https://launchpad.net/ubuntu/+archive/primary/+files/libgoocanvas3_1.0.0-1_amd64.deb"
wget -O /tmp/shutter/libgooCanvasPerl.deb "https://launchpad.net/ubuntu/+archive/primary/+files/libgoo-canvas-perl_0.06-2ubuntu3_amd64.deb"
cd /tmp/shutter
sudo dpkg -i libgoocanvasCommon.deb
sudo dpkg -i libgoocanvas3.deb
sudo dpkg -i libgooCanvasPerl.deb
sudo apt install -fy
yes | cp -rf "${pathToBackupRoot}/home/wj42/.shutter" ~/.shutter
# Double Commander - пока не пашет в 18.04
# sudo add-apt-repository ppa:alexx2000/doublecmd -y
# sudo apt install doublecmd-gtk -y
customEcho 'Mega Sync'
mkdir -p /tmp/megaSync
wget -O /tmp/megaSync/megasync.deb "https://mega.nz/linux/MEGAsync/xUbuntu_18.04/amd64/megasync-xUbuntu_18.04_amd64.deb"
cd /tmp/megaSync
sudo dpkg -i megasync.deb
sudo apt install -fy
customEcho 'TeamViewer'
mkdir -p /tmp/teamviewer
wget -O /tmp/teamviewer/teamviewer.deb "https://download.teamviewer.com/download/linux/teamviewer_amd64.deb"
cd /tmp/teamviewer
sudo dpkg -i teamviewer.deb
sudo apt install -fy
############# ТО ЧТО НУЖНО ПОПЫТАТЬСЯ СДЕЛАТЬ ЛУЧШЕ (СЕЙЧАС РАБОТАЕТ ТОЛЬКО ТАК - 09.05.2018)
# в 18.04 выпилили gksu , а без него не пашет UNetbootin - посмотрим что будет в будущем
# UNetbootin
# sudo add-apt-repository ppa:gezakovacs/ppa -y
# sudo apt install unetbootin -y
customEcho 'unetbootin'
sudo mkdir -p /opt/unetbootin
sudo wget -O /opt/unetbootin/unetbootin.bin "https://github.com/unetbootin/unetbootin/releases/download/661/unetbootin-linux64-661.bin"
cd /opt/unetbootin
sudo ln -s /opt/unetbootin/unetbootin.bin /usr/local/bin/unetbootin
yes | cp -rf "${pathToBackupRoot}/usr/share/applications/unetbootin.desktop" /usr/share/applications/unetbootin.desktop
##########################################################################################
customEcho 'перенос RSA ключей'
rm -rf "${pathToBackupRoot}/home/wj42/.ssh/*" # Удаляет всё, что там было раньше!!
yes | cp -rf "${pathToBackupRoot}/home/wj42/.ssh/" ~
customEcho 'перенос myTetra'
yes | cp -rf "${pathToBackupRoot}/opt/mytetra" /opt/mytetra
sudo chown -R wj42:wj42 /opt/mytetra
sudo chmod -R 774 /opt/mytetra
yes | cp -rf "${pathToBackupRoot}/usr/share/applications/mytetra.desktop" /usr/share/applications/mytetra.desktop
# DoubleCommander
# yes | cp -rf "${pathToBackupRoot}/home/wj42/.config/doublecmd" ~/.config/doublecmd
customEcho 'перенос стандартных bin скриптов'
yes | cp -rf "${pathToBackupRoot}/home/wj42/.binScripts/" ~/.binScripts/
sudo ln -s ~/.binScripts/mytetra.sh /usr/local/bin/mytetra
sudo ln -s ~/.binScripts/flush-dns.sh /usr/local/bin/flush-dns
sudo ln -s ~/.binScripts/robo3t.sh /usr/local/bin/robo3t
customEcho 'перенос биндингов шорткатов команд'
yes | cp -rf "${pathToBackupRoot}/home/wj42/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml" ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
customEcho 'перенос автозагрузки программ'
yes | cp -rf "${pathToBackupRoot}/home/wj42/.config/autostart/Flameshot.desktop" ~/.config/autostart/Flameshot.desktop
yes | cp -rf "${pathToBackupRoot}/home/wj42/.config/autostart/megasync.desktop" ~/.config/autostart/megasync.desktop
yes | cp -rf "${pathToBackupRoot}/home/wj42/.config/autostart/slack.desktop" ~/.config/autostart/slack.desktop
yes | cp -rf "${pathToBackupRoot}/home/wj42/.config/autostart/psensor.desktop" ~/.config/autostart/psensor.desktop
yes | cp -rf "${pathToBackupRoot}/home/wj42/.config/autostart/mytetra.run.desktop" ~/.config/autostart/mytetra.run.desktop
yes | cp -rf "${pathToBackupRoot}/home/wj42/.config/autostart/thunderbird.desktop" ~/.config/autostart/thunderbird.desktop
yes | cp -rf "${pathToBackupRoot}/home/wj42/.config/autostart/swap-ESC-and-CapsLock.desktop" ~/.config/autostart/swap-ESC-and-CapsLock.desktop
yes | cp -rf "${pathToBackupRoot}/home/wj42/.config/autostart/swap-ESC-and-CapsLock.sh" ~/.config/autostart/swap-ESC-and-CapsLock.sh
customEcho 'Перенос openVPN пользователей'
yes | cp -rf "${pathToBackupRoot}/home/wj42/.vpn" ~/.vpn/
customEcho 'Включение сенсоров'
yes | sudo sensors-detect
customEcho 'Обновление и очистка после всех установок'
sudo apt full-upgrade -y
sudo apt autoremove -y
customEcho 'перезагрузка...'
sleep 1
echo '5'
sleep 1
echo '4'
sleep 1
echo '3'
sleep 1
echo '2'
sleep 1
echo '1'
sleep 1
sudo shutdown -r 0
#!/bin/bas
pathToBackupRoot='/media/wj42/428dee81-1ea9-49af-b3a7-51e2bab7525e/backup/rsync' # без / на конце !
trim()
{
local trimmed="$1"
# Strip leading space.
trimmed="${trimmed## }"
# Strip trailing space.
trimmed="${trimmed%% }"
echo "$trimmed"
}
# Первоначальные программы для дальнейших установок:
#
#NVM (Node Version Manager)
sudo apt install build-essential -y
sudo apt install checkinstall -y
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | sudo bash
source ~/.bashrc
source ~/.zshrc
# Установка через nvm - node
# Установить последнюю LTS версию
##########
# | tail -1 из всех grep'ов передаст дальше только последний
# | sed - то, что ниже вытаскивает из передаваемой строки цифры и точки (версию)
nodeLastLTSVersion=$(nvm ls-remote | grep Latest | tail -1 | sed -ne 's/[^0-9]*\(\([0-9]\.\)\{0,4\}[0-9][^.]\).*/\1/p')
trimmedNodeLastLTSVersion="$(trim ${nodeLastLTSVersion})"
nvm install ${trimmedNodeLastLTSVersion} # установка nodeJs
npm install -g npm # обновление npm
sudo chown -R $USER:$(id -gn $USER) ~/.config
sudo chown -R $USER:$(id -gn $USER) ~/.nvm
# Atom
# sudo add-apt-repository ppa:webupd8team/atom -y
# sudo apt install atom -y
# yarn
# sudo apt remove cmdtest - если будет установлена не последняя версия и будут баги - проробовать раскомментировать эти 2 строки
# sudo apt remove yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt install yarn
# nginx
sudo apt-add-repository ppa:nginx/stable -y
# Nginx - заменить стандартного пользователя
sudo apt install nginx -y
sudo sed -i '1d' /etc/nginx/nginx.conf
sudo sed -i -e "1 s/^/user $USER;\n/;" /etc/nginx/nginx.conf
# ibc nginx конфиги
wget -O /etc/nginx/sites-available/halls.conf "https://gist.githubusercontent.com/wj42ftns/e134afe84b3b7078dd85988c0e49cee8/raw/8d341db1b2ee868f0ba7c73d19ea738de4650ab0/halls.conf"
sudo ln -s /etc/nginx/sites-available/halls.conf /etc/nginx/sites-enabled/halls.conf
wget -O /etc/nginx/sites-available/mice.conf "https://gist.githubusercontent.com/wj42ftns/e134afe84b3b7078dd85988c0e49cee8/raw/8d341db1b2ee868f0ba7c73d19ea738de4650ab0/mice.conf"
sudo ln -s /etc/nginx/sites-available/mice.conf /etc/nginx/sites-enabled/mice.conf
wget -O /etc/nginx/sites-available/mob_admin.conf "https://gist.githubusercontent.com/wj42ftns/e134afe84b3b7078dd85988c0e49cee8/raw/8d341db1b2ee868f0ba7c73d19ea738de4650ab0/mob_admin.conf"
sudo ln -s /etc/nginx/sites-available/mob_admin.conf /etc/nginx/sites-enabled/mob_admin.conf
wget -O /etc/nginx/sites-available/platform_mice.conf "https://gist.githubusercontent.com/wj42ftns/e134afe84b3b7078dd85988c0e49cee8/raw/665f8f5106063229ccf7104b52d67af65bd5297b/platform_mice.conf"
sudo ln -s /etc/nginx/sites-available/platform_mice.conf /etc/nginx/sites-enabled/platform_mice.conf
wget -O /etc/nginx/sites-available/render.api.conf "https://gist.githubusercontent.com/wj42ftns/e134afe84b3b7078dd85988c0e49cee8/raw/8d2b4a3ad54ba435baffb122c51d0389ccc7ebe5/render.api.conf"
sudo ln -s /etc/nginx/sites-available/render.api.conf /etc/nginx/sites-enabled/render.api.conf
# redis
sudo add-apt-repository ppa:chris-lea/redis-server -y
sudo apt install redis-server -y
# mongoDB
#sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
wget -qO- https://www.mongodb.org/static/pgp/server-3.4.asc | sudo apt-key add
sudo bash -c "echo deb http://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/3.4 multiverse > /etc/apt/sources.list.d/mongodb-org.list"
sudo apt-get install -y mongodb-org
# docker
snap install docker
sudo groupadd docker
sudo gpasswd -a $USER docker
# docker
# sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
# sudo apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-bionic main'
# sudo apt install docker-engine -y
snap install vscode --classic
# Установка глобальных npm пакетов
npm install -g bower
# Установка docker-compose
COMPOSE_VERSION=`git ls-remote https://github.com/docker/compose | grep refs/tags | grep -oP "[0-9]+\.[0-9][0-9]+\.[0-9]+$" | tail -n 1`
sudo sh -c "curl -L https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose"
sudo chmod +x /usr/local/bin/docker-compose
sudo sh -c "curl -L https://raw.githubusercontent.com/docker/compose/${COMPOSE_VERSION}/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose"
sudo apt -y install
# Обновление и очистка после всех установок
#
sudo apt full-upgrade -y
# локальные адреса сайтов в hosts:
sudo sh -c "echo '' >> /etc/hosts"
sudo sh -c "echo '# IBC Corporate travel' >> /etc/hosts"
sudo sh -c "echo '127.0.1.1 mice.local' >> /etc/hosts"
sudo sh -c "echo '127.0.1.1 api.mice.local' >> /etc/hosts"
sudo sh -c "echo '127.0.1.1 api.mice2.local' >> /etc/hosts"
sudo sh -c "echo '127.0.1.1 mob_admin.local' >> /etc/hosts"
sudo sh -c "echo '127.0.1.1 halls.local' >> /etc/hosts"
# robo3t
yes | cp -rf "${pathToBackupRoot}/opt/robo3t" /opt/robo3t
yes | cp -rf "${pathToBackupRoot}/usr/share/applications/robo3t.desktop" /usr/share/applications/robo3t.desktop
# SoapUI
yes | cp -rf "${pathToBackupRoot}/opt/SoapUI" /opt/SoapUI
yes | cp -rf "${pathToBackupRoot}/usr/share/applications/SoapUI.desktop" /usr/share/applications/SoapUI.desktop
# перезагрузка
sudo shutdown -r 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment