Last active
September 7, 2022 15:24
-
-
Save zhonger/856cb339890a39761dd4b241aea378a7 to your computer and use it in GitHub Desktop.
Just for myself
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
#!/bin/bash | |
Version=$(lsb_release -c --short) | |
Codename=$(lsb_release -r --short) | |
OSArch=$(uname -m) | |
User=$(whoami) | |
# 设置 sudo 免密码 | |
echo "$(whoami) ALL=(ALL) NOPASSWD : ALL" | sudo tee /etc/sudoers.d/nopasswd4sudo | |
sudo sed -i 's/archive.ubuntu.com/mirrors.nju.edu.cn/g' /etc/apt/sources.list | |
# 配置镜像源及常用软件 | |
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak | |
sudo tee -a /etc/apt/sources.list << EOF | |
deb https://mirrors.nju.edu.cn/ubuntu/ $(lsb_release -c --short) main restricted universe multiverse | |
deb-src https://mirrors.nju.edu.cn/ubuntu/ $(lsb_release -c --short) main restricted universe multiverse | |
deb https://mirrors.nju.edu.cn/ubuntu/ $(lsb_release -c --short)-updates main restricted universe multiverse | |
deb-src https://mirrors.nju.edu.cn/ubuntu/ $(lsb_release -c --short)-updates main restricted universe multiverse | |
deb https://mirrors.nju.edu.cn/ubuntu/ $(lsb_release -c --short)-backports main restricted universe multiverse | |
deb-src https://mirrors.nju.edu.cn/ubuntu/ $(lsb_release -c --short)-backports main restricted universe multiverse | |
deb https://mirrors.nju.edu.cn/ubuntu/ $(lsb_release -c --short)-security main restricted universe multiverse | |
deb-src https://mirrors.nju.edu.cn/ubuntu/ $(lsb_release -c --short)-security main restricted universe multiverse | |
EOF | |
sudo apt update | |
sudo apt install -y curl gcc g++ make python2 python3 python3-pip vim speedometer htop language-pack-zh-hans | |
sudo apt install -y wget tmux unzip zip rar unrar rinetd uuid openssh-server software-properties-common | |
# Ubuntu 20.04 python2 pip | |
curl https://bootstrap.pypa.io/get-pip.py --output get-pip.py | |
sudo python2 get-pip.py | |
# mpirun numactl | |
numactl physcpubind=0-7 mpirun -n 8 --report-bindings command | |
numactl physcpubind=0-7 mpirun -n 8 --report-bindings ./executable & | |
# 配置 pip 镜像源 | |
mkdir ~/.pip | |
tee ~/.pip/pip.conf << EOF | |
[global] | |
index-url=https://pypi.doubanio.com/simple | |
format=columns | |
EOF | |
sudo pip install -U pip | |
sudo pip3 install -U pip | |
# 配置 Git 的 ppa 源 | |
sudo tee -a /etc/apt/sources.list.d/git.list << EOF | |
deb http://ppa.launchpad.net/git-core/ppa/ubuntu $(lsb_release -c --short) main | |
deb-src http://ppa.launchpad.net/git-core/ppa/ubuntu $(lsb_release -c --short) main | |
EOF | |
sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv E1DD270288B4E6030699E45FA1715D88E1DF1F24 | |
sudo sed -i 's/ppa.launchpad.net/launchpad.proxy.ustclug.org/' /etc/apt/sources.list.d/git.list | |
sudo apt update && sudo apt install -y git | |
sudo add-apt-repository ppa:git-core/ppa -y | |
sudo sed -i 's/ppa.launchpad.net/launchpad.proxy.ustclug.org/' /etc/apt/sources.list.d/git-core-ubuntu-ppa-xenial.list | |
sudo apt-get update && sudo apt install -y git | |
#Ubuntu 20.04 pip mirror | |
pip config set global.index-url https://mirror.nju.edu.cn/pypi/web/simple | |
pip install pip -U | |
sudo tee /etc/pip.conf << EOF | |
[global] | |
index-url=https://mirror.nju.edu.cn/pypi/web/simple | |
extra-index-url=https://pypi.doubanio.com/simple | |
extra-index-url=https://mirrors.aliyun.com/pypi/simple | |
format=columns | |
EOF | |
# 配置 zerotier | |
curl -s https://install.zerotier.com/ | sudo bash | |
# 安装 docker 及配置加速 | |
sudo tee -a /etc/apt/sources.list.d/docker.list << EOF | |
deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/docker.gpg] https://mirrors.nju.edu.cn/docker-ce/linux/ubuntu/ $(lsb_release -c --short) stable | |
EOF | |
curl -fsSL https://mirrors.nju.edu.cn/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg | |
sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin | |
sudo usermod -aG docker $(whoami) | |
sudo tee -a /etc/docker/daemon.json << EOF | |
{"registry-mirrors": ["https://docker.nju.edu.cn"]} | |
EOF | |
sudo service docker restart | |
# 删除所有 tag 为 none 的镜像 | |
docker images | grep none | awk '{print $3}' | xargs docker rmi | |
# 停止所有 tag 为 Exited 的镜像并移除 | |
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker stop | |
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rm | |
# 安装 zsh | |
sudo apt install -y zsh | |
git clone https://mirrors.nju.edu.cn/git/ohmyzsh.git .oh-my-zsh | |
cp .oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc | |
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" | |
tee -a .zshrc << EOF | |
setopt nonomatch | |
EOF | |
source .zshrc | |
git clone https://gitee.com/mirrors/oh-my-zsh.git ~/.oh-my-zsh | |
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc | |
chsh -s /bin/zsh | |
# 安装 nginx-n.wtf | |
sudo apt install -y lsb-release ca-certificates apt-transport-https wget gnupg dpkg | |
sudo wget -O /usr/share/keyrings/n.wtf.asc https://n.wtf/public.key | |
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/n.wtf.asc] https://mirror-cdn.xtom.com/sb/nginx/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/n.wtf.list | |
sudo apt update && sudo apt install nginx-extras -y | |
error_page 403 /403.html; | |
error_page 404 /404.html; | |
error_page 502 /502.html; | |
# 安装搜狗输入法 | |
cd ~/Downloads | |
wget -c http://ftp.dlcloud.info/linuxsoftware/sogoupinyin_2.1.0.0082_amd64.deb | |
sudo dpkg -i sogoupinyin_2.1.0.0082_amd64.deb | |
sudo apt -f install | |
sudo apt-get purge fcitx-ui-qimpanel | |
# 安装 chrome 浏览器 | |
sudo tee -a /etc/apt/sources.list.d/google-chrome.list << EOF | |
deb https://dl.google.com/linux/chrome/deb/ stable main | |
EOF | |
sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv 1397BC53640DB551 | |
sudo apt update && sudo apt install -y google-chrome-stable | |
#安装Telegram | |
sudo add-apt-repository ppa:atareao/telegram | |
sudo apt-get update | |
sudo apt install -y telegram | |
#安装shutter | |
sudo add-apt-repository ppa:linuxuprising/shutter | |
sudo apt-get update | |
sudo apt install -y shutter | |
#安装cuda(alt+f1) | |
sudo apt install -y freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev | |
sudo apt install -y linux-source linux-headers-$(uname -r) | |
sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf << EOF | |
blacklist nouveau | |
options nouveau modeset=0 | |
EOF | |
sudo update-initramfs -u | |
lsmod | grep nouveau | |
sudo apt install -y nvidia-384 mesa-common-dev freeglut3-dev | |
sudo reboot | |
cd ~/Downloads | |
wget -c http://ftp.dlcloud.info/linuxsoftware/cuda_9.0.run | |
sudo sh cuda.run --override | |
sudo tee -a ~/.zshrc << EOF | |
export PATH=/usr/local/cuda/bin:$PATH | |
export LD_LIBRARY_PATH=/usr/local/cuda/lib64$LD_LIBRARY_PATH | |
EOF | |
source ~/.zshrc | |
sudo apt install -y nvidia-modprobe | |
cd ~/Downloads | |
wget -c http://ftp.dlcloud.info/linuxsoftware/nvidia-docker_1.0.1-1_amd64.deb | |
sudo dpkg -i nvidia-docker_1.0.1-1_amd64.deb | |
docker pull tensorflow/tensorflow:latest-gpu-py3 | |
nvidia-docker run -it -d -v ./:/notebooks -p 18001:8888 tensorflow/tensorflow:latest-gpu-py3 | |
# gitlab备份 | |
sudo zip -r gitlab.zip ./gitlab/* ./gitalb/.[^.]* | |
# 设置双网卡 | |
sudo route add -net 10.0.0.0/8 gw 10.0.3.254 dev eth1 | |
sudo route add -net 111.186.0.0/16 gw 10.0.3.254 dev eth1 | |
# ubuntu recovery模式 | |
mount -rw -o remount / | |
#禁用ipv6 | |
sudo tee -a /etc/sysctl.conf << EOF | |
#disable IPv6 | |
net.ipv6.conf.all.disable_ipv6 = 1 | |
net.ipv6.conf.default.disable_ipv6 = 1 | |
net.ipv6.conf.lo.disable_ipv6 = 1 | |
EOF | |
sudo sysctl -p | |
# 增加路由 | |
# mac | |
sudo route -n add -net 192.168.107.0/24 172.22.107.57 | |
# windows | |
route add -p 192.168.107.0/24 172.22.107.57 | |
# 添加ipv6默认路由 | |
sudo route -A inet6 add default gw 2001:da8:8006:126::1 | |
sudo route -A inet6 add 2001:da8:8006:126::/64 gw 2001:da8:8006:126::1 | |
/bin/ping6 2001:da8:8006:126::1 -c 4 | |
#挂载windows分区 | |
sudo blkid 查看uuid | |
sudo vim /etc/fstab | |
UUID=690AA70571133B35 /home/zhonger/data ntfs defaults 0 0 | |
#添加硬盘 | |
sudo fdisk /dev/md124 | |
sudo pvcreate /dev/md124p1 | |
sudo vgextend lab2-vg /dev/md124p1 | |
sudo lvcreate -n data -L +14.55T data-vg | |
sudo lvextend -L +5.18T /dev/lab2-vg/root | |
sudo resize2fs -p -F /dev/mapper/lab2-vg-root | |
df -hTl | |
#添加开机自启动程序 | |
sudo gnome-session-properties | |
#安装nextcloud客户端 | |
sudo tee -a /etc/apt/sources.list.d/nextcloud.list << EOF | |
deb http://ppa.launchpad.net/nextcloud-devs/client/ubuntu $(lsb_release -c --short) main | |
deb-src http://ppa.launchpad.net/nextcloud-devs/client/ubuntu $(lsb_release -c --short) main | |
EOF | |
sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv 1FCD77DD0DBEF5699AD2610160EE47FBAD3DD469 | |
sudo sed -i 's/ppa.launchpad.net/launchpad.proxy.ustclug.org/' /etc/apt/sources.list.d/nextcloud.list | |
sudo apt update & sudo apt install -y nextcloud-client | |
# 安装vscode | |
sudo tee -a /etc/apt/sources.list.d/vscode.list << EOF | |
deb [arch=amd64] https://mirrors.dlcloud.info/vscode stable main | |
EOF | |
sudo apt-get update | |
sudo apt-get install code | |
#配置valet | |
sudo tee -a /etc/apt/sources.list.d/php.list << EOF | |
deb http://ppa.launchpad.net/ondrej/php/ubuntu $(lsb_release -c --short) main | |
deb-src http://ppa.launchpad.net/ondrej/php/ubuntu $(lsb_release -c --short) main | |
EOF | |
sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv 14AA40EC0831756756D7F66C4F4EA0AAE5267A6C | |
sudo sed -i 's/ppa.launchpad.net/launchpad.proxy.ustclug.org/' /etc/apt/sources.list.d/php.list | |
sudo tee -a /etc/apt/sources.list.d/nginx.list << EOF | |
deb http://ppa.launchpad.net/nginx/stable/ubuntu $(lsb_release -c --short) main | |
deb-src http://ppa.launchpad.net/nginx/stable/ubuntu $(lsb_release -c --short) main | |
EOF | |
sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv 8B3981E7A6852F782CC4951600A6F0A3C300EE8C | |
sudo sed -i 's/ppa.launchpad.net/launchpad.proxy.ustclug.org/' /etc/apt/sources.list.d/nginx.list | |
sudo apt update | |
sudo apt install -y libnss3-tools jq xsel | |
sudo apt install -y php7.2-cli php7.2-common php7.2-curl php7.2-json php7.2-mbstring php7.2-opcache | |
sudo apt install -y php7.2-readline php7.2-xml php7.2-zip php7.2-sqlite3 php7.2-mysql php7.2-pgsql | |
sudo apt install -y network-manager php7.2 php7.2-fpm nginx dnsmasq | |
wget https://getcomposer.org/composer.phar | |
wget https://install.phpcomposer.com/composer.phar | |
chmod +x composer.phar | |
sudo mv composer.phar /usr/local/bin/composer | |
composer config -g repo.packagist composer https://packagist.phpcomposer.com | |
composer global require cpriego/valet-linux | |
tee -a ~/.zshrc << EOF | |
PATH=$PATH:/home/$(whoami)/.config/composer/vendor/bin | |
EOF | |
source ~/.zshrc | |
valet install | |
valet domain to | |
#配置mysql和phpmyadmin | |
sudo apt install -y mysql-server mycli | |
wget -c https://files.phpmyadmin.net/phpMyAdmin/4.8.3/phpMyAdmin-4.8.3-all-languages.tar.gz | |
mkdir -p ~/web/phpmyadmin | |
tar zxf phpMyAdmin-4.8.0.1-all-languages.tar.gz -C ~/web/phpmyadmin | |
cd ~/web/phpmyadmin | |
mv phpMyAdmin-4.8.0.1-all-languages/* . | |
rm -rf phpMyAdmin-4.8.0.1-all-languages | |
mv config.sample.inc.php config.inc.php | |
valet link db | |
cd ~ | |
rm phpMyAdmin-4.8.0.1-all-languages.tar.gz | |
#配置kvm | |
sudo apt-get install qemu-kvm libvirt-bin virt-manager bridge-utils genisoimage cloud-init | |
sudo apt install lxqt-openssh-askpass | |
#配置virtualbox | |
sudo tee -a /etc/apt/sources.list.d/virtualbox.list << EOF | |
deb https://mirrors.tuna.tsinghua.edu.cn/virtualbox/apt $(lsb_release -c --short) contrib | |
EOF | |
sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv A2F683C52980AECF | |
sudo apt update | |
sudo apt install virtualbox | |
#配置ipv6(/etc/rc.local) | |
/bin/ping6 2001:da8:8006:126::1 -c 4 | |
#安装主题 | |
sudo apt install unity-tweak-tool | |
mkdir .themes | |
cd .themes | |
wget –no-check-certificate https://github.com/anmoljagetia/Flatabulous/archive/master.zip | |
unzip master | |
sudo tee -a /etc/apt/sources.list.d/icon.list << EOF | |
deb http://ppa.launchpad.net/noobslab/icons/ubuntu $(lsb_release -c --short) main | |
deb-src http://ppa.launchpad.net/noobslab/icons/ubuntu $(lsb_release -c --short) main | |
EOF | |
sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv 4FA44A478284A18C1BA4A9CAD530E028F59EAE4D | |
sudo apt update | |
sudo apt install ultra-flat-icons ultra-flat-icons-orange ultra-flat-icons-green | |
#安装shadowsocks | |
sudo tee -a /etc/apt/sources.list.d/ss-qt5.list << EOF | |
deb http://ppa.launchpad.net/hzwhuang/ss-qt5/ubuntu $(lsb_release -c --short) main | |
deb-src http://ppa.launchpad.net/hzwhuang/ss-qt5/ubuntu $(lsb_release -c --short) main | |
EOF | |
sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv C8A9395BF556323E82DDCB916DA746A05F00FA99 | |
sudo sed -i 's/ppa.launchpad.net/launchpad.proxy.ustclug.org/' /etc/apt/sources.list.d/ss-qt5.list | |
sudo apt update && sudo apt install -y shadowsocks-qt5 | |
#安装pritunl | |
sudo tee -a /etc/apt/sources.list.d/pritunl.list << EOF | |
deb https://mirrors.shuosc.cn/pritunl/stable/apt xenial main | |
EOF | |
sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv 7568D9BB55FF9E5287D586017AE645C0CF8E292A | |
sudo tee -a /etc/apt/sources.list.d/mongodb.list << EOF | |
deb https://mirrors.shuosc.cn/mongodb/apt/ubuntu xenial/mongodb-org/3.4 multiverse | |
EOF | |
sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv 0C49F3730359A14518585931BC711F9BA15703C6 | |
sudo apt update | |
echo y |sudo apt install pritunl mongodb-org | |
sudo systemctl start pritunl mongod | |
sudo systemctl enable pritunl mongod | |
sudo pritunl setup-key | |
sudo apt-get install pritunl-client-gtk | |
# 安装brackets、sublime、atom、tor browser | |
sudo tee -a /etc/apt/sources.list.d/common.list << EOF | |
deb http://ppa.launchpad.net/webupd8team/brackets/ubuntu $(lsb_release -c --short) main | |
deb-src http://ppa.launchpad.net/webupd8team/brackets/ubuntu $(lsb_release -c --short) main | |
deb http://ppa.launchpad.net/webupd8team/atom/ubuntu $(lsb_release -c --short) main | |
deb-src http://ppa.launchpad.net/webupd8team/atom/ubuntu $(lsb_release -c --short) main | |
deb http://ppa.launchpad.net/webupd8team/sublime-text-3/ubuntu $(lsb_release -c --short) main | |
deb-src http://ppa.launchpad.net/webupd8team/sublime-text-3/ubuntu $(lsb_release -c --short) main | |
deb http://ppa.launchpad.net/webupd8team/tor-browser/ubuntu $(lsb_release -c --short) main | |
deb-src http://ppa.launchpad.net/webupd8team/tor-browser/ubuntu $(lsb_release -c --short) main | |
deb http://ppa.launchpad.net/webupd8team/java/ubuntu $(lsb_release -c --short) main | |
deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu $(lsb_release -c --short) main | |
EOF | |
sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv 7B2C3B0889BF5709A105D03AC2518248EEA14886 | |
sudo sed -i 's/ppa.launchpad.net/launchpad.proxy.ustclug.org/' /etc/apt/sources.list.d/common.list | |
sudo apt update && sudo apt install -y brackets sublime atom tor-browser | |
# 安装openjdk | |
sudo apt install -y openjdk-8-jdk openjdk-9-jdk maven | |
# 切换java版本 | |
sudo update-alternatives --config java | |
# 设置maven镜像源 | |
#安装zabbix | |
sudo tee -a /etc/apt/sources.list.d/zabbix.list << EOF | |
deb https://mirrors.shu.edu.cn/zabbix/zabbix/3.2/ubuntu $(lsb_release -c --short) main | |
deb-src https://mirrors.shu.edu.cn/zabbix/zabbix/3.2/ubuntu $(lsb_release -c --short) main | |
EOF | |
sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv 082AB56BA14FE591 | |
sudo apt update | |
sudo apt install zabbix-agent | |
#更新gcc | |
sudo tee -a /etc/apt/sources.list.d/gcc.list << EOF | |
deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu $(lsb_release -c --short) main | |
deb-src http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu $(lsb_release -c --short) main | |
EOF | |
sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv 60C317803A41BA51845E371A1E9377A2BA9EF27F | |
sudo sed -i 's/ppa.launchpad.net/launchpad.proxy.ustclug.org/' /etc/apt/sources.list.d/gcc.list | |
sudo apt update && sudo apt install -y gcc gcc-6 | |
#配置gitlab ssh认证成功返回信息 | |
修改/home/git/gitlab-shell/lib/gitlab-shell.rb文件 | |
#安装nodejs | |
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash | |
export NVM_DIR="$HOME/.nvm" | |
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm | |
tee -a ~/.zshrc << EOF | |
NVM_NODEJS_ORG_MIRROR=http://npm.taobao.org/mirrors/node | |
EOF | |
source ~/.zshrc | |
nvm install node | |
npm install -g cnpm --registry=https://registry.npm.taobao.org | |
cnpm config set registry https://registry.npm.shuosc.org | |
cnpm install -g hexo-cli bower gulp grunt-cli gtop docsify | |
#安装ruby | |
sudo apt install libssl-dev | |
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB | |
curl -sSL https://get.rvm.io | bash -s stable | |
source ~/.rvm/scripts/rvm | |
tee -a ~/.zshrc << EOF | |
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" | |
EOF | |
echo "ruby_url=https://mirrors.shuosc.cn/ruby/ruby" > ~/.rvm/user/db | |
rvm autolibs disable | |
rvm requirements | |
rvm install ruby --disable-binary | |
ruby -v | |
gem sources | |
gem sources --remove https://rubygems.org/ | |
gem sources -a https://mirrors.shu.edu.cn/rubygems/ | |
gem update --system | |
gem -v | |
gem install bundler rails | |
bundle config mirror.https://rubygems.org https://mirrors.shu.edu.cn/rubygems/ | |
gem install rubygems-mirror | |
#安装go | |
sudo apt-get install curl git mercurial make binutils bison gcc build-essential | |
curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer | bash | |
echo '[[ -s "$HOME/.gvm/scripts/gvm" ]] && source "$HOME/.gvm/scripts/gvm" ]]' >> .zshrc | |
source .zshrc | |
sed -i 's/http:\/\/golang.org\/dl/https:\/\/go.luish.cc/g' ~/.gvm/scripts/install | |
sed -i 's/https:\/\/go.googlesource.com\/go/https:\/\/github.com\/golang\/go.git/g' ~/.gvm/scripts/listall | |
gvm listall | |
gvm install go1.9 -B | |
gvm use go1.9 --default | |
go version | |
go get -u github.com/golang/dep/cmd/dep | |
#安装redis | |
sudo tee -a /etc/apt/sources.list.d/redis.list << EOF | |
deb http://ppa.launchpad.net/chris-lea/redis-server/ubuntu $(lsb_release -c --short) main | |
deb-src http://ppa.launchpad.net/chris-lea/redis-server/ubuntu $(lsb_release -c --short) main | |
EOF | |
sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv 136221EE520DDFAF0A905689B9316A7BC7917B12 | |
sudo apt update | |
echo y | sudo apt install redis-server | |
cd Downloads && wget -c http://ftp.shu.aixinwu.org/linuxsoftware/redis-desktop-manager_0.9.0.17_amd64.deb | |
sudo dpkg -i redis-desktop-manager_0.9.0.17_amd64.deb | |
sudo apt -f install | |
#安装adobe flash | |
sudo apt-get install pepperflashplugin-nonfree | |
sudo update-pepperflashplugin-nonfree --install | |
sudo update-pepperflashplugin-nonfree --status | |
#修复dpkg:warning:files list file or | |
#!/bin/bash | |
set -e | |
# Clean out /var/cache/apt/archives | |
apt-get clean | |
# Fill it with all the .debs we need | |
apt-get --reinstall -dy install $(dpkg --get-selections | grep '[[:space:]]install' | cut -f1) | |
DIR=$(mktemp -d -t info-XXXXXX) | |
for deb in /var/cache/apt/archives/*.deb | |
do | |
# Move to working directory | |
cd "$DIR" | |
# Create DEBIAN directory | |
mkdir -p DEBIAN | |
# Extract control files | |
dpkg-deb -e "$deb" | |
# Extract file list, fixing up the leading ./ and turning / into /. | |
dpkg-deb -c "$deb" | awk '{print $NF}' | cut -c2- | sed -e 's/^\/$/\/./' > DEBIAN/list | |
# Figure out binary package name | |
DEB=$(basename "$deb" | cut -d_ -f1) | |
# Copy each control file into place | |
cd DEBIAN | |
for file in * | |
do | |
cp -a "$file" /var/lib/dpkg/info/"$DEB"."$file" | |
done | |
# Clean up | |
cd .. | |
rm -rf DEBIAN | |
done | |
rmdir "$DIR" | |
#sks-keyserver | |
apt-get -y install gcc ocaml libdb-dev gnupg nginx wget build-essential g++ | |
gpg --keyserver hkp://pgp.mit.edu --trust-model always --recv-key 0x0B7F8B60E3EDFAE3 | |
wget http://ftp.shu.aixinwu.org/linuxsoftware/sks-1.1.6.tgz | |
wget http://ftp.shu.aixinwu.org/linuxsoftware/sks-1.1.6.tgz.asc | |
gpg --keyid-format long --verify sks-1.1.6.tgz.asc | |
tar -xzf sks-1.1.6.tgz | |
cd sks-1.1.6 | |
cp Makefile.local.unused Makefile.local | |
sed -i 's/ldb\-4.6/ldb\-5.3/' Makefile.local | |
make dep | |
apt-get install zlib1g zlib1g-dev | |
make all | |
make install | |
#NFS服务器 | |
sudo ufw disable | |
sudo apt-get install nfs-kernel-server | |
mkdir /home/daysmark/nfsdir | |
打开/etc/exports文件,在末尾加入:/home/daysmark/nfsdir 172.22.0.0/16(rw,sync,no_root_squash,no_subtree_check) | |
sudo apt-get install nfs-common | |
sudo service rpcbind restart | |
sudo service nfs-kernel-server restart | |
sudo service nfs-kernel-server status | |
sudo mount -t nfs 172.22.107.33:/home/daysmark/nfsdir /mnt | |
sudo umount /mnt | |
修改为同一用户可以在多机之间同时无障碍使用nfs共享文件夹 | |
#镜像 | |
rsync -avz --delete --safe-links rsync.apache.org::apache-dist /path/to/mirror | |
rsync -avz --delete --safe-links mirror.math.princeton.edu::pub/putty nfs/rsync/ | |
rsync -avz --delete --safe-links mirror.us.leaseweb.net::opnsense /home/data/rsync/opnsense | |
rsync -e "ssh -i /home/mirror/.ssh/id_rsa" -rtlzv --delete cran-rsync@cran.r-project.org: /home/mirror/rsync/cran/ | |
wget -P /home/mirror/wget -c -r -np -k -L -p -e robots=off http://nodejs.org | |
wget -P /home/mirror/wget -m -c -np -e robots=off http://download.virtualbox.org/virtualbox/ | |
wget -P /home/mirror/wget -m -e robots=off -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6" https://download.docker.com | |
find -type f | grep '\.[0-9]*$' | xargs rm | |
find /home/mirror/wget/ -type f | grep '\.[0-9]*$\|.html\|index.html*' | xargs rm | |
find /home/mirror/wget/ -regex '.*\.[0-9]\|.*\.html' -print -exec rm -f {} \; | |
#vsftp | |
修改/etc/vsftpd/vsftpd.conf | |
anonymous_enable=YES | |
local_enable=YES | |
local_umask=022 | |
connect_from_port_20=NO | |
ftpd_banner=Welcome to Shanghai University Open Source Mirror Site. | |
listen=YES | |
pam_service_name=vsftpd | |
userlist_enable=YES | |
tcp_wrappers=YES | |
use_localtime=YES | |
no_anon_password=YES | |
idle_session_timeout=600 | |
userlist_deny=NO | |
pasv_enable=YES | |
pasv_min_port=5000 | |
pasv_max_port=5010 | |
pasv_address=202.121.199.235 | |
pasv_addr_resolve=YES | |
accept_timeout=60 | |
connect_timeout=60 | |
anon_root=/var/www/ftp | |
挂载文件到anon的root目录下(使用sudo权限) | |
mount --bind /home/mirror/rsync/apache apache | |
#挂载NTFS硬盘到Linux | |
sudo blkid 查看UUID | |
往`/etc/fstab`文件添加一行: | |
UUID=690AA70571133B35 /home/zhonger/data ntfs defaults 0 0 | |
sudo ntfsfix /dev/sda2 | |
#安装lyx(latex编辑) | |
sudo add-apt-repository ppa:lyx-devel/release | |
sudo apt-get update | |
sudo apt install lyx | |
#安装Stack-client | |
echo 'deb http://mirror.transip.net/stack/software/deb/Ubuntu_16.04/ ./' | sudo tee /etc/apt/sources.list.d/stack-client.list | |
sudo apt update | |
sudo apt install stack-client | |
#安装sbt | |
echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list | |
sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823 | |
sudo apt-get update | |
sudo apt-get install sbt | |
#安装s3fs及挂载minio | |
sudo apt-get install automake autotools-dev fuse g++ git libcurl4-gnutls-dev libfuse-dev libssl-dev libxml2-dev make pkg-config | |
git clone https://github.com/s3fs-fuse/s3fs-fuse.git | |
cd s3fs-fuse | |
./autogen.sh | |
./configure | |
make | |
sudo make install | |
echo MYIDENTITY:MYCREDENTIAL > /path/to/passwd | |
chmod 600 /path/to/passwd | |
s3fs <bucket> /s3 -o passwd_file=/path/to/passwd,use_path_request_style,url=http://minio-server:9000,rw,uid=1000,gid=1000 | |
sudo umount /s3 | |
#申请微软outlook邮箱别名,如live.com、live.cn等(http://51.ruyo.net/p/1327.html) | |
var sub = window.prompt('输入域名,支持live.com/msn.com/live.cn等等...\r\n更多后缀请访问:http://51.ruyo.net/p/3194.html\r\n直接点击取消即可前往\n','live.com');if(sub){document.getElementById("SingleDomain").value = sub;document.getElementById("idSingleDomain").innerText = "@"+sub;}else{window.open("http://51.ruyo.net/p/3194.html")}; | |
#ubuntu面板无声音 | |
sudo tee -a /etc/pulse/default.pa << EOF | |
set-sink-port 0 analog-output-headphones | |
EOF | |
sudo apt install pavucontrol | |
pavucontrol | |
#安装bluemix和kubernetes-cli | |
wget -C ~/Downloads http://public.dhe.ibm.com/cloud/bluemix/cli/bluemix-cli/Bluemix_CLI_0.5.6_amd64.tar.gz | |
cd ~/Downloads && tar zxf Bluemix_CLI_0.5.6_amd64.tar.gz | |
cd Bluemix_CLI && sudo ./install_bluemix_cli | |
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.7.0/bin/linux/amd64/kubectl | |
chmod +x kubectl | |
sudo chown root:root kubectl | |
sudo mv kubectl /usr/bin | |
bx plugin install container-service -r Bluemix | |
bx login -a https://api.au-syd.bluemix.net | |
bx cs init | |
bx cs cluster-config mycluster | |
export KUBECONFIG=/home/zhonger/.bluemix/plugins/container-service/clusters/mycluster/kube-config-mel01-mycluster.yml | |
kubectl get nodes | |
kubectl proxy (visit http://127.0.0.1:8001/ui) | |
# 添加scholar的ipv6 | |
sudo tee -a /etc/hosts << EOF | |
2404:6800:4005:80b::2003 scholar.google.com | |
EOF | |
#修改gitlab用户密码 | |
bundle exec rails console production | |
u = User.where(email: 'admin@localhost').first | |
u.password='password' | |
u.save! | |
#用iptables实现端口转发 | |
iptables -t nat -A PREROUTING --dst 172.22.107.37 -p tcp --dport 10080 -j DNAT --to-destination 172.22.107.35:10080 | |
iptables -t nat -A POSTROUTING --dst 172.22.107.35 -p tcp --dport 10080 -j SNAT --to-source 172.22.107.37 | |
service iptables save | |
#gitlab-ci-runner | |
docker run -d --name gitlab-runner --restart always \ | |
-v /srv/gitlab-runner/config:/etc/gitlab-runner \ | |
-v /var/run/docker.sock:/var/run/docker.sock \ | |
gitlab/gitlab-runner:latest | |
docker exec -it gitlab-runner gitlab-runner register | |
#update gitlab-ci-runner | |
docker pull gitlab/gitlab-runner:latest | |
#zabbix | |
docker run -d -v /home/zabbix/mysql --name zabbix-db-storage busybox:latest | |
docker run \ | |
-d \ | |
--name zabbix-db \ | |
-v /home/zabbix/backups:/backups \ | |
-v /etc/localtime:/etc/localtime:ro \ | |
--volumes-from zabbix-db-storage \ | |
--env="MARIADB_USER=zabbix" \ | |
--env="MARIADB_PASS=zabbix" \ | |
zabbix/zabbix-db-mariadb | |
docker run \ | |
-d \ | |
--name zabbix \ | |
-p 8008:80 \ | |
-p 10051:10051 \ | |
-v /etc/localtime:/etc/localtime:ro \ | |
--link zabbix-db:zabbix.db \ | |
--env="ZS_DBHost=zabbix.db" \ | |
--env="ZS_DBUser=zabbix" \ | |
--env="ZS_DBPassword=zabbix" \ | |
monitoringartist/zabbix-3.0-xxl | |
#onlyoffice | |
docker run -ti -d -p 2080:80 onlyoffice/documentserver | |
#不同宿主机中的虚拟机互通 | |
sudo tee -a /etc/sysctl.conf << EOF | |
net.ipv4.ip_forward=1 | |
EOF | |
sudo sysctl -p | |
sudo iptables -F | |
sudo route add -net 192.168.107.0/24 gw 10.0.0.7 dev rename3 (lab3) | |
sudo route add -net 192.168.103.0/24 gw 10.0.0.3 dev eno2 (lab7) | |
# 防止虚拟机登录宿主机以及非管理ip登录 | |
sudo iptables -A INPUT -p tcp -s 10.0.0.0/24 --dport 22 -j ACCEPT | |
sudo iptables -A INPUT -p tcp -s 172.22.0.0/16 --dport 22 -j ACCEPT | |
sudo iptables -A INPUT -p tcp --dport 22 -j DROP | |
sudo tee -a /etc/network/if-pre-up.d/iptables >> EOF | |
iptables -F | |
EOF | |
sudo chmod +x /etc/network/if-pre-up.d/iptables | |
#weechat | |
sudo tee -a /etc/apt/sources.list.d/weechat.list << EOF | |
deb https://weechat.org/ubuntu $(lsb_release -c --short) main | |
EOF | |
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv D1820DB22A11534E | |
sudo apt update | |
sudo apt install weechat | |
# 安装u.nu短地址 | |
wget https://u.nu/unu | |
chmod +x unu | |
sudo mv unu /usr/bin | |
# 安装git.io短地址 | |
gem install git.io | |
git.io https://gist.github.com/zhonger/f4e2a5b6fe8d88d79fed5449f789c3e3 --code=install-ss | |
# 一键安装SS | |
wget https://git.io/install-ss -O ss.sh | chmod +x ss.sh | |
sudo bash ss.sh | |
# 安装ntp服务器 | |
docker run -d -p 123:123/udp cloudwattfr/ntpserver:latest | |
# 安装heroku | |
curl -o- https://cli-assets.heroku.com/install-ubuntu.sh | sh | |
# 安装字体 | |
wget -c https://ftp.dlcloud.info/linuxsoftware/fontInstall.tar.gz | |
sudo apt-get install -y ttf-mscorefonts-installer fontconfig | |
tar zxf fontInstall.tar.gz | |
sudo ./fontInstall.sh | |
# 安装ss | |
wget -c https://u.nu/install-ss && sudo bash install-ss | |
sudo sed -i "s/cleanup/reset/" /usr/local/lib/python2.7/dist-packages/shadowsocks/crypto/openssl.py | |
sudo service shadowsocks restart | |
sudo service shadowsocks status | |
# 生成 ed25519 私钥和公钥 (带密码验证) | |
ssh-keygen -t ed25519 -C "foo@exapmle.com" -f id_ed25515 -N '**password**' -q | |
# 加载 intel mpi 和 fftw 环境 | |
module load intel/20.0.0 | |
module load intel-mkl/20.0.0 | |
module load fftw/3.3.8_intel-mpi | |
# 用 intel mpi 编译 LibXC | |
./configure --prefix=/home/ubuntu/local/libxc FC=ifort CC=icc | |
# ZSH 报错 compint (需找到 zsh 安装目录,修改 .zshrc 中的 FPATH 变量) | |
FPATH=/usr/share/zsh/5.0.2/functions:$FPATH | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment