1、ubuntu更换下载源
apt-get国内镜像源添加
备份源文件:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
操作文件:
vim /etc/apt/sources.list
添加源地址:
#阿里云
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
#网易163
deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
保存退出并更新源和软件:
esc + :wq!
sudo apt-get update
sudo apt-get upgrade
软件中心国内镜像源添加(其实添加之后apt也是使用该镜像源,所以两种选一种即可)
sudo apt-get update
sudo apt-get upgrade
pip国内镜像源添加
vi ~/.pip/pip.conf
添加
[global]
#阿里云
index-url = https://mirrors.aliyun.com/pypi/simple
trusted-host = mirrors.aliyun.com
#豆瓣
index-url = http://pypi.douban.com/simple
trusted-host=pypi.douban.com
#清华大学
index-url = https://pypi.tuna.tsinghua.edu.cn/simple/
trusted-host=pypi.tuna.tsinghua.edu.cn
#中国科技大学
index-url = https://pypi.mirrors.ustc.edu.cn/simple/
trusted-host=pypi.mirrors.ustc.edu.cn
2、ubuntu定制
- 常用清理命令
- 配置shell
查看ubuntu内置的shell:cat /etc/shells echo $SHELL
安装zsh:
sudo apt install zsh -y
设置zsh为系统默认shell:
chsh -s /bin/zsh (重启reboot)
安装oh-my-zsh更方便配置zsh:
vim oh-my-zsh.sh chmod +x install.sh apt-get -y install build-essential nghttp2 libnghttp2-dev libssl-dev ./oh-my-zsh.sh
#!/bin/sh
#
# This script should be run via curl:
# sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# or via wget:
# sh -c "$(wget -qO- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# or via fetch:
# sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
#
# As an alternative, you can first download the install script and run it afterwards:
# wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
# sh install.sh
#
# You can tweak the install behavior by setting variables when running the script. For
# example, to change the path to the Oh My Zsh repository:
# ZSH=~/.zsh sh install.sh
#
# Respects the following environment variables:
# ZSH - path to the Oh My Zsh repository folder (default: $HOME/.oh-my-zsh)
# REPO - name of the GitHub repo to install from (default: ohmyzsh/ohmyzsh)
# REMOTE - full remote URL of the git repo to install (default: GitHub via HTTPS)
# BRANCH - branch to check out immediately after install (default: master)
#
# Other options:
# CHSH - 'no' means the installer will not change the default shell (default: yes)
# RUNZSH - 'no' means the installer will not run zsh after the install (default: yes)
# KEEP_ZSHRC - 'yes' means the installer will not replace an existing .zshrc (default: no)
#
# You can also pass some arguments to the install script to set some these options:
# --skip-chsh: has the same behavior as setting CHSH to 'no'
# --unattended: sets both CHSH and RUNZSH to 'no'
# --keep-zshrc: sets KEEP_ZSHRC to 'yes'
# For example:
# sh install.sh --unattended
# or:
# sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended
#
set -e
# Track if $ZSH was provided
custom_zsh=${ZSH:+yes}
# Default settings
ZSH=${ZSH:-~/.oh-my-zsh}
REPO=${REPO:-ohmyzsh/ohmyzsh}
REMOTE=${REMOTE:-https://github.com/${REPO}.git}
BRANCH=${BRANCH:-master}
# Other options
CHSH=${CHSH:-yes}
RUNZSH=${RUNZSH:-yes}
KEEP_ZSHRC=${KEEP_ZSHRC:-no}
command_exists() {
command -v "$@" >/dev/null 2>&1
}
fmt_error() {
printf '%sError: %s%s\n' "$BOLD$RED" "$*" "$RESET" >&2
}
fmt_underline() {
printf '\033[4m%s\033[24m\n' "$*"
}
fmt_code() {
# shellcheck disable=SC2016 # backtic in single-quote
printf '`\033[38;5;247m%s%s`\n' "$*" "$RESET"
}
setup_color() {
# Only use colors if connected to a terminal
if [ -t 1 ]; then
RED=$(printf '\033[31m')
GREEN=$(printf '\033[32m')
YELLOW=$(printf '\033[33m')
BLUE=$(printf '\033[34m')
BOLD=$(printf '\033[1m')
RESET=$(printf '\033[m')
else
RED=""
GREEN=""
YELLOW=""
BLUE=""
BOLD=""
RESET=""
fi
}
setup_ohmyzsh() {
# Prevent the cloned repository from having insecure permissions. Failing to do
# so causes compinit() calls to fail with "command not found: compdef" errors
# for users with insecure umasks (e.g., "002", allowing group writability). Note
# that this will be ignored under Cygwin by default, as Windows ACLs take
# precedence over umasks except for filesystems mounted with option "noacl".
umask g-w,o-w
echo "${BLUE}Cloning Oh My Zsh...${RESET}"
command_exists git || {
fmt_error "git is not installed"
exit 1
}
ostype=$(uname)
if [ -z "${ostype%CYGWIN*}" ] && git --version | grep -q msysgit; then
fmt_error "Windows/MSYS Git is not supported on Cygwin"
fmt_error "Make sure the Cygwin git package is installed and is first on the \$PATH"
exit 1
fi
git clone -c core.eol=lf -c core.autocrlf=false \
-c fsck.zeroPaddedFilemode=ignore \
-c fetch.fsck.zeroPaddedFilemode=ignore \
-c receive.fsck.zeroPaddedFilemode=ignore \
--depth=1 --branch "$BRANCH" "$REMOTE" "$ZSH" || {
fmt_error "git clone of oh-my-zsh repo failed"
exit 1
}
echo
}
setup_zshrc() {
# Keep most recent old .zshrc at .zshrc.pre-oh-my-zsh, and older ones
# with datestamp of installation that moved them aside, so we never actually
# destroy a user's original zshrc
echo "${BLUE}Looking for an existing zsh config...${RESET}"
# Must use this exact name so uninstall.sh can find it
OLD_ZSHRC=~/.zshrc.pre-oh-my-zsh
if [ -f ~/.zshrc ] || [ -h ~/.zshrc ]; then
# Skip this if the user doesn't want to replace an existing .zshrc
if [ "$KEEP_ZSHRC" = yes ]; then
echo "${YELLOW}Found ~/.zshrc.${RESET} ${GREEN}Keeping...${RESET}"
return
fi
if [ -e "$OLD_ZSHRC" ]; then
OLD_OLD_ZSHRC="${OLD_ZSHRC}-$(date +%Y-%m-%d_%H-%M-%S)"
if [ -e "$OLD_OLD_ZSHRC" ]; then
fmt_error "$OLD_OLD_ZSHRC exists. Can't back up ${OLD_ZSHRC}"
fmt_error "re-run the installer again in a couple of seconds"
exit 1
fi
mv "$OLD_ZSHRC" "${OLD_OLD_ZSHRC}"
echo "${YELLOW}Found old ~/.zshrc.pre-oh-my-zsh." \
"${GREEN}Backing up to ${OLD_OLD_ZSHRC}${RESET}"
fi
echo "${YELLOW}Found ~/.zshrc.${RESET} ${GREEN}Backing up to ${OLD_ZSHRC}${RESET}"
mv ~/.zshrc "$OLD_ZSHRC"
fi
echo "${GREEN}Using the Oh My Zsh template file and adding it to ~/.zshrc.${RESET}"
sed "/^export ZSH=/ c\\
export ZSH=\"$ZSH\"
" "$ZSH/templates/zshrc.zsh-template" > ~/.zshrc-omztemp
mv -f ~/.zshrc-omztemp ~/.zshrc
echo
}
setup_shell() {
# Skip setup if the user wants or stdin is closed (not running interactively).
if [ "$CHSH" = no ]; then
return
fi
# If this user's login shell is already "zsh", do not attempt to switch.
if [ "$(basename -- "$SHELL")" = "zsh" ]; then
return
fi
# If this platform doesn't provide a "chsh" command, bail out.
if ! command_exists chsh; then
cat <<EOF
I can't change your shell automatically because this system does not have chsh.
${BLUE}Please manually change your default shell to zsh${RESET}
EOF
return
fi
echo "${BLUE}Time to change your default shell to zsh:${RESET}"
# Prompt for user choice on changing the default login shell
printf '%sDo you want to change your default shell to zsh? [Y/n]%s ' \
"$YELLOW" "$RESET"
read -r opt
case $opt in
y*|Y*|"") echo "Changing the shell..." ;;
n*|N*) echo "Shell change skipped."; return ;;
*) echo "Invalid choice. Shell change skipped."; return ;;
esac
# Check if we're running on Termux
case "$PREFIX" in
*com.termux*) termux=true; zsh=zsh ;;
*) termux=false ;;
esac
if [ "$termux" != true ]; then
# Test for the right location of the "shells" file
if [ -f /etc/shells ]; then
shells_file=/etc/shells
elif [ -f /usr/share/defaults/etc/shells ]; then # Solus OS
shells_file=/usr/share/defaults/etc/shells
else
fmt_error "could not find /etc/shells file. Change your default shell manually."
return
fi
# Get the path to the right zsh binary
# 1. Use the most preceding one based on $PATH, then check that it's in the shells file
# 2. If that fails, get a zsh path from the shells file, then check it actually exists
if ! zsh=$(command -v zsh) || ! grep -qx "$zsh" "$shells_file"; then
if ! zsh=$(grep '^/.*/zsh$' "$shells_file" | tail -1) || [ ! -f "$zsh" ]; then
fmt_error "no zsh binary found or not present in '$shells_file'"
fmt_error "change your default shell manually."
return
fi
fi
fi
# We're going to change the default shell, so back up the current one
if [ -n "$SHELL" ]; then
echo "$SHELL" > ~/.shell.pre-oh-my-zsh
else
grep "^$USERNAME:" /etc/passwd | awk -F: '{print $7}' > ~/.shell.pre-oh-my-zsh
fi
# Actually change the default shell to zsh
if ! chsh -s "$zsh"; then
fmt_error "chsh command unsuccessful. Change your default shell manually."
else
export SHELL="$zsh"
echo "${GREEN}Shell successfully changed to '$zsh'.${RESET}"
fi
echo
}
main() {
# Run as unattended if stdin is not a tty
if [ ! -t 0 ]; then
RUNZSH=no
CHSH=no
fi
# Parse arguments
while [ $# -gt 0 ]; do
case $1 in
--unattended) RUNZSH=no; CHSH=no ;;
--skip-chsh) CHSH=no ;;
--keep-zshrc) KEEP_ZSHRC=yes ;;
esac
shift
done
setup_color
if ! command_exists zsh; then
echo "${YELLOW}Zsh is not installed.${RESET} Please install zsh first."
exit 1
fi
if [ -d "$ZSH" ]; then
echo "${YELLOW}The \$ZSH folder already exists ($ZSH).${RESET}"
if [ "$custom_zsh" = yes ]; then
cat <<EOF
You ran the installer with the \$ZSH setting or the \$ZSH variable is
exported. You have 3 options:
1. Unset the ZSH variable when calling the installer:
$(fmt_code "ZSH= sh install.sh")
2. Install Oh My Zsh to a directory that doesn't exist yet:
$(fmt_code "ZSH=path/to/new/ohmyzsh/folder sh install.sh")
3. (Caution) If the folder doesn't contain important information,
you can just remove it with $(fmt_code "rm -r $ZSH")
EOF
else
echo "You'll need to remove it if you want to reinstall."
fi
exit 1
fi
setup_ohmyzsh
setup_zshrc
setup_shell
printf %s "$GREEN"
cat <<'EOF'
__ __
____ / /_ ____ ___ __ __ ____ _____/ /_
/ __ \/ __ \ / __ `__ \/ / / / /_ / / ___/ __ \
/ /_/ / / / / / / / / / / /_/ / / /_(__ ) / / /
\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/
/____/ ....is now installed!
EOF
cat <<EOF
Before you scream Oh My Zsh! please look over the ~/.zshrc file to select plugins, themes, and options.
• Follow us on Twitter: $(fmt_underline https://twitter.com/ohmyzsh)
• Join our Discord server: $(fmt_underline https://discord.gg/ohmyzsh)
• Get stickers, shirts, coffee mugs and other swag: $(fmt_underline https://shop.planetargon.com/collections/oh-my-zsh)
EOF
printf %s "$RESET"
if [ $RUNZSH = no ]; then
echo "${YELLOW}Run zsh to try it out.${RESET}"
exit
fi
exec zsh -l
}
main "$@"
配置.zshrc
ZSH_THEME=”ys” source ~/.zshrc
语法高亮
sudo apt install zsh-syntax-highlighting echo “source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh” >> ~/.zshrc source ~/.zshrc
- 桌面美化 ```bash 安装优化工具 sudo apt install gnome-tweak-tool 使gnome支持插件扩展,以插件形式扩展应用 sudo apt install gnome-shell-extensions 使浏览器支持插件扩展,在浏览器打开按钮即可用 sudo apt install chrome-gnome-shell 插件网站 https://extensions.gnome.org 常用插件 Arcmenu、Clipboard indicator、Compiz alike windows effect、Coverflow alt-tab、Dash to dock、Dash to panel、Internet speed meter、Openweather、User themes
桌面、shell、图标和光标主题安装 网址:https://www.opendesktop.org/p/1013714/、https://www.pling.com/p/1312658/、https://www.gnome-look.org/browse/cat/ 方式一: 可通过ocs安装工具进行网页一键安装主题,下载路径(https://www.gnome-look.org/p/1136805/),下完之后用dpkg -i ocs.deb命令安装ocs工具(如果遇到依赖包问题用sudo apt-get install -f解决),安装好就可以在以上网址支持ocs安装主题的页面进行一键安装,再在优化工具中选择即可 方式二: 下载tar包,tar -xvf .tar 解压到/usr/share/icons、/usr/share/themes或者~/.themes、~/.icons目录下,再在优化工具中选
<a name="21f4b796"></a>
#### 3、安装工具
```bash
安装git
sudo apt install git
安装vim
sudo apt install vim
安装python2
sudo apt install python
安装pip3
sudo apt install python3-pip
安装ifconfig
sudo apt install net-tools
安装curl
sudo apt install curl
安装Typroa
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA300B7755AFCFAE
wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -
sudo add-apt-repository 'deb https://typora.io/linux ./'
sudo apt update
sudo apt install typora
安装JetBrains全家桶
https://www.jetbrains.com/toolbox-app/下载该工具进行无脑安装,注意解压后在非root用户启动
安装java8
sudo apt update
sudo apt install openjdk-8-jdk
如果安装了多个版本可通过命令设置默认版本
sudo update-alternatives --config java
配置环境变量
vim /etc/profile
添加
#JAVA
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64(echo $JAVA_HOME可查看java安装目录)
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
使配置生效
source /etc/profile
安装maven
sudo apt install maven
配置环境变量
vim /etc/profile
添加
#MAVEN
MAVEN_HOME=/usr/share/maven(echo $MVN可查看maven安装目录)
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
配置maven本地仓库和远程仓库
vim /usr/share/maven/conf/settings.xml
添加
<localRepository>/home/data/java-repository</localRepository>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
安装redis可视化工具
sudo snap install redis-desktop-manager
安装vscode和网易云音乐
https://code.visualstudio.com/
https://music.163.com/#/download下载.deb包
dpkg -i 或者 apt install *.deb命令安装
安装ssh
apt install openssh-server
打开防火墙并允许ssh
ufw enable
ufw allow ssh
查看ssh运行状态
service ssh status
连接远程服务器
ssh user@ip
安装deepin-wine上的软件(QQ、微信等)
wget -O- https://deepin-wine.i-m.dev/setup.sh | sh
sudo apt-get install 包名(https://github.com/zq1997/deepin-wine在github上看有哪些软件包)
安装docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
vim /etc/docker/daemon.json
添加docker国内镜像
{
"registry-mirrors": ["https://mj9kvemk.mirror.aliyuncs.com"]
}
重启生效
systemctl daemon-reload
systemctl restart docker
非root用户如何使用docker:
查看是否有docker用户组
sudo cat /etc/group | grep docker
若没有进行添加
sudo groupadd -g 999 docker(999为组id,docker为组名)
添加用户进docker组
sudo usermod -aG docker user
重启docker
sudo systemctl restart docker
给权限
sudo chmod a+rw /var/run/docker.sock
安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
4、修改用户名
修改用户名,需要杀掉该用户所有的进程
sudo pkill -u dan
sudo pkill -9 -u dan
如果不行用root用户登陆操作,默认root是不能通过图形界面登陆的,需要修改配置:
设置root用户密码:sudo passwd root
sudo vim /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf 添加greeter-show-manual-login= true
sudo vim /etc/pam.d/gdm-autologin 注释掉auth required pam_succeed_if.so user != root quiet_success
sudo vim /etc/pam.d/gdm-password 注释掉auth required pam_succeed_if.so user != root quiet_success
sudo vim/root/.profile 添加tty -s && mesg n || true 和 mesg n || true 将原来的mesg n 2> /dev/null || true注释掉
修改完重启选择root用户登陆即可,修改完再恢复配置
修改用户名
usermod -l new_username old_username
修改home目录
sudo usermod -d /home/new_username -m new_username
修改用户UID
sudo usermod -u uid new_username
修改用户组名
groupmod -n new_username old_username
查看用户信息
id user_name
5、ubuntu笔记本设置关闭盖子不休眠
sudo vim /etc/systemd/logind.conf
#HandleLidSwitch=suspend -> HandleLidSwitch=ignore
service systemd-logind restart