# deepin-auto-setup **Repository Path**: pingWurth/deepin-auto-setup ## Basic Information - **Project Name**: deepin-auto-setup - **Description**: 国产 Linux 操作系统 Deepin 安装 + 全自动化搭建开发环境 - **Primary Language**: Shell - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-08-25 - **Last Updated**: 2024-11-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # deepin-auto-setup ## 介绍 **国产 Linux 操作系统 Deepin 安装 + 全自动化搭建开发环境** 安装步骤参考官方文档 —— [官方文档 - 如何安装deepin操作系统](https://www.deepin.org/zh/installation/) 一个脚本完成开发环境搭建 —— 脚本获取 ## Deepin 系统安装 #### 安装前准备 - 一个格式化的 U 盘 - [Ventoy - 制作可启动U盘的开源工具 ](https://www.ventoy.net/cn/download.html) - Deepin 操作系统 iso 安装文件 - [最新版本 – 深度科技社区 (deepin.org)](https://www.deepin.org/zh/download/) - [我使用的版本 deepin V23 amd64](https://cdimage.deepin.com/releases/23/amd64/deepin-desktop-community-23-amd64.iso) - [Live 系统 - 基于 U 盘的 deepin 操作系统,用于修复、备份/恢复 deepin](https://cdimage.deepin.com/live-system/deepin-live-system-2.0-amd64.iso) - [官方文档 - 如何安装deepin操作系统](https://www.deepin.org/zh/installation/) - 建议使用手机或另一台电脑打开,安装步骤参照文档说明执行 #### 制作 U 盘启动盘 1. 下载好的 ventoy 解压后,双击 Ventoy2Disk.exe 2. 设备选择插入的 U 盘,点击安装 3. 等待安装完成后,将操作系统安装文件(`ISO/WIM/IMG/VHD(x)/EFI`)拷贝到 U 盘中 #### 准备电脑安装环境 > 全盘安装可以跳过这一步。 > > 如果你确定你电脑里所有的数据都不用保留,并且确定不再需要 Windows 系统,那你可以选择全盘安装,或者你有一块单独的磁盘(数据会被清空)。 > > 否则,建议 Windows + Linux 双系统。 1. 进入 Windows,我的电脑——右键选择【管理】——【磁盘管理】 2. 手动创建磁盘分区,作为安装 deepin 的系统盘,选择剩余空间较大的磁盘,右键选择【压缩卷】,设置空间容量(至少64G),点击【压缩】 3. 创建新磁盘分区:压缩完成后,在磁盘管理器中会多出一个【未分配磁盘】,右键选择【新建简单卷】创建新磁盘分区,并默认点击【下一步】,直到【完成】 #### 安装 Deepin **1、使用快捷键进入BIOS启动选项界面** 在电脑上插入系统安装U盘,重启电脑,在开机后的几秒内,连续按下快捷键直至进入BIOS启动选项界面,并选择该U盘。 > 请根据自己的电脑选择相应的快捷键,常见的电脑和主板进入BIOS的快捷键如图(仅供参考): - 组装机主板 | 主板品牌 | 启动按键 | | ------------ | ---------- | | 华硕 | F8 | | 技嘉主板 | F11 | | 微星主板 | F11 | | 映泰主板 | F9 | | 敏捷主板 | ESC 或 F12 | | 七彩虹主板 | ESC 或 F11 | | 华擎主板 | F11 | | 斯巴达克主板 | ESC | | 昂达主板 | F11 | | 双敏主板 | ESC | | 翔升主板 | F10 | | 精英主板 | ESC 或 F11 | | 冠盟主板 | F11 或 F12 | | 富士康主板 | ESC 或 F12 | | 顶星主板 | F11 或 F12 | | 铭瑄主板 | ESC | | 盈通主板 | F8 | | 捷波主板 | ESC | | Intel 主板 | F12 | | 杰微主板 | ESC 或 F8 | | 致铭主板 | F12 | | 磐英主板 | ESC | - 品牌笔记本 | 笔记本品牌 | 启动按键 | | ------------ | -------------- | | 联想 | F12 | | 宏碁 | F12 | | 华硕 | ESC | | 惠普 | F9 | | 联想Thinkpad | F12 | | 戴尔 | F12 | | 神舟 | F12 | | 东芝 | F12 | | 三星 | F12 | | IBM | F12 | | 富士通 | F12 | | 海尔 | F12 | | 方正 | F12 | | 清华同方 | F12 | | 微星 | F11 | | 明基 | F9 | | 技嘉 | F12 | | Gateway | F12 | | eMachines | F12 | | 索尼 | ESC | | 苹果 | 长按“option”键 | - 品牌台式机 | 品牌台式机 | 启动按键 | | ---------- | -------- | | 联想 | F12 | | 惠普 | F12 | | 宏碁 | F12 | | 戴尔 | ESC | | 神舟 | F12 | | 华硕 | F8 | | 方正 | F12 | | 清华同方 | F12 | | 海尔 | F12 | | 明基 | F8 | **2、启动菜单选择 kernel 6.9** > 如果 Ventoy 无法启动,去官方文档中找解决方案: > > https://www.ventoy.net/cn/doc_start.html > > 比如我就遇到了无法启动的情况,在官方文档中通过 [Secure Boot (安全启动)说明](https://www.ventoy.net/cn/doc_secure.html) 解决。 ![boot_menu](./images/boot_menu.png) **3、进入安装主页面,选择【高级安装】** ![deepin安装欢迎页](./images/deepin安装欢迎页.png) ![高级安装-独立磁盘安装](./images/高级安装-独立磁盘安装.png) > 我是有两块磁盘,一块装 Windows,一块装 Linux,我现在需要把装 Linux 的这块磁盘所有分区清空(右边减号)。 > > 除非你跟我一样专门腾出一块磁盘来装 Linux,否则按照下面步骤操作即可。 - 找到前面创建的磁盘分区,点击右侧【编辑】按钮 - 创建启动分区,/boot,500M - 创建交换分区,Linux-swap,大小自定义,建议: - 4G 以内的物理内存,SWAP 设置为内存的 2 倍,不超过 4G - 4-8G 的物理内存,SWAP 等于内存大小 - 8-64G 的物理内存,SWAP 设置为 8G - 64-256G 物理内存,SWAP 设置为 16G - 创建根分区,将剩余的空间都给它,文件系统选择 ext4,挂载点选择“/” > 你可以参考全盘安装的分区方式: ![全盘安装的分区方式](./images/全盘安装的分区方式.png) 关于交换分区(了解即可,不想了解直接跳过): > 【 swap 交换分区的作用】 > > 当实际内存不够用的时候,操作系统会从内存中取出一部分暂时不用的数据,放在交换分区中,从而为当前运行的程序腾出足够的内存空间。 > > 也就是说,当内存不够用时,我们使用 swap 分区来临时顶替。 > > > > 【swap 交换分区的优点】 > > 通过操作系统的调度,应用程序实际可以使用的内存空间将远远超过系统的物理内存。由于硬盘空间的价格远比 RAM 要低,因此这种方式无疑是经济实惠的。 > > > > 【swap 交换分区的缺点】 > > 频繁地读写硬盘,会显著降低操作系统的运行速率,这也是使用 swap 交换分区最大的限制。 > > > > 【swap 分区到底设置多大才最优】 > > 实际上,系统中交换分区的大小并不取决于物理内存的量,而是取决于系统中内存的负荷,所以在安装系统时要根据具体的业务来设置 SWAP 的值。 > > > > 【系统在什么情况下才会使用 swap】 > > 实际上,并不是等所有的物理内存都消耗完毕之后,才去使用 swap 的空间,什么时候使用是由 swappiness 参数值控制。 > > `cat /proc/sys/vm/swappiness` > > 该值在 centos 7上默认值是 30,在Centos 6 上是 60,可以看出新版本的 linux 已经在根据内存大小趋势做出一定的调整。 > > - swappiness=0 的时候表示最大限度使用物理内存,然后才是 swap 空间 > > - swappiness=100 的时候表示积极的使用 swap 分区,并且把内存上的数据及时的搬运到 swap 空间里面 > > > > 【如何查看系统的 swap 分区】 > > `free 命令` > > > > 【如何修改 swappiness 参数】 > > 临时修改 - `sysctl vm.swappiness=10` > > 永久性修改 - 在 `/etc/sysctl.conf` 文件中添加参数:`vm.swappiness=10`,重启生效。 **4、若需要引导分区配置,选择 efi,默认大小 300M** 我们有配置,下面是我的分区变动情况: ![分区变动情况](./images/分区变动情况.png) **6、确定分区变动情况,单击【开始安装】** **6、等待系统安装,安装过程中请勿移除/触碰U盘或关闭电脑** **7、安装成功,单击【立即重启】,单击后立即移除U盘。** ## 开发环境搭建 #### 执行初始化脚本 ```sh $ sudo ./init.sh ``` #### 执行软件安装脚本 > 先下载下面压缩包,解压到 deepin_V23 目录下 ``` 链接: https://pan.baidu.com/s/1O5OO8Y38e3JKa07gNAQDNA?pwd=wwwi 提取码: wwwi ``` 1. 切换到对应 deepin 系统版本目录 ```sh $ cd deepin_V23 ``` 2. 打开软件列表目录,添加自己想要安装的软件,不需要的就注释 ```sh xdg-open softwareList.ini ``` 3. 执行脚本,安装 softwareList.ini 中的软件 ```sh $ sh softwareInstall.sh ``` ## 双显示器配置(如果没有请忽略) ### 自动配置 ```sh $ sudo ./dual_monitor_configuration.sh ``` ### 手动配置 > 如果自动配置没有成功,按照下面步骤配置。 #### 1、查看显卡型号 ```sh ~$ lspci | egrep 'VGA|3D' 01:00.0 VGA compatible controller: NVIDIA Corporation GA104M [GeForce RTX 3080 Mobile / Max-Q 8GB/16GB] (rev a1) 06:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] (rev c4) ``` > 如果你得到的是这么一串东西: > > `3d:00.0 3D controller: NVIDIA Corporation Device 20f3 (rev a1)` > > 就拿着 Device 后面这个数字(比如,我这里是 "20f3")去 [PCI Devices (ucw.cz)](https://admin.pci-ids.ucw.cz/mods/PC/10de) 查询型号,拉到底下有个输入框。 #### 2、下载显卡驱动程序 > 如果你已经有了,就不用下载了,通过如下命令查看: > > `grep "X Driver" /var/log/Xorg.0.log` 或 `nvidia-smi`(需要先安装:`apt install nvidia-smi`) [Download The Official NVIDIA Drivers | NVIDIA](https://www.nvidia.com/en-us/drivers/) 访问上面这个网址(访问很慢很慢),根据自己的显卡型号选择驱动包进行下载,比如: ![nvidia驱动搜索](./images/nvidia驱动搜索.png) #### 3、禁用 NVIDIA 开源驱动 nouveau ```sh # 先查看有没有 nouveau ~$ lsmod | grep nouveau ``` > 如果没有任何输出,这一步跳过 ```sh ~$ sudo deepin-editor /etc/modprobe.d/blacklist-nouveau.conf ``` 添加如下内容: ```tex blacklist nouveau blacklist lbm-nouveau options nouveau modeset=0 alias nouveau off alias lbm-nouveau off ``` 更新驱动程序和模块 ```sh ~$ sudo update-initramfs -u ``` #### 4、安装 nvidia 显卡驱动 > 先看看有没有,通过如下命令: > > `grep "X Driver" /var/log/Xorg.0.log` 或 `nvidia-smi`(需要先安装:`apt install nvidia-smi`) > > 如果有就跳过这步,先做后面的配置,最后如果不成功,再回来重装驱动。 > > 【重装驱动步骤】 > > 先清理旧的驱动:`sudo apt autoremove nvidia-*` > > 自动安装:`sudo apt install -y console-setup nvidia-driver nvidia-smi nvidia-settings` > > 或手动安装:↓↓↓ 找到刚刚下载好的驱动,我放在 (/home/54p/Downloads),执行下面 3 条命令 ```sh ~$ cd /home/54p/Downloads ~$ sudo chmod +x NVIDIA-Linux-x86_64-550.107.02.run ~$ sudo ./NVIDIA-Linux-x86_64-550.107.02.run ``` 安装过程中有几个关键的选择: - 安装 DKMP,选择 YES,以后内核更新后,不用手动再次更新驱动 - 安装 Nvidia X-config 允许更新 xorg.conf 配置文件,选择 NO #### 5、配置驱动 - 编辑 `/etc/x11/xorg.conf` ```sh Section "Module" Load "modesetting" EndSection Section "Device" Identifier "nvidia" Driver "nvidia" BusID "这个值通过 lspci | egrep 'VGA|3D' 获取,比如设备ID 为 00:02.0 这里就填 PCI:0:2:0" Option "AllowEmptyInitialConfiguration" EndSection ``` - 编辑 `~/.xinitrc` ```sh xrandr --setprovideroutputsource modesetting NVIDIA-0 xrandr --auto xrandr --dpi 96 ``` - 编辑 `/etc/lightdm/display_setup.sh` ```sh #!/bin/sh xrandr --setprovideroutputsource modesetting NVIDIA-0 xrandr --auto xrandr --dpi 96 ``` - 执行如下命令修改 `/etc/lightdm/lightdm.conf` ```sh ~$ sed -i "/display_setup/d" /etc/lightdm/lightdm.conf ~$ sed -i "\|^\[Seat:\*\]|a display-setup-script=/etc/lightdm/display_setup.sh" /etc/lightdm/lightdm.conf ``` #### 5、重启 ```sh ~$ shutdown -r now ```