Ubuntu20.04沉浸式装机

news2024/10/6 20:28:31

Ubuntu20.04沉浸式装机

文章目录

  • Ubuntu20.04沉浸式装机
    • 前言
    • 1.装机之后系统更新,设置软件源
    • 2.安装系统驱动
      • Notice
    • 3 安装CUDA及CuDNN
    • 4 常用软件安装
      • 4.1 常用软件安装
      • 4.2 Typora安装
      • 4.3 docker安装
      • 4.4 nvidia-docker 安装
      • 4.5 pypcd 安装
      • 4.6 PCL安装
        • 环境安装
      • 4.7 Eigen安装
      • 4.8 yaml安装
      • 4.9 卸载libreoffice

前言

最近重装系统比较头疼,反复安装驱动版本都会告警。

每次解决办法都是重装操作系统。

因此,甚是头疼。

痛定思痛,遂整理沉浸式装机shell脚本,可操作操作几个shell脚本,就能轻松完成系统大部分软配置,提高 摸鱼 工作效率!

1.装机之后系统更新,设置软件源

首先进行系统更新,以及设置软件更新源

可以按下列配置设置setup_part1.sh并运行。

因为后面要安装显卡驱动,所以将系统自带的nouveau驱动屏蔽,否则Nvidia驱动无法安装。

#!/usr/bin/env bash

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade


SelectOS()
{
  echo -e "\e[1;35mselect OS:\e[0m"
  echo -e "     1) Ubuntu18.04"
  echo -e "     2) Ubuntu20.04"
}

# 修改软件源
echo -e "\e[1;32m修改软件源\e[0m"
# sudo gedit /etc/apt/sources.list
SelectOS
read -p "Choose OS system, please: " sysType
if [ sysType == 1 ]; then
    sudo echo "deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse" > /etc/apt/sources.list
    sudo echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse" >> /etc/apt/sources.list
    sudo echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse" >> /etc/apt/sources.list
    sudo echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse" >> /etc/apt/sources.list
    sudo echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse" >> /etc/apt/sources.list
    sudo echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse" >> /etc/apt/sources.list
    sudo echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse" >> /etc/apt/sources.list
    sudo echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse" >> /etc/apt/sources.list
    sudo echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse" >> /etc/apt/sources.list
    sudo echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse" >> /etc/apt/sources.list
elif [ sysType == 2 ]; then
    sudo echo "deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse" > /etc/apt/sources.list
    sudo echo "deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse" >> /etc/apt/sources.list
    sudo echo "deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse" >> /etc/apt/sources.list
    sudo echo "deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse" >> /etc/apt/sources.list
    sudo echo "deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse" >> /etc/apt/sources.list
    sudo echo "deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse" >> /etc/apt/sources.list
    sudo echo "deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse" >> /etc/apt/sources.list
    sudo echo "deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse" >> /etc/apt/sources.list
    sudo echo "deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse" >> /etc/apt/sources.list
    sudo echo "deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse" >> /etc/apt/sources.list
fi

# 安装驱动
echo "QCJ-Randy"
echo -e "\e[1;32m禁用系统自带驱动nouveau\e[0m"
# sudo gedit /etc/modprobe.d/blacklist.conf
sudo echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
sudo echo "options nouveau modeset=0" >> /etc/modprobe.d/blacklist.conf
sudo echo "alias nouveau off" >> /etc/modprobe.d/blacklist.conf
sudo echo "alias lbm-nouveau off" >> /etc/modprobe.d/blacklist.conf

sudo update-initramfs -u

echo -e "\e[1;32m请重启电脑:reboot\e[0m"

2.安装系统驱动

可通过ubuntu Software & Updates中的Additional Drivers安装

比如可选择460或470驱动,笔者选择了460。此步骤不装也行,CUDA安装包中包含安装驱动。选择的时候不要选择tested版本,不稳定。

Randy系统中选择驱动版本

点击Apply Changes可进行安装,安装完可输入下面命令查看是否安装成功

# 查看驱动是否安装成功
nvidia-smi

# 10s显示一次
watch -n 10 nvidia-smi

nvidia-smi -l

Randy-查看系统驱动版本

Notice

同一大版本系统(如Ubuntu20.04),不同小版本的系统安装包,会导致系统推荐的显卡驱动也不尽相同,驱动的版本号不一致。

3 安装CUDA及CuDNN

根据自己电脑显卡配置及功能需要安装对应版本的CUDA,如果需要神经网络处理,就安装CuDNN。

相关版本下载脚本:

#!/usr/bin/env bash

wget https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux.run
wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux.run
wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run

具体安装方法,可参考【Ubuntu20.04安装CUDA、cuDNN】:https://blog.csdn.net/weixin_42483745/article/details/124742013

4 常用软件安装

4.1 常用软件安装

首先安装搜狗输入法,提前下好安装包sogoupinyin_4.0.1.2800_x86_64.deb ,再通过下面的脚本一键到底,沉浸式享受基本程序安装。

基本程序包括:搜狗输入法、git、locate、cmake、flameshot、axel、nfs、cloudcompare、clang、filezilla、pcap环境等。

*setup_part2.sh*

#!/usr/bin/env bash

# 常用软件
## 搜狗输入法
sudo apt-get install fcitx
sudo dpkg -i sogoupinyin_4.0.1.2800_x86_64.deb 
sudo cp /usr/share/applications/fcitx.desktop /etc/xdg/autostart/
sudo apt purge ibus
sudo apt install libqt5qml5 libqt5quick5 libqt5quickwidgets5 qml-module-qtquick2
sudo apt install libgsettings-qt1

echo -e  "\e[1;32msetup git\e[0m"
sudo apt install git -y

echo -e "\e[1;32msetup mlocate\e[0m"
sudo apt install mlocate

echo -e "\e[1;32msetup cmake\e[0m"
sudo apt  install cmake -y

echo -e "\e[1;32msetup flameshot\e[0m"
sudo apt-get install flameshot
echo "QCJ-Randy"

echo -e "\e[1;32msetup axel\e[0m"
sudo apt-get install axel

echo -e "\e[1;32msetup nfs\e[0m"
sudo apt-get install nfs-common -y

echo -e "\e[1;32msetup cloudcompare\e[0m"
snap install cloudcompare

echo -e "\e[1;32msetup clang-format\e[0m"
sudo apt-get install clang-format

echo -e "\e[1;32msetup filezilla\e[0m"
sudo apt-get install filezilla
echo "QCJ-Randy"

echo -e "\e[1;32msetup pcap\e[0m"
sudo apt-get install libpcap-dev

4.2 Typora安装

setup_typora.sh

#!/usr/bin/env bash

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA300B7755AFCFAE
# or use wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -

sudo add-apt-repository 'deb http://typora.io linux/'
sudo apt-get update
sudo apt-get install typora
sudo snap install typora
echo "QCJ-Randy"

4.3 docker安装

setup_docker.sh

#!/usr/bin/env bash

green="\e[1;32m"
reset="\e[0m"
purple="\e[1;35m"
bold="\e[1m"
yellow="\e[1;33m"


echo -e "${green}卸载掉系统里的docker${reset}"
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo rm -rf /var/lib/docker

sudo apt-get update
echo -e "${green}添加HTTPS协议和CA证书${reset}"
sudo apt-get install  apt-transport-https  ca-certificates curl  software-properties-common

echo -e "${green}Add Docker’s official GPG key:${reset}"
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 chmod a+r /etc/apt/keyrings/docker.gpg
sudo apt-get update
echo "QCJ-Randy"

echo -e "${green}Install Docker Engine, containerd, and Docker Compose${reset}"
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin


echo -e "${yellow}下列语句写入 /etc/docker/daemon.json 文件中。如文件不存在,则创建一个${reset}"
echo "{"
echo "  \"registry-mirrors\": [\"https://docker.mirrors.ustc.edu.cn\"]"
echo "}"

read -p "modify the file </etc/docker/daemon.json> from upper tips, then input any key." user_status

echo -e "${green}建立docker用户组${reset}"
sudo groupadd docker
echo -e "${green}将当前用户加入 docker 组${reset}"
sudo usermod -aG docker $USER
sudo gpasswd -a $USER docker
echo "QCJ-Randy"
echo -e "${green}更新用户组${reset}"
newgrp docker

echo -e "${green}修改docker权限${reset}"
sudo chmod a+rw /var/run/docker.sock

echo -e "${green}重启终端或重启docker${reset}"
sudo systemctl restart docker

echo -e "${green}查看docker版本${reset}"
echo "QCJ-Randy"
docker version

4.4 nvidia-docker 安装

setup_nvidia-docker.sh

#!/usr/bin/env bash

echo -e "\e[1;32m安装NVIDIA Docker2:\e[0m"

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu18.04/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
echo "QCJ-Randy"

echo -e "e[1;32m安装2.0\e[0m"
sudo apt-get install nvidia-docker2

echo -e "e[1;32m重新加载docker守护进程配置\e[0m"
sudo pkill -SIGHUP dockerd

echo -e "e[1;32mnvidia-docker version\e[0m"
echo "QCJ-Randy"
nvidia-docker --version

4.5 pypcd 安装

setup_pypcd.sh

#!/usr/bin/env bash
git clone https://github.com/dimatura/pypcd
cd pypcd
git fetch origin pull/9/head:python3
git checkout python3
python setup.py install
echo "QCJ-Randy"

4.6 PCL安装

环境安装

setup_pcl.sh

#!/usr/bin/env bash
echo "setup pcl environment of pcl"
sudo apt-get update  
sudo apt-get install git build-essential linux-libc-dev
sudo apt-get install cmake cmake-gui
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev
sudo apt-get install mpi-default-dev openmpi-bin openmpi-common 
sudo apt-get install libflann1.9 libflann-dev
sudo apt-get install libeigen3-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libvtk7.1p-qt
sudo apt-get install libvtk7.1p 
sudo apt-get install libvtk7-qt-dev
sudo apt-get install libqhull* libgtest-dev
sudo apt-get install freeglut3-dev pkg-config
sudo apt-get install libxmu-dev libxi-dev
sudo apt-get install mono-complete
sudo apt-get install openjdk-8-jdk openjdk-8-jre
echo "QCJ-Randy"

echo "下载pcl代码"
git clone https://github.com/PointCloudLibrary/pcl.git 
echo "QCJ-Randy"
cd pcl 
mkdir release 
cd release

echo "compile"
cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_GPU=ON-DBUILD_apps=ON -DBUILD_examples=ON \ -DCMAKE_INSTALL_PREFIX=/usr .. 
make  
echo "QCJ-Randy"

4.7 Eigen安装

setup_eigen.sh

git clone https://github.com/eigenteam/eigen-git-mirror
cd eigen-git-mirror
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
sudo make install
echo "QCJ-Randy"

4.8 yaml安装

setup_yaml.sh

git clone https://github.com/jbeder/yaml-cpp
mkdir build
cd build
cmake ..
echo "QCJ-Randy"

cmake -DBUILD_SHARED_LIBS=ON ..
echo "QCJ-Randy"

make
make install

sudo make install
sudo ldconfig
echo "QCJ-Randy"

4.9 卸载libreoffice

remove_libreoffice.sh

#!/usr/bin/env bash

sudo apt remove libreoffice-calc
sudo apt remove libreoffice-draw
sudo apt remove libreoffice-impress
sudo apt remove libreoffice-writer
sudo apt remove libreoffice*
sudo apt  purge libreoffice*
echo "QCJ-Randy"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/20164.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python学习基础笔记七——元组

元组tuple&#xff0c;跟列表相似&#xff0c;元组不能在原处修改。元组不支持任何方法调用&#xff0c;但是元组具有列表的大多数属性。 但是要记住的是&#xff1a;元组的不可变性只适用于元组本身&#xff0c;并非其内容。例如元组内部的列表是可以像往常一样修改的。 元组常…

Go1.20 arena新特性示例详解

当时我们还想着 Go 团队应该不会接纳&#xff0c;至少不会那么快&#xff1a; 懒得翻也可以看我再次道来&#xff0c;本文提到的提案《proposal: arena: new package providing memory arenas》&#xff0c;这其中的 Arena 将会是一个突破项。 快速背景 Arena 指的是一种从一个…

Java接口的应用

目标&#xff1a;总结Comparable接口以及compareTo方法、comparator接口中compare方法比较器、toString方法、equals方法、hashCode方法、Cloneable接口以及深浅拷贝 比较对象中内容的大小【Comparable接口以及compareTo方法】 例如&#xff1a;学生类&#xff1a;成员有姓名、…

计算机网络4小时速成:数据链路层,功能,封装成帧,透明传输,差错控制,PPP协议,广播信道,以太网,MAC层,设备

计算机网络4小时速成&#xff1a;数据链路层&#xff0c;功能&#xff0c;封装成帧&#xff0c;透明传输&#xff0c;差错控制&#xff0c;PPP协议&#xff0c;广播信道&#xff0c;以太网&#xff0c;MAC层&#xff0c;设备 2022找工作是学历、能力和运气的超强结合体&#x…

Linux C/C++ 学习笔记(四):MYSQL安装与远程连接

问题及解决 对配置文件中绑定的IP地址进行修改 通过Mysql workbench连接MySQL数据库时出现错误 需要对mysq的配置文件进行修改&#xff0c;配置文件是/etc/mysql下的my.cnf 绑定的地址是一个回环地址&#xff0c;不能对外使用 将其修改为0.0.0.0。 0.0.0.0不是一个真正意义…

MySQL主从数据库(主读从写)

MySQL多数据源MySQL主从数据库&#xff08;主读从写&#xff09;1. 多数据源的实现原理1.1 配置多数据源yml文件1.2 创建配置类1.3 动态切换数据源类继承AbstractRoutingDataSource 类1.4 测试类测试1.5 附枚举代码1.6 总结2. 多数据源切换方式&#xff08;优化&#xff09;2.1…

HTML做一个简单漂亮的宠物网页(纯html代码) 带视频 带音乐 带报告

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材&#xff0c;DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 宠物网页设计 | 保护动物网页 | 鲸鱼海豚主题 | 保护大象 | 等网站的设计与制作 | HTML宠物网页设计 | HTML期末大学生网页设计作业 HTML&#xff1a;…

酒水推荐商城|基于Springboot实现酒水商城系统

作者主页&#xff1a;编程指南针 作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容&#xff1a;Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助 收藏点赞不迷路 关注作者有好处 文末获取源…

FLP、CAP和BASE

FLP不可能原理 FLP定理 FLP Impossibility&#xff08;FLP 不可能性&#xff09;是分布式领域中一个非常著名的定理&#xff0c;定理的论文是由 Fischer, Lynch and Patterson 三位作者于1985年发表 It is impossible to have a deterministic protocol that solves consens…

通过WebSocket实现实时系统通知,以后再也不能装作没看到老板的通知了~~

&#x1f4de; 文章简介&#xff1a;WebSocket实时通知Demo &#x1f4a1; 创作目的&#xff1a;因为公司正在从零搭建CRM&#xff0c;其中有一个需求是系统通知管理&#xff0c;老板发布通知给员工。简单的用数据库实现感觉缺少一些实时性&#xff0c;不是那么生动。于是想到了…

向毕业妥协系列之深度学习笔记(三)DL的实用层面(上)

目录 一.训练_开发_测试集 二.方差与偏差 三.正则化 四.Dropout正则化 五.其他正则化方法 本篇文章大部分又是在ML中学过的&#xff0c;除了Dropout正则化及之后的部分。 一.训练_开发_测试集 在配置训练、验证和测试数据集的过程中做出正确决策会在很大程度上帮助大家创…

[Spring MVC 8]高并发实战小Demo

本项目基于Spring MVC进行关于点赞项目的开发&#xff0c;从传统的点赞到高并发缓存开发最后到消息队列异步开发&#xff0c;可谓是令人大开眼界。 本篇博客全部代码已经放出&#xff0c;本博客重点是后端操作&#xff0c;所以对于前端就十分简单的页面。讲述了关于Redis,Quart…

软件安装教程1——Neo4j下载与安装

Neo4j的下载地址Neo4j Download Center - Neo4j Graph Data Platform 我下载的是Neo4j社区版&#xff08;免费&#xff09;【企业版收费】 解压后的目录如下&#xff1a; 接下来配置环境变量 进入bin目录&#xff0c;复制路径&#xff1a;E:\neo4j\neo4j-community-5.1.0-win…

决策树——预剪枝和后剪枝

一、 为什么要剪枝 1、未剪枝存在的问题 决策树生成算法递归地产生决策树&#xff0c;直到不能继续下去为止。这样产生的树往往对训练数据的分类很准确&#xff0c;但对未知的测试数据的分类却没有那么准确&#xff0c;即容易出现过拟合现象。解决这个问题的办法是考虑决策树…

【Lua基础 第2章】lua遍历table的方式、运算符、math库、字符串操作方法

文章目录&#x1f4a8;更多相关知识&#x1f447;一、lua遍历table的几种方式&#x1f342;pairs遍历&#x1f342;ipairs遍历&#x1f342;i1,#xxx遍历&#x1f31f;代码演示&#x1f342;pairs 和 ipairs区别二、如何打印出脚本自身的名称三、Lua运算符&#x1f538;算术运算…

微服务治理-含服务线上稳定性保障建设治理

微服务的概念 任何组织在设计一套系统&#xff08;广义概念上的系统&#xff09;时&#xff0c;所交付的设计方案在结构上都与该组织的沟通结构保持一致。 —— 康威定律 微服务是一种研发模式。换句话理解上面这句康威定律&#xff0c;就是说 一旦企业决定采用微服务架构&am…

Js逆向教程-12FuckJs

Js逆向教程-12FuckJs 它利用了js的语法特性&#xff1a; 一、特性1 任何一个js类型的变量结果 加上一个字符串 &#xff0c;只会变成字符串。 数组加上字符串&#xff1a; [0]"" 0true加上字符串 true "" true数字加上字符串 1"" 1二、特性…

14天学习训练营之 初识Pygame

目录 学习知识点 PyGame 之第一个 PyGame 程序 导入模块 初始化 ​​1.screen 2. 游戏业务 学习笔记 当 init () 的时候&#xff0c;它在干什么&#xff1f; init () 实际上检查了哪些东西呢&#xff1f; 它到底 init 了哪些子模块&#xff1f; 总结 14天学习训练营导…

2023年计算机毕设选题推荐

同学们好&#xff0c;这里是海浪学长的毕设系列文章&#xff01; 对毕设有任何疑问都可以问学长哦! 大四是整个大学期间最忙碌的时光,一边要忙着准备考研,考公,考教资或者实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越…

·工业 4.0 和第四次工业革命详细介绍

工业 4.0 是制造/生产及相关行业和价值创造过程的数字化转型。 目录 工业 4.0 指南 工业 4.0 与第四次工业革命互换使用&#xff0c;代表了工业价值链组织和控制的新阶段。 网络实体系统构成了工业 4.0 的基础&#xff08;例如&#xff0c;「智慧机器」&#xff09;。他们使用…