Last active
September 14, 2022 01:34
-
-
Save kanguki/b21fdf7a06a080b40a7faaadfce6e194 to your computer and use it in GitHub Desktop.
so I switch to a new pc~
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
cat << "EOF" | |
_ _ _ | |
| | | | (_) | |
___ ___| |_| |_ _ _ __ __ _ _ _ _ __ | |
/ __|/ _ \ __| __| | '_ \ / _` | | | | | '_ \ | |
\__ \ __/ |_| |_| | | | | (_| | | |_| | |_) | | |
|___/\___|\__|\__|_|_| |_|\__, | \__,_| .__/ | |
__/ | | | | |
|___/ |_| | |
EOF | |
sudo ls | |
echo "*****************change hostname to mo*********************" | |
sudo hostname mo | |
sudo echo "127.0.0.1 mo" >> /etc/hosts | |
sudo echo mo > /etc/hostname | |
sudo apt update | |
echo "*****************git*********************" | |
yes | sudo apt --yes install git git-flow curl | |
eval "$(ssh-agent -s)" | |
read -p "Enter an email to generate ssh-key: " -a emails | |
for e in ${emails[@]} | |
do | |
private_key=$HOME/.ssh/${e%@*}_rsa | |
echo $private_key | ssh-keygen -t rsa -C "$e" | |
ssh-add $private_key | |
done | |
echo "*****************node npm nvm*********************" | |
yes | sudo apt install nodejs npm | |
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash | |
echo 'export NVM_DIR="$HOME/.nvm"\n[ --s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm\n[ --s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"\n' >> ~/.bashrc | |
nvm install 14.16.1 | |
nvm use --default 14.16.1 | |
echo "*****************vienamese*********************" | |
yes | sudo add-apt-repository ppa:bamboo-engine/ibus-bamboo | |
yes | sudo apt-get update | |
yes | sudo apt-get install ibus-bamboo | |
ibus restart | |
notify-send "open Settings > Region & Language and add more languages" | |
yes | sudo apt install gnome-control-center && gnome-control-center & | |
echo "*****************docker*********************" | |
#echo "*******setup repo*******" | |
yes | sudo apt-get -y update | |
yes | sudo apt-get -y install \ | |
apt-transport-https \ | |
ca-certificates \ | |
curl \ | |
gnupg \ | |
lsb-release | |
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg | |
echo \ | |
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ | |
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null | |
#echo "****** install docker*********" | |
yes | sudo apt-get -y update | |
yes | sudo apt-get install -y docker-ce docker-ce-cli containerd.io | |
#sudo systemctl status docker | |
sudo groupadd docker | |
sudo usermod -aG docker $USER | |
newgrp docker | |
echo "*****************vim*********************" | |
yes | sudo apt install vim vim-gtk3 | |
curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim | |
curl https://gist.githubusercontent.com/kanguki/f955f87e2f1e898f677db09331b754b3/raw/795f51e0f0749eb562c675c63a95e254327547ee/vimrc.txt > ~/.vimrc | |
vim -c PlugInstall -c q -c q & #execute PlugInstall then quit | |
echo "*****************gvm*********************" | |
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.19.1.linux-amd64.tar.gz | |
echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.bashrc | |
go version | |
source ~/.bashrc | |
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer) | |
#gvm install go1.16 && gvm use go1.16 --default | |
yes | sudo apt install graphviz #used for go tool | |
echo "*****************mongo-compass*********************" | |
wget https://downloads.mongodb.com/compass/mongodb-compass_1.31.3_amd64.deb | |
yes | sudo dpkg -i mongodb-compass_1.31.3_amd64.deb | |
echo "*****************vscode*********************" | |
sudo snap install --classic code | |
echo "*****************google-chrome*********************" | |
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb | |
yes | sudo dpkg -i google-chrome-stable_current_amd64.deb | |
echo "*****************kind kubectl k8slens helm*********************" | |
#kind | |
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.11.1/kind-linux-amd64 | |
chmod +x ./kind | |
mv ./kind /usr/bin | |
#kubectl | |
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" | |
curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256" | |
echo "$(cat kubectl.sha256) kubectl" | sha256sum --check | |
yes | sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl | |
kubectl version --client | |
#k8slens | |
wget https://api.k8slens.dev/binaries/Lens-5.5.1-latest.20220526.1.amd64.deb | |
yes | sudo dpkg -i Lens-5.5.1-latest.20220526.1.amd64.deb | |
#helm | |
wget https://get.helm.sh/helm-v3.9.0-linux-amd64.tar.gz | |
tar -zxvf helm-v3.9.0-linux-amd64.tar.gz | |
sudo mv linux-amd64/helm /usr/local/bin/helm | |
#--depricated way to install helm: | |
#curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null | |
#sudo apt-get install apt-transport-https --yes | |
#echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list | |
#yes | sudo apt-get update | |
#yes | sudo apt-get install helm | |
echo "*****************mysql*********************" | |
yes | sudo apt-get install mysql-server mysql-common mysql-client | |
sudo snap install mysql-workbench-community | |
echo "*****************psql*********************" | |
docker network create -d bridge pg | |
docker run --network pg -v postgres:/var/lib/postgresql/data --name pg -p 5432:5432 -e POSTGRES_PASSWORD=root -e POSTGRES_USER=root -d postgres | |
docker run --network pg -p 5050:80 --name pgad -e PGADMIN_DEFAULT_EMAIL=kanguki2381@gmail.com -e PGADMIN_DEFAULT_PASSWORD=root -d dpage/pgadmin4 | |
echo "*****************scylladb*********************" | |
docker run --name scylla \ | |
--volume /var/lib/scylla:/var/lib/scylla \ | |
-p 9042:9042 -p 7000:7000 -p 7001:7001 -p 7199:7199 \ | |
-p 9160:9160 -p 9180:9180 -p 10000:10000 \ | |
-d scylladb/scylla --overprovisioned 1 | |
echo "*****************team-viewer*********************" | |
sudo dpkg --add-architecture i386 | |
wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb -O teamviewer_amd64.deb | |
yes | sudo dpkg -i teamviewer_amd64.deb | |
yes | sudo apt install -f | |
echo "*****************teams*********************" | |
wget https://packages.microsoft.com/repos/ms-teams/pool/main/t/teams/teams_1.5.00.10453_amd64.deb | |
yes | sudo dpkg -i teams_1.5.00.10453_amd64.deb | |
echo "*****************other utilities*********************" | |
yes | sudo apt install at xclip jq tmux ranger | |
curl https://gist.githubusercontent.com/kanguki/fd9a16b07b414c802bf5d3e1c9f428a9/raw/81305f90990bd380011f324a242b4cd6704ca7d5/tmuxconfig > ~/.tmux.conf | |
#simplescreenrecorder | |
yes | sudo apt-add-repository ppa:maarten-baert/simplescreenrecorder | |
yes | sudo apt-get install simplescreenrecorder | |
yes | sudo apt autoremove | |
yes | sudo apt-get install fio #to check disk io. https://support.binarylane.com.au/support/solutions/articles/1000055889-how-to-benchmark-disk-i-o | |
sudo apt install indicator-multiload && notify-send "need to log out and log in again to see indicator bar" | |
echo "*****************telepresence*********************" | |
sudo curl -fL https://app.getambassador.io/download/tel2/linux/amd64/latest/telepresence -o /usr/local/bin/telepresence | |
sudo chmod a+x /usr/local/bin/telepresence | |
read -p "enter your telepresence key here: (if u lost it, visit https://app.getambassador.io/cloud/settings/api-keys to create a new one)" telepresenceKey | |
telepresence login --apikey $telepresenceKey | |
telepresence connect | |
echo "*****************tableplus*********************" | |
sudo apt install software-properties-common | |
wget -qO - https://deb.tableplus.com/apt.tableplus.com.gpg.key | sudo apt-key add - | |
sudo add-apt-repository "deb [arch=amd64] https://deb.tableplus.com/debian/22 tableplus main" | |
sudo apt update | |
sudo apt install tableplus |
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
tee -a ~/.bashrc <<EOF | |
alias docker='sudo docker' | |
dkex() { cd && u/dkex "$1"; } | |
export -f dkex | |
cop() { $HOME/u/scp-to $1;} | |
export -f cop | |
vao() { $HOME/u/ssh-to $1;} | |
export -f vao | |
vaol() { $HOME/u/ssh-directly-to $1;} | |
export -f vaol | |
res(){ cd && u/restart.sh "$1"; } | |
export -f res | |
oi() { telnet "$1" "$2"; } | |
export -f oi | |
upkafka(){ cd && u/upkafka ; } | |
export -f upkafka | |
dkux(){ docker exec -u root -it -w / "$1" bash;} | |
export -f dkux | |
gcm(){ | |
git commit -m"$1"; | |
} | |
export -f gcm | |
greppol(){ | |
if [[ -z $2 ]] | |
then | |
grep -Eo ".{0,200}$1.{0,200}" | grep "$1" | |
else | |
grep -Eo ".{0,$2}$1.{0,$2}" | grep "$1" | |
fi | |
} | |
export greppol | |
grepo(){ | |
str=""; | |
for var in $@ | |
do | |
str+="$var|" | |
done | |
str=${str%|} | |
grep -Ei $str | |
} | |
export -f grepo | |
agrep(){ | |
if [[ -z $2 ]] | |
then | |
grep -Eo "$1.{0,200}" | grep "$1" | |
else | |
grep -Eo "$1.{0,$2}" | grep "$1" | |
fi | |
} | |
export -f agrep | |
bgrep(){ | |
if [[ -z $2 ]] | |
then | |
grep -Eo ".{0,200}$1" | grep "$1" | |
else | |
grep -Eo ".{0,$2}$1" | grep "$1" | |
fi | |
} | |
export -f bgrep | |
cop(){ xclip -sel c < "$1"; } | |
export -f cop | |
scan(){ | |
if [[ -z $2 ]] | |
then | |
nmap $1 | |
else | |
nmap $1 -p $2 | |
fi | |
} | |
export -f scan | |
ttd(){ #timestamp to date | |
date --date @"$1"; | |
} | |
export -f ttd | |
dirgrep(){ | |
if [[ -z $2 ]] | |
then | |
find . -type f -exec grep $1 {} \; | |
else | |
str=""; | |
for var in $@ | |
do | |
str+="$var " | |
done | |
str=${str% } | |
find . -type f -exec echo {} \; -exec grep $str {} \; | |
fi | |
} | |
dbtt(){ | |
if [[ -z $1 ]] | |
then | |
curl http://wttr.in/hanoi | |
else | |
curl http://wttr.in/$1 | |
fi | |
} | |
export -f dbtt | |
trim() { | |
local var="$*" | |
# remove leading whitespace characters | |
var="${var#"${var%%[![:space:]]*}"}" | |
# remove trailing whitespace characters | |
var="${var%"${var##*[![:space:]]}"}" | |
printf '%s' "$var" | |
} | |
mem() | |
{ | |
ps -eo rss,pid,euser,args:100 --sort %mem | grep -v grep | grep -i $@ | awk '{printf $1/1024 "MB"; $1=""; print }' | |
} | |
export -f mem | |
dpm(){ podman run --rm -it --pid=container:$1 --name salpine salpine /bin/sh ; } #debug podman: run a podman container that can trace container $1 | |
export -f dpm | |
difo() { #diff output | |
diff <($1) <($2); #<() treats process output like a file. no more temp file! | |
} | |
export -f difo | |
brc(){ #build and run c | |
gcc $1 -o out -lm && ./out | |
} | |
export -f brc | |
tracy() { | |
docker run --name tracee --rm -it --pid=host --cgroupns=host --privileged -v /etc/os-release:/etc/os-release-host:ro -e LIBBPFGO_OSRELEASE_FILE=/etc/os-release-host -v /usr/src:/usr/src:ro -v /lib/modules:/lib/modules:ro -v /tmp/tracee:/tmp/tracee:rw -e TRACEE_EBPF_ONLY=1 aquasec/tracee:full-0.7.0 --trace pid=$1 ; | |
} | |
export -f tracy | |
alias e='exit' | |
alias ide='snap run intellij-idea-community &' | |
alias dll='mvn spring-boot:run' | |
alias dlll='mvn spring-boot:run -Dspring-boot.run.profiles=local' #run application-local.yml | |
alias gad='git add ' | |
alias gal='git add .' | |
alias gam='git add . && git commit -m' | |
alias xem='vi ~/.bashrc' | |
alias xong='source ~/.bashrc' | |
alias cls='clear' | |
alias dk='docker' | |
alias dkps='docker ps' | |
alias dkpa='docker ps -a' | |
alias dkst='docker start ' | |
alias dkrs='docker restart -t 0 ' | |
alias xemlogmysql='sudo less /var/log/mysql/mysql.log' | |
alias taillogmysql='sudo tail -f /var/log/mysql/mysql.log -n ' | |
alias tatx="nmcli con down 'vpn'" | |
alias batx="nmcli con up 'vpn'" | |
alias mora='xdg-open .' | |
alias nrb='npm run build-local' | |
alias c='xclip' | |
alias v='xclip -o' | |
alias xe='xclip -sel c < ' | |
alias intellij='intellij-idea-community' | |
alias suatmuxconf='sudo vi ~/.tmux.conf' | |
alias scannc='netcat -zv localhost 1-10000 2>&1 | grep succeeded' | |
#alias grepor='grep -Ei ' | |
alias nrbtim='nrb 2>&1 | grepor ' | |
alias jsfm='python -m json.tool' | |
alias reloadtmux='tmux source-file ~/.tmux.conf' | |
alias suavimrc='vi ~/.vimrc' | |
alias suadoc='vi $HOME/MoRepo/dotfiles/doc-config' | |
alias suaref='vi $HOME/MoRepo/dotfiles/doc/reference' | |
alias suatil='vi $HOME/MoRepo/txt/todayILearn/README.md' | |
alias raomat='sudo ip route add 10.0.0.0/16 via 172.20.0.2' | |
alias ipinfo='curl ipinfo.io' | |
alias cps='echo word | xclip -selection clipboard' | |
alias delFR=' find src -regex "$1" -type f -exec rm -f {} \;' #delete files by regex | |
alias batmat='tatx && raomat' | |
alias xemmysqlpw='grep MYSQL_ROOT_PASSWORD ~/NodeRepo/deployment -ri' | |
alias d1s='date +"%m/%d/%Y %r"' #date format to check in onesignal | |
alias s2='vimdiff <(echo "") <(echo "")' | |
alias nmgo='{ echo "package main" ; echo "func main() {"; echo ; echo "}"; } > main.go ; vi main.go' #new main go | |
alias newminego='git clone --depth=1 --branch=template git@github.com:kanguki/otp.git && mv otp/* . && rm -rf otp && rm log.go && go mod tidy' | |
alias runlike="docker run --rm -v /var/run/docker.sock:/var/run/docker.sock:ro assaflavie/runlike" | |
#alias trace="docker run --name tracee --rm -it --pid=host --cgroupns=host --privileged -v /etc/os-release:/etc/os-release-host:ro -e LIBBPFGO_OSRELEASE_FILE=/etc/os-release-host -v /usr/src:/usr/src:ro -v /lib/modules:/lib/modules:ro -v /tmp/tracee:/tmp/tracee:rw -e TRACEE_EBPF_ONLY=1 aquasec/tracee:full-0.7.0 --trace " | |
#runlike alternative: docker run --rm -v /var/run/docker.sock:/var/run/docker.sock nexdrew/rekcod <container-name> | |
alias bcclist='ls /usr/share/bcc/tools' | |
export SSLKEYLOGFILE=~/.ssl-key.log | |
alias mvnx='sudo mvn org.springframework.boot:spring-boot-maven-plugin:run' | |
#simpleproxy -d -L 1234 -R 172.20.1.1:3306 | |
[ -f ~/.fzf.bash ] && source ~/.fzf.bash | |
source <(plz --completion_script) | |
export NVM_DIR="$HOME/.nvm" | |
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm | |
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion | |
export PYTHON=/usr/bin/python2.7 | |
export GOPATH="$HOME/go" | |
export GOBIN="$GOPATH/bin" | |
export PATH=$PATH:/usr/local/go/bin:$HOME/.cargo/bin:/root/.cargo/bin:$HOME/.poetry/bin:$GOBIN:$HOME/snap/flutter/common/flutter/bin | |
export GO111MODULE="on" | |
[[ -s "$HOME/.gvm/scripts/gvm" ]] && source "$HOME/.gvm/scripts/gvm" | |
[[ -s "$HOME/.gvm/scripts/gvm" ]] && source "$HOME/.gvm/scripts/gvm" | |
export PYENV_ROOT="$HOME/.pyenv" | |
export PATH="$PYENV_ROOT/bin:$PATH" | |
if command -v pyenv 1>/dev/null 2>&1; then | |
eval "$(pyenv init -)" | |
fi | |
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!! | |
export SDKMAN_DIR="$HOME/.sdkman" | |
[[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh" | |
alias py='/usr/bin/python3' | |
source <(kubectl completion bash) | |
alias k=kubectl | |
complete -F __start_kubectl k | |
export PATH=/usr/share/bcc/tools:/usr/share/bcc/examples:$HOME/.sdkman/candidates/java/current/bin:$HOME/.pyenv/bin:$HOME/.gvm/bin:$HOME/.gvm/bin:$HOME/.nvm/versions/node/v14.16.1/bin:$HOME/.poetry/bin:$HOME/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:$HOME/go:/usr/lib/dart/bin:$HOME/.fzf/bin:/usr/local/go/bin:$HOME/.cargo/bin:/root/.cargo/bin:$HOME/.poetry/bin:$HOME/go/bin:$HOME/snap/flutter/common/flutter/bin | |
EOF | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment