Skip to content

Instantly share code, notes, and snippets.

@zhonger
Last active September 7, 2022 15:24
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save zhonger/856cb339890a39761dd4b241aea378a7 to your computer and use it in GitHub Desktop.
Save zhonger/856cb339890a39761dd4b241aea378a7 to your computer and use it in GitHub Desktop.
Just for myself
#!/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