admin 发布的文章

Ubuntu发行版配置和美化

这里选择Ubuntu22.04

镜像源

  • 推荐清华镜像源

    vim /etc/apt/sources.list

    # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse

    # 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
    deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
    # deb-src http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse

    # 预发布软件源,不建议启用
    # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
    # # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse

gcc/g++

  • gcc/g++
    sudo apt update
    sudo apt install bulid-essential

Python/pip3/venv

  • Ubuntu预装了Python3,检查Python版本
    python —version
    python3 —version
  • pip3
    sudo apt install  python3-pip
  • venv
    sudo apt install python3-venv  # 安装虚拟环境工具
    python3 -m venv myenv         # 创建虚拟环境
    source myenv/bin/activate     # 激活虚拟环境 
    deactivate #退出虚拟环境

neovim/lazyvim

  • neovim
    sudo add-apt-repository ppa:neovim-ppa/stable
    sudo apt update
    sudo apt install neovim 
  • lazyvim
    sudo apt install git
    sudo apt install lazygit
    sudo apt install curl
    sudo apt install fzf
    sudo apt install ripgrep
    sudo apt install fd

    #required
    mv ~/.config/nvim{,.bak}

    #optional but recommended
    mv ~/.local/share/nvim{,.bak}
    mv ~/.local/state/nvim{,.bak}
    mv ~/.cache/nvim{,.bak}

    git clone https://github.com/LazyVim/starter ~/.config/nvim

    rm -rf ~/.config/nvim/.git

    nvim

docker/docker monpose

  • docker
    sudo apt update
    sudo apt upgrade -y
    sudo apt install -y ca-certificates curl gnupg lsb-release

    sudo mkdir -p /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

    sudo apt update
    sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

    sudo systemctl enable docker  # 开机自启
    sudo systemctl start docker   # 立即启动
    sudo systemctl status docker  # 查看状态

    sudo usermod -aG docker $USER
    newgrp docker  # 刷新用户组(或重新登录)

node/nvm

  • nvm
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

    source ~/.bashrc

    nvm ls-remote

    nvm install node

snap移除

  • snap移除
    #snap list 用于查看已经安装的 Snap 软件,通过脚本全部删除:
    for p in $(snap list | awk '{print $1}'); do
      sudo snap remove $p
    done

    #删除 Snap 的 Core 文件。
    sudo systemctl stop snapd
    sudo systemctl disable --now snapd.socket

    for m in /snap/core/*; do
       sudo umount $m
    done

    sudo apt autoremove --purge snapd

    #删除 Snap 的目录。
    rm -rf ~/snap
    sudo rm -rf /snap
    sudo rm -rf /var/snap
    sudo rm -rf /var/lib/snapd
    sudo rm -rf /var/cache/snapd

    #配置 APT 参数:禁止 apt 安装 snapd。
    sudo sh -c "cat > /etc/apt/preferences.d/no-snapd.pref" << EOL
    Package: snapd
    Pin: release a=*
    Pin-Priority: -10
    EOL

    a -> Archive
    c -> Component
    o -> Origin
    l -> Labe

ros

  • ros
    #set  locale

    locale  # check for UTF-8

    sudo apt update && sudo apt install locales
    sudo locale-gen en_US en_US.UTF-8
    sudo update-locale LC_ALL=en_US.UTF-8                    
    LANG=en_US.UTF-8
    export LANG=en_US.UTF-8

    locale  # verify settings

    #add the ROS 2 apt repository
    sudo apt install software-properties-common
    sudo add-apt-repository universe

    #add the ROS 2 GPG key 

    sudo apt update && sudo apt install curl -y
    sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/。master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

    #add the repository to your sources list

    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

    #install ros-tools

    sudo apt update && sudo apt install -y \
      python3-flake8-docstrings \
      python3-pip \
      python3-pytest-cov \
      ros-dev-tools

    #Create a workspace
    mkdir -p ~/ros2_humble/src
    cd ~/ros2_humble
    vcs import --input https://raw.githubusercontent.com/ros2/ros2/humble/ros2.repos src

    #install rosdep
    sudo apt upgrade
    sudo rosdep init
    rosdep update
    rosdep install --from-paths src --ignore-src -y --skip-keys "fastcdr rti-connext-dds-6.0.1 urdfdom_headers"

    #构建代码
    cd ~/ros2_humble/
    colcon build --symlink-install

    #source setup script

    . ~/ros2_humble/install/local_setup.bash

mysql

  • mysql
    sudo apt install mysql-server
    
    sudo mysql_secure_installation
    
    sudo systemctl status mysql
    
    sudo systemctl start mysql
    
    sudo mysql -u root -p