Deepin操作系统丨一台10年前的家用联想台式机重装国产Linux系统,制作成生信服务器

2023-11-14

本篇笔记是利用个人电脑搭建Linux系统(deepin 20.8)的教程,包括系统下载、映像刻录、启动盘制作、电脑BIOS设置、安装系统、故障解决、驱动更新、软件下载、conda配置、R语言和Rstudio-server配置、远程SSH配置、生信分析环境搭建等步骤,教你如何自己制作一个实用的linux服务器

背景介绍

有一台10年前的家用台式电脑(古董级2核CPU、4G
内存、500G硬盘),最开始装的win XP,后来换成了win 7,最近打开使用发现非常卡钝,而且垃圾流氓软件居多,基本没法用了。

于是想折腾折腾,发挥一下它的价值,由windows系统转向linux系统,把它变成一台家用服务器,安装R语言和Rstudio-server,作为生信分析测试环境。同时还要保证该电脑正常使用,快过年了,亲戚孩子来了后能用这个电脑听歌、看电影、聊微信、刷B站。


上图是安装了Linux系统的电脑资源占用,发现CPU占用率不到1%,内存只占用了不到300MB,启用超级终端模式之后,电脑系统自身占用资源极低。如果是普通的windows系统,开机后系统占用量比这高十几倍。

重装linux系统


目前,比较受欢迎的linux系统有centos、ubuntu、deepin等,其中deepin系统是国产的桌面版系统,里面基本的功能都有,能够满足日常使用。最近已经出了23版本,笔者下载了,安装过程中报错,可能是硬件拉胯,所以在此选择deepin 20.8系统。

镜像下载:
https://cdimage.deepin.com/releases/20.8/deepin-desktop-community-20.8-amd64.iso
兰州大学的镜像站,亲测速度更快:
https://mirror.lzu.edu.cn/deepin-releases/
刻录工具下载:
https://cdimage.deepin.com/applications/deepin-boot-maker/windows/deepin-boot-maker.exe
在windows电脑上下载以上文件,然后准备一个16GB以上U盘,通过刻录工具将镜像烧录到u盘(之后如果需要恢复正常使用,只需要格式化u盘即可),此时已经制作好启动盘。

BIOS设置

关闭secure boot,不同机器进入BIOS的方法不一样,我这个是开机按F2,具体方法自行百度。

安装系统

插入之前制作好的u盘作为启动盘,然后再电脑开机的时候快速猛按F12(不同电脑进入启动项的方法不同)

然后通过上下箭头选择你的U盘,回车后等待一会儿,出现安装界面,选择第一项。

硬盘分区这里如果是全盘安装,将会清空所有内容,然后安装deepin系统,如果需要安装双系统,则根据需要修改挂载位置。

调整根分区大小,这里设置的空间大小相当于windos下的c盘(系统盘)内存空间,可以根据需要修改。


勾选右下角使用集成闭源驱动

等待安装完成,大约耗时几分钟左右

重启后拔掉U盘,然后进入系统,此时已经安装完毕

故障解决

安装好后重启进入桌面,发现屏幕分辨率不正常,而且无法调整,检查发现显卡驱动存在问题(这是由于nvidia显卡的官方驱动不开源,所以deepin自己做了个冒牌驱动,导致显卡无法正常工作,如果是集成显卡则没有该问题),因此首先尝试重装显卡驱动程序。

  • 下载显卡驱动

进入NVIDIA官网,找到驱动下载页面,根据自己的显卡型号下载稳定生产版Linux驱动,下载后是一个run格式的文件。

https://www.nvidia.cn/Download/index.aspx

  • 停用自带驱动程序

由于系统自带nouveau驱动程序,因此需要先将其禁用,然后加入黑名单。

sudo dedit /etc/modprobe.d/blacklist.conf

进入编辑器后将以下内存输入并保存

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv

然后使用以下命令更新linux内核(驱动程序在内核中重建)

sudo update-initramfs -u

卸载原来的NVIDIA驱动程序

sudo apt-get remove --purge nvidia*

  • 关闭图形界面服务

暂时关闭X服务(GUI图形界面),这一步会黑屏请看完再操作。
首先按住键盘上的CTRL+ALT+F2,进入超级终端模式,需要输入账户和密码进入命令行界面。


使用下面的命令关闭图形界面(因为显卡驱动必须在关闭显示界面的条件下安装)

sudo service lightdm stop
  • 重装显卡驱动

首先,对下载的显卡驱动更改权限,赋予可执行功能。

sudo chmod +x ./*.run

然后,运行该驱动程序

sudo sh ./*.run


稍等一会儿后出现安装界面,选择Accept


下面这个步骤的意思是将驱动程序以模块形式安装进DKMS,选择NO

出现这个界面表示正在安装,等待几分钟


安装到最后出现报错,无法安装成功,我重新试过三四次,不管怎么样都有报错,可能是这个显卡本身太老了(GTX240,14年前的古董)

使用reboot命令重启电脑,然后发现NVIDIA的驱动程序打开出现错误,屏幕分辨率仍然有问题,显卡驱动不正常。

  • 杀手锏

经过好几次的尝试,都没办法正常安装显卡驱动,迫不得已之下,打开主机箱物理卸载显卡,拔掉显卡后将显示排线连接到主机后面的核显输出端口 。

重启后问题解决,界面恢复正常,因为核显无需额外的驱动程序,所以分辨率、画面亮度等功能也能进行更改,使用起来已经没有太大问题了。


到此,系统安装完成!电脑可以像普通电脑一样下载软件、浏览网页、看电视、听音乐,常用的软件比如微信、QQ、爱奇艺、网易云、WPS、腾讯会议等都有Linux版本,使用起来和普通家用windows电脑没什么大差别,而且垃圾软件个广告更少。

基本环境配置

权限管理

刚开始安装系统时输入的账户为管理员权限,使用该管理员帐号登录,然后进入账户,设置root密码,因为deepin系统初始没有提供root账户,所以需要设置激活后使用。

sudo passwd root

输入上述代码后先输入当前管理员的密码,然后设置root密码并重复一次,即可完成。

su root

输入上述代码并根据提示输入密码,即可进入root账户,此时命令行提示符号为“#”

如果想增加账号,先使用useradd添加,然后使用passwd设置该账户的密码即可。

软件安装

  • 桌面软件商店


可以使用系统自带的软件商店安装,这个方法最简单快捷,同时兼容性最好,官方推荐普通用户使用该方法安装软件。

  • apt软件包仓库
sudo apt install xxx

  • conda仓库
conda search python #搜索
conda install xxx #安装

启动SSH服务

由于deepin系统初始状态下,SSH服务是关闭状态,因此无法直接使用SSH远程连接。

  • Linux服务器端
sudo apt-get update #更新
sudo apt-get install openssh-server #安装ssh服务
sudo ps -e |grep ssh #查看是否存在ssh进程
netstat -an|head -5 #查看端口信息

sudo /etc/init.d/ssh start #启动ssh服务
sudo systemctl enable ssh #设置开机自动启动ssh服务

使用sudo /etc/init.d/ssh status命令可以查看当前SSH服务的开启状态,显示如下为正常情况。

  • 个人PC电脑端

按照ssh登录软件,常见的putty、finalshell、xshell都可以,这里推荐两款,一个是mobaxterm,界面相对丰富,功能也不错【点击这里即可下载使用】另一个是termius,支持多设备、文件管理和代码自动补齐功能,笔者觉得这两款都比较好用。

进入软件后输入主机IP、用户名、密码,即可远程登录上服务器,也可以直接用电脑的power shell输入以下命令登录。

ssh user@192.168.1.1 -p 22

搭建生信分析环境

miniconda

Miniconda是conda的精简版安装程序。 它是Anaconda的小型引导程序版本,仅包含conda,python,它们依赖的软件包以及少量其他有用的软件包。通俗来说就是一个软件的大仓库,里面有各种软件。

https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/

进入上方网址,下载Linux版的安装包


按照如下步骤进行安装

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py38_4.8.3-Linux-x86_64.sh --no-check-certificate
#下载
bash Miniconda3-py38_4.8.3-Linux-x86_64.sh
#安装
conda -V
#重启后验证是否安装成功
(base) user@PC:~$ conda -V
conda 22.11.1

R语言

方法一:采用默认的包管理器安装,此安装版本默认为3.6,操作简单,如需最新版本无法通过该方式安装。

sudo apt-get install r-base

方法二:采用conda安装,之前已经配置好conda,如果没有安装需要先装conda,再装R,这个方法能够按照最新版4.2.0版本。

conda install r-base -y

安装后输入一个R,检查是否安装成功,如果成功后输入which R查看软件路径,这个路径复制保存,之后有用。

(base) user@PC:~$ R

R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 The R Foundation for Statistical Computing
Platform: x86_64-conda_cos6-linux-gnu (64-bit)

R是自由软件,不带任何担保。
在某些条件下你可以将其自由散布。
用'license()'或'licence()'来看散布的详细条件。

R是个合作计划,有许多人为之做出了贡献.
用'contributors()'来看合作者的详细情况
用'citation()'会告诉你如何在出版物中正确地引用R或R程序包。

用'demo()'来看一些示范程序,用'help()'来阅读在线帮助文件,或
用'help.start()'通过HTML浏览器来看帮助文件。
用'q()'退出R.

> q()
Save workspace image? [y/n/c]: n
(base) user@PC:~$ which R
/home/user/miniconda3/bin/R

Rstudio-server

需要系统管理员帐号密码和root账户密码,用于安装Rstudio-server,必须以root账户安装,以下操作均在管理员状态下进行。


下载官网:https://posit.co/download

  • 1.下载软件
sudo apt-get install gdebi-core
wget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-2022.12.0-353-amd64.deb
    1. 安装软件
sudo gdebi rstudio-server-2022.12.0-353-amd64.deb
    1. 设置参数

初次启动Rstudio时提示连接错误,原因是没有指定R的软件路径,之前用which R命令得到的目录保存到Rstudio的配置文件中,重启即可解决。

以下两个文件是Rstudio的配置文件:
/etc/rstudio/rserver.conf
/etc/rstudio/rsession.conf

touch /etc/rstudio/rserver.conf
touch /etc/rstudio/rsession.conf

修改端口

默认的端口是8787,如果我们想改成其他端口,可以在/etc/rstudio/rserver.conf 文件中添加并修改参数:

vim /etc/rstudio/rserver.conf 
www-port=80
#这里我们是将端口改成80

修改完毕之后要验证参数有效性,并重启rstudio-server

rstudio-server test-config
rstudio-server restart

设置R版本

默认情况下,RStudio server 运行时使用的R是系统PATH中指定的R,这个位置可以使用which R确定,如果我们的系统上有多个版本的R,那么可以使用rsession-which-r参数指定RStudio 使用哪个版本的R。

rsession-which-r=/usr/local/bin/R

设置用户限制

/etc/rstudio/rserver.conf文件中添加auth-required-user-group参数,可以指定访问rstudio 的用户:

auth-required-user-group=rstudio_users

创建组,将dave 用户添加到该组:

groupadd rstudio_users
usermod -g rstudio_users -G rstudio_users dave

/etc/rstudio/rserver.conf 文件中指定用户组,只有属于改组的用户才可以使用rstudio。

auth-required-user-group=rstudio_users

当然也可以添加一些其他的资源限制,比如总内存,stack size 和进程数等:

rsession-memory-limit-mb=4000
rsession-stack-limit-mb=10
rsession-process-limit=100
  • rsession.conf配置

默认情况下,当用户2个小时没有执行命令,RStudio 会终止用户的R session,并将这些信息写入磁盘,从而减少资源的消耗,当用户下次使用时,session被还原。

可以通过session-timeout-minutes 参数指定session 过期的时间

session-timeout-minutes=30#会话超时时间

limit-file-upload-size-mb 参数,其可以限制最大的上传大小

limit-file-upload-size-mb=100

指定默认的CRAN repository 服务地址

r-cran-repos=https://mirrors.nwafu.edu.cn/cran/

以上修改都需要重启服务才能生效

用任意设备浏览器访问主机本地IP的8787端口即可,网页版的Rstudio自带保存功能,并且支持多用户登录同时使用。

使用的时候,只需要在同一局域网下!

  • Rstudio运行状态查看
rstudio-server status

  • Rstudio服务开启、停止、重启
rstudio-server start

(base) user@PC:~$ rstudio-server status
● rstudio-server.service - RStudio Server
     Loaded: loaded (/lib/systemd/system/rstudio-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2023-01-04 16:18:56 CST; 35s ago
    Process: 16882 ExecStart=/usr/lib/rstudio-server/bin/rserver (code=exited, status=0/SUCCESS)
   Main PID: 16883 (rserver)
      Tasks: 4 (limit: 4447)
     Memory: 1.8M
     CGroup: /system.slice/rstudio-server.service
             └─16883 /usr/lib/rstudio-server/bin/rserver

使用体验

这个系统实际用起来还是很方便的,普通用户也能很快上手,个人感觉操作界面有点像windows和Macos的结合版。

在设置中能够看到系统的介绍信息,菜单的逻辑关系比较强,操作起来和手机菜单差不多。

自带的终端很好用,响应速度也比较快,能够满足大部分应用。

如果开启图形化窗口界面,普通情况下占用大概2GB内存,通过系统管理器可以看出大部分应用进程占用资源较多。

综上所述,deepin操作系统作为国产之光,用起来还是很棒的!deepin和Linux的关系有点像最近几年鸿蒙和安卓的关系,外界对此还是存在各种观点,笔者认为只要好用、稳定就够了,不用在意具体如何实现。

未来有一天,假如受到国外制裁,所有的windows系统都封禁了,我们还能使用deepin这样的系统做备用替代,那么今日的笔记可能对你有所帮助,多学一点,有益无害。

本文由mdnice多平台发布

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Deepin操作系统丨一台10年前的家用联想台式机重装国产Linux系统,制作成生信服务器 的相关文章

  • CVE-2023-21839 【vulhub weblogic 漏洞复现】

    漏洞概述 由于Weblogic IIOP T3协议存在缺陷 当IIOP T3协议开启时 允许未经身份验证的攻击者通过IIOP T3协议网络访问攻击存在安全风险的WebLogic Server 漏洞利用成功WebLogic Server可能被
  • ffmpeg命令大全

    ffmpeg命令大全 FFMPEG 目录及作用 FFMPEG基本概念 FFMPEG 命令 基本信息查询命令 主要参数 视频参数 音频参数 录制 录屏 分解与复用 滤镜 简单滤镜 复杂滤镜 直播相关 前言 FFMPEG是特别强大的专门用于处理

随机推荐

  • c/c++获取文夹下所有图片文件路径

    在做项目的时候 我们有时候会遇到给定一个文件夹目录 获取该目录下某种类型的文件的路径 也就是遍历一个目录下的所有文件 经过查询 发现可以通过 代码实例 获取某一目录下所有的 jpg文件路径 include
  • Java知识点汇总第二篇(红色为重点内容,黄色为应用较多的,蓝色为了解的

    一 1 标识符 定义 用来表示变量名 类名 方法名 数组名和文件名的有效字符序列 以字母 下划线 美元符号等开始 后面可以跟字母 下划线 美元符号 数字等字符 注 不能以数字开始 大小写敏感 不能与关键字相同 2 关键字 定义 Java中被
  • 计算机网络-6-应用层

    Lecture06 应用层 本节PPT包含5 7三层 The Session Layer 会话层 The Presentation Layer 展示层 The Application Layer 应用层 1 第五层 The Session
  • 性能测试常见指标有哪些

    性能测试的常见指标包括 1 响应时间 Response Time 用户发送请求到系统返回结果所花费的时间 2 吞吐量 Throughput 单位时间内系统处理的请求数量 通常以每秒请求数 SPS或TPS 表示 3 并发用户数 Concurr
  • libev学习系列之三:libev编译安装

    libev学习系列之三 libev编译安装 版本说明 版本 作者 日期 备注 0 1 ZY 2019 5 31 初稿 目录 文章目录 libev学习系列之三 libev编译安装 版本说明 目录 源码结构 正常编译 交叉编译 源码结构 4 2
  • 龙书虎书鲸书啃不动?试试豆瓣评分9.5的猴书

    相传 编译原理界有三大圣书 龙书是为Compilers Principles Techniques and Tools 虎书是为Modern Compiler Implementation in C 鲸书是为Advanced Compile
  • python自动化办公(三十一)TKinter 先登录授权窗口,授权成功后进入master主窗口

    一 主简介 先登录授权窗口 比如验证账号密码信息等等 授权成功后进入master主窗口 验证成功后 进入主页面 Tkinter实现登录成功后进入主界面 月半的博客 CSDN博客 tkinter登录成功跳转主窗体
  • 安装Pycharm工具 -- ubuntu18.04

    在Ubuntu18 04下 pycharm工具的安装及其快捷方式的创建 下载pycharm安装包 tar gz包 网址 https www jetbrains com pycharm tar gz 安装包解压缩 此处没有指定解压到哪个路径
  • 最经典的黑客技术入门知识

    最经典的黑客技术入门知识 整理 Ackarlix 第一节 什么是黑客 以我的理解 黑客 大体上应该分为 正 邪 两类 正派黑客依靠自己掌握的知识帮助系统管理员找出系统中的漏洞并加以完善 而邪派黑客则是通过各种黑客技能对系统进行攻击 入侵或者
  • js原型和原型链你只要看这一篇

    一 原型概述 任何对象都有一个原型对象 这个原型对象由对象的内置属性 proto 指向它的构造函数的prototyoe指向的对象 即任何对象都是由一个构造函数创建的 被创建的对象都可以获得构造函数的prototype属性 注意 对象是没有p
  • mysql数据库内置函数大全_MySQL数据库——内置函数

    MySQL数据库 内置函数 建表并插入数据 create table student id char 36 primary key name varchar 8 not null age int 3 default 0 mobile cha
  • win7用友u8安装教程_如何在win7系统中安装用友u8(图文)

    现在很多大企业或公司都会用到用友u8软件 相信大家对用友u8都比较熟悉了 一些新手不知道如何在win7系统中安装用友u8 所以今天给大家带来就是在win7系统中安装用友u8的方法 解决方法如下 1 打开 控制面板 程序和功能 打开或关闭wi
  • 【C++】:用sort对string类型进行排序

    前言 这个问题来自于leetcode上面的一道题 Valid Anagram Given two strings s and t write a function to determine if t is an anagram of s F
  • 第3关:文件查看器

    编程要求 实现对给定文件夹目录结构的展示 并以文件名按升序排序的形式打印至控制台 如果是文件夹则在其名字之前加上 若是文件则加上 上级目录与下级目录 下级文件用两个空格作为间隔 补充完善右侧代码区中的showDirStructure Fil
  • 【经典】synergy共享鼠标键盘/一套鼠标键盘操作多台电脑

    使用场景 用一套鼠标键盘控制两个或多个电脑屏幕 所有电脑位于同一局域网下 win10 操作系统 安装 synergy step1 下载 下载地址 synergy step2 安装 选择自己想要安装在的目录然后一直 next 最后 finis
  • java生成PDF(图片,模板,表格)

    刚接到了一个需求 生成一个pdf 一开始以为挺简单的 通过模板生成嘛 我也发过相应的文章 根据模板直接生成pdf 响应到前端或者根据模板生成pdf 直接指定下载位置 这两种方案都可以 不过这篇文章主要讲的生成的pdf是既有模板填充还需要自己
  • hdu 2586 How far away ?

    Problem acm hdu edu cn showproblem php pid 2586 Meaning 给一棵 n 个点的树 和 n 1 条边的边权 多次询问树上两点的距离 Analysis 以任意顶点为根 DFS 预处理出所有结点
  • 【数据库MongoDB的学习】

    一 数据库和文件的主要区别 1 数据库有数据库表 行和列的概念 让我们存储操作数据更方便 2 数据库提供了非常方便的接口 可以让 nodejs php java net 很方便的实现增加修改删 除功能 二 关系型和非关系型数据库的介绍 关系
  • 深度学习数字仪表盘识别_一种改进的卷积神经网络的数显仪表识别方法

    数显仪表 就是一种显示数字的仪器 便于人们了解相关信息 目前 数显仪表被广泛的应用于航天 农业 工业等各个行业中 但出于工作条件和成本控制等原因 仍有很多的仪表无法直接获得读数 大多由人工读取 但是人工无法长时间且实时记录 还有些地方工人不
  • Deepin操作系统丨一台10年前的家用联想台式机重装国产Linux系统,制作成生信服务器

    本篇笔记是利用个人电脑搭建Linux系统 deepin 20 8 的教程 包括系统下载 映像刻录 启动盘制作 电脑BIOS设置 安装系统 故障解决 驱动更新 软件下载 conda配置 R语言和Rstudio server配置 远程SSH配置