用deepin堆砌工作环境
用deepin堆砌工作环境
这篇文章记录了我用 deepin 15.5搭建工作环境的过程,供我个人在未来重装系统时参考。对于其他以 deepin 操作系统作为主要工作平台的看官,咱们是相亲相爱的一家人,可以相互交流切磋。对于使用其他发行版作为主力操作系统的同学来说,你们借鉴借鉴即可。
阅读须知:
1.鉴于服务器的工作环境部署属于专业运维人员做的事情,这里我就不抢他们的饭碗了,别人的饭碗也是饭碗,我就只介绍个人电脑的经验;
2.推荐刚刚接触Linux的人使用deepin操作系统,不推荐刚刚接触Linux的人使用Fedora,不要问我原因,我很害羞;
3.我尽量说的简单、易懂,不过还是觉得各位看官能够具备初步的Linux基本知识,起码知道终端、桌面环境、软件仓库;
4.咱们就用终端折腾吧,无情的无视应用商店;
5.我写的都是经验、喜好和习惯,一方面人无完人孰能无过,另一方面萝卜青菜各有所爱,各位看官按需索取。
安装 deepin 15.5
deepin 15.5的安装过程不管用起来还是看起来,都是简单的不要不要的。我认为deepin的安装已经很傻瓜了,如果deepin你都装不上,我只能默默的把你丢在漆黑的角落了。
准备工作
准备材料
U 盘:容量 4GB 以上,用于制作 U 盘启动盘。因为在制作启动盘时会格式化 U 盘,所以 U 盘内不要包含重要资料,如果有人任性丢了资料的话,我只能恭喜你了。
镜像文件:deepin-15.5-amd64.iso
深度U盘启动制作工具:Windows 和Linux下的 U 盘启动盘制作工具也在ISO中。
一个已安装 Windows /deepin的电脑:用于制作 U 盘启动盘。
制作启动U盘:运行深度U盘启动制作工具并制作 U 盘启动盘,首先选择ISO的位置,其次选择U盘设备。
将 U 盘插入计算机重启,进入 BIOS 选择从 U 盘启动,即可进入deepin的安装。
注:Linux 下可以通过 dd 命令制作启动盘,但有一定技术门槛,建议普通新手使用深度U盘制作工具即可。
安装过程
选择安装过程中使用的语言,默认是汉语。有些没用过deepin的同学可能担心若使用汉语,最终安装的系统中会出现目录下的系统文件夹如 Downloads、Desktop 等会以中文表示,这使得在命令行 cd 时比较麻烦。有这个顾虑的同学可以安了,deepin已经做过中英文映射了,在终端看到的是英文,在界面上看到的是中文。
然后选择时区: Shanghai
接下来是分区,可以使用简单模式,也可以使用高级模式(手动分区)。
我自己一般都是这样分的:
/boot :1G;
/ :根目录使用剩余硬盘空间;
swap :我的电脑内存时16G,所以swap我就设置的16G。
输入用户名和密码的步骤我就不详述了,各位看官应该都知道怎么做。
注意:各位看官不要翻白眼,是的,我就是要提醒各位看官注意不要忘记自己设置的密码。我曾经碰到过有妹子自己装系统,然后忘记自己设置的密码,这个妹子后来成为我曾经的……你们懂的。
第一次开机之后
若干原则
为了搭建一个稳定的系统,尽量避免因为各种瞎折腾而导致的系统问题,特订立了一些软件安装的原则。
给一般账号 root 权限
默认情况下,深度操作系统禁止使用root用户登录。之所以不直接用 root 账号,而是要给一般账号 root 权限,是因为日常工作中使用 root 账号,是非常糟糕且危险的习惯,无论是服务器还是个人电脑都是如此。通常我们推荐使用sudo的方式来临时使用root用户的权限,例如安装软件时需要 root 权限,则通过在安装命令前添加sudo的方式来进行。
系统安装过程中新建的账号,默认拥有使用sudo的权限。如果再新建账户,要授予他 root 权限,则需要手动修改配置文件/etc/sudoers,例如我们新建一个deepin用户,为他添加使用sudo的权限,就需要向 /etc/sudoers添加deepin ALL=(ALL) ALL,其中deepin为用户名。
第一次全面更新
在进一步操作之前,先把已经安装的软件包都升级到最新版:
sudo apt-get update
sudo apt-get dist-upgrade
要更新的软件包有些多,可能需要一段时间。不过如果使用具备CDN加速的源地址,速度会比较快。系统会自动探测质量相对较高的源地址,但也可以手动修改。通过将 /etc/apt/source.list中packages.deepin.com替换为cdn.packages.deepin.com的方式,可以手动切换到具备CDN加速的源。
重启
第一次全面更新完之后建议重启。
删除多余的 kernel
在前面的sudo apt-get dist-upgrade执行之后,可能会将 kernel 也一起更新,则在启动deepin时启动项中会有很多项。
确认当前使用的 kernel 版本号:
$ uname -r
4.14.0-deepin2-amd64
查找当前系统安装的所有 kernel:
$ dpkg -l | grep linux-image
linux-image-4.14.0-deepin2-amd64
linux-image-4.9.0-deepin2-amd64
linux-image-deepin-amd64
可以看出有两个版本的内核,4.14.0 和 4.9.0。除了最新的内核外,建议多保留一个旧内核,以免新内核出现问题时可以通过旧内核进入系统。如果这里出现更多内核版本的话,可以通过类似 sudo apt-get purg linux-image-4.9.0-deepin2-amd64 的方式卸载。
基本开发环境
GCC 系列
sudo apt-get install gcc # C 编译器
sudo apt-get install gfortran # Fortran 编译器
软件开发辅助工具
sudo apt-get install gdb # 代码调试器
sudo apt-get install cmake # Cmake
sudo apt-get install git # 版本控制
进阶开发环境
Java 环境
Java 的一大特色在于跨平台,安装了 Java 运行环境,即可运行 Java 程序:
sudo apt-get install openjdk-7-jre openjdk-7-jdk # java 运行环境
Clang 系列
Clang 可以认为是 GCC 的替代品,可以用于编译 C、C++、Objective-C 和 Objective-C++。其提供了更友好的报错信息,在有些方面比 GCC 更友好,同时其提供了一个代码静态分析器,可以用于分析代码中可能出现的 bug 和内存溢出问题。
sudo apt-get install clang # clang 编译器
mpich并行计算
sudo apt-get install mpich
脚本语言环境
Perl
Deepin 15.5 自带了 Perl 5.26.0。
系统自带 Perl
系统自带 Perl,就目前来看,版本不算老,基本够用。官方源提供很多模块,可以直接用apt安装:
系统自带 Python
系统自带的 Python 2.7和3.5,基本已经够用,Python 2 常用的模块在官方源也有编译好的包,因而直接通过apt安装即可:
sudo apt-get install python-matplotlib # 2D 绘图库
sudo apt-get install python-numpy # 数组操作库
sudo apt-get install python-scipy # 科学计算库
sudo apt-get install python-requests # 网页请求
sudo apt-get install python-docopt # 命令行参数分析器
sudo apt-get install python-gdal # gdal 的 Python 绑定
编辑器
编辑器
写代码的时候选一个好用的编辑器很重要(请各位看官不要脑补vim和emacs的对比,随机挑一个即可),用的比较多的编辑器如下:
vim
emacs
atom
sublime text 3
Visual Studio Code
日常软件
Office 套件
deepin 15.5默认搭载WPS For Linux。其他 Linux 发行版可能会集成 LibreOffice等办公软件,用户如果需要安装其他Office软件的话,可以使用类似sudo apt-get install libreoffice的方式来进行安装。不过我觉得LibreOffice 与 Microsoft Office 的兼容性不太好,操作界面与 MS Office 也有较大差异,让人不太习惯。
PS/PDF 阅读器
系统自带的 evince 阅读器,可以打开 PS 和 PDF 文件,基本足够日常的使用了。
zathura
zathura 可以查看 PS、PDF、djvu 格式的文件,可以作为 evince 的替代品:
sudo apt-get install zathura zathura-plugins-all
ghostscript
sudo apt-get install ghostscript
TeX Live
安装依赖
sudo apt-get install libdigest-perl-md5-perl perl-tk
下载:http://mirrors.ustc.edu.cn/CTAN/systems/texlive/Images/texlive2017.iso
挂载ISO文件
sudo mount -o loop texlive2017.iso /mnt/
安装
cd /mnt/
sudo ./install-tl
出现选项后,输入 I 直接安装(也可以更改选项)。不出意外的话,5 分钟应该就 OK 了
修改环境变量
在~/.bashrc添加:
export MANPATH=${MANPATH}:/usr/local/texlive/2017/texmf-dist/doc/man
export INFOPATH=${INFOPATH}:/usr/local/texlive/2017/texmf-dist/doc/info
export PATH=${PATH}:/usr/local/texlive/2017/bin/x86_64-linux
更新 TeXLive
tlmgr update --self --repository http://mirrors.ustc.edu.cn/CTAN/systems/texlive/tlnet/
tlmgr update --all --repository http://mirrors.ustc.edu.cn/CTAN/systems/texlive/tlnet/
安装额外字体
TeXLive 2017 在使用 xeLaTeX 处理中文时,有自己的默认字体。如果想要使用 Windows 字体,可以将字体文件复制到 ~/.fonts 目录下,并在 tex 源码中 指定字体选项即可。
浏览器
默认的浏览器是Google Chrome,如果更喜欢Firefox浏览器,可以通过应用商店手动安装:
sudo apt-get install firefox-l10n-zh-cn firefox
解压软件
解压 7z 或 zip 格式需要 p7zip:
sudo apt-get install p7zip-full
解压 rar 格式可以使用 unar:
sudo apt-get install unar
FTP 客户端
FTP 客户端,还是有界面的 filezilla 比较方便些:
sudo apt-get install filezilla
效率类软件
这一类工具能够在不同方面提高工作的效率,也提高了使用者的体验。
终端模拟器
深度桌面环境自带的终端模拟器是深度,有很多功能,包括终端水平分隔、对终端垂直分隔、远程管理等等。
zsh 与 oh my zsh
Linux 下有很多 shell,比如最常见的 bash,除此之外还有 csh、ksh。zsh 也是一个 shell。
zsh 的特点在于:
语法基本完全兼容于 bash,一般用户完全体会不到其区别。zsh 提供命令补全特性,比 bash 的补全要更好用且可配置性强。
完全不经配置的 zsh 已经很好用了,一般用户也没必要花时间研究配置。 oh my zsh 是一群人一起维护的一套 zsh 配置文件。 直接用这个配置文件,稍稍了解一点会有更好的体验。
安装 zsh:
sudo apt-get install zsh
安装 oh my zsh:
curl -L http://install.ohmyz.sh | sh
上面的命令,做了如下几件事情:
下载 oh my zsh 到 ~/.oh-my-zsh
备份已有的 zsh 配置文件 ~/.zshrc ,并复制新的 .zshrc 文件
将当前用户的默认 shell 由 bash 改成 zsh
第三步中,会报错如下: chsh: "/usr/bin/zsh" is not listed in /etc/shells. ,需要手动修改默认 shell:
chsh -s /bin/zsh
chsh 命令修改的是 login shell,因而需要退出当前用户并重新登陆,以后用户的默认 shell 就从 bash 变成了 zsh,所有的配置都不用写到 .bashrc 而要写到 .zshrc 中。
在 .zshrc 中可以选择喜欢的主题,以及适当数量的插件。下面列出我在用的插件:
git
该插件为 git 的众多常用命令提供了更简单的别名,比如 git status 的别名是 gst, 大大减少了击键数。但该插件中 git mergetool --no-prompt 的别名是 gmt, 与 GMT 软件冲突,需要将该插件的目录 git 复制到 custom/plugins 下,然后删除其中的 gmt 别名:
命令补全插件: pip, pyenv
sudo:按两下 ESC 即可在当前命令前加上 sudo
autojump
autojump 是一个非常智能的目录快速切换的工具。
简单演示如下:
$ pwd
/home/seisman
$ cd Desktop
$ cd /opt
$ cd /usr/local
# 用 j 命令迅速从 / usr/local 跳转到与 des 匹配的目录,这里只有 Desktop 可以匹配:
$ j des
$ pwd
/home/seisman/Desktop
用法差不多就这样,具体看项目主页。
安装:
sudo apt-get install autojump
虚拟机
有时候可能需要在 Windows 下做一些操作,如果机器性能足够好的话,可以安装虚拟机。
VirtualBox 虚拟机
VirtuabBox 的安装:
sudo apt-get install VirtualBox
需要注意两点:
若机器性能不够,虚拟机的使用体验会非常差,所以不建议在老机器上使用;
在 VirtualBox 安装虚拟系统后,记得使用 “设备”->“安装增强功能”,使用效果会更好;
CrossOver
CrossOver是一个可以让 Windows 程序运行在 Linux 下的软件。类似虚拟机,但跟虚拟机又不太一样,deepin 15.5中默认集成,并提供了QQ。
同步网盘
网盘根据功能大概可以分为两类:同步网盘和备份网盘。既然是同步网盘,Linux 下的客户端必不可少。就目前已知的情况来看,deepin下能使用的同步网盘推荐坚果云。国内的全平台同步网盘,不限空间,但限制每月上传流量 1G,下载流量 3G。
sudo apt-get install nautilus-nutstore
工具软件
视频下载工具
you-get 和 youtube-dl 是两个用于从视频网站上下载视频文件的工具。其中,后者支持的网站更多,但前者对国内的视频网站支持更好。
sudo apt-get install you-get
sudo apt-get install youtube-dl
BT 软件
transmission 是 Linux 下常用的 Torrent 下载软件:
sudo apt-get install transmission
uGet
uGet 是 Linux 下的一个下载工具,支持 HTTP、HTTPS、FTP、Torrent 等,支持多连接,并可以监视剪贴板:
sudo apt-get install uget
截图软件 shutter
deepin自带了带了截图工具深度截图,通过ctrl+alt+a的快捷键启动。(没错,与QQ截图的快捷键一样)
其他工具
sudo apt-get install xclip # 终端的文本复制工具
sudo apt-get install ImageMagick # 其中的 import 和 convert 命令很有用
sudo apt-get install dos2unix # Windows 和 Linux 换行符互相转换
sudo apt-get install meld # 图形界面下的文件差异比较工具
影音播放器
Deepin提供了深度影院、深度音乐和网易云音乐,可以用于播放常见格式的音频和视频,及进行在线音乐播放,三者默认集成在操作系统中。
用deepin堆砌工作环境的更多相关文章
- 打造高效前端工作环境 - tmux
打造高效前端工作环境 - tmux 前言 现在前端开发可不容易啊,先打开个VIM,然后再打开个lite-server,一不小心写个ES2015还要打开个gulp来做预编译,如果能把这么多个窗口放在一 ...
- 在macbook上搭建ubuntu工作环境
工作环境需要:ubuntu12.04.gcc 4.4.7.vim.source insight.git. 1. 制作启动盘 首先需要制作一个能从苹果电脑启动的ubuntu启动盘: 在苹果电脑的终端中输 ...
- 微软成立反网络犯罪中心,工作环境如美剧CSI情景
微软在总部大楼内设立新网络犯罪中心(Cybercrime Center),旨在针对全球恶意软件.僵尸网络以及其他互联网犯罪行为进行实时追踪并予以打击.微软将“网络犯罪中心”设置在雷德蒙德总部大楼,目的 ...
- PHP入门:在Windows中安装PHP工作环境
PHP入门:在Windows系统中分别安装PHP工作环境 一.什么是LAMP? Linux+Apache+Mysql+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是 ...
- [转载] 高效MacBook工作环境配置
原文: http://www.xialeizhou.com/?p=71 高效MacBook工作环境配置 发表于 2015 年 8 月 1 日 由 xialeizhou 本文记录整个配置过程,供新入手M ...
- 简简单单安装debian桌面工作环境
linux一般给人的影响是对使用者的要求偏高, 使用者需要自行配置很多相应的系统工作参数,因此,从一定的程度上阻碍了用户去使用它.而本文所介绍的是, 使用者完全可以消除这个障碍,非常简单地安装好自己的 ...
- ARM的工作环境和工作模式
工作环境: 可以称之为“数据环境,”数据总线16位或者32位,应用于不同的情况下.16位的情况下,工作速度快,代码密度高. 工作模式: 设置程序数据所处的状态,为移植操作系统提供方便.
- ubuntu14.04下嵌入式工作环境搭建
昨天作死一不小心把小红帽home目录下的东西删光了.跟着国嵌的视频学了这么久,对linux也算是有些熟悉,就决定自己在ubuntu下搭建一个工作环境.整个过程还算比较顺利,不过也有些小波折.下面把这次 ...
- 安装完CentOS 7 Minimal之后,从头打造桌面工作环境
安装完CentOS 7 Minimal之后,从头打造桌面工作环境 U盘装CentOS 7 DVD版不能引导的解决办法 更改root密码 SSH登录 增加除root之外的常规用户 装完CentOS 7之 ...
随机推荐
- 谈谈mysql的悲观和乐观锁
悲观锁与乐观锁是两种常见的资源并发锁设计思路,也是并发编程中一个非常基础的概念.之前有写过一篇文章关于并发的处理思路和解决方案,这里我单独将对这两种常见的锁机制在数据库数据上的实现进行比较系统的介绍一 ...
- Struts2_属性驱动
在jsp页面提交到action中的表单元素在action中是以对象的形式存在的, action中的对象name必须与jsp页面中的表单元素name相同,struts框架自动为action的对象赋值. ...
- python中的property属性
目录 1. 什么是property属性 2. 简单的实例 3. property属性的有两种方式 3.1 装饰器方式 3.2 类属性方式,创建值为property对象的类属性 4. property属 ...
- JVM内存区域划分Eden Space,Survivor Space,Tenured Gen,Perm Gen
jvm区域总体分两类,heap区和非heap区.heap区又分:Eden Space(伊甸园).Survivor Space(幸存者区).Tenured Gen(老年代-养老区). 非heap区又分: ...
- mybatis全局属性(全局变量)
mybatis全局属性(全局变量):方法1:在 properties 元素体内,使用<property>标签定义的属性方法2:在 properties 元素中, 使用 resource 或 ...
- 小tips:JS数值之间的转换,JS中最大的Number是多少?,JS == 与 === 的区别
JS数值之间的转换 Number(), parseInt(),parseFloat() Number()函数的转换规则如下: 1.如果boolean值,true和false将分别被转换为1和02.如果 ...
- Netty实现一个简单聊天系统(点对点及服务端推送)
Netty是一个基于NIO,异步的,事件驱动的网络通信框架.由于使用Java提供 的NIO包中的API开发网络服务器代码量大,复杂,难保证稳定性.netty这类的网络框架应运而生.通过使用netty框 ...
- Flutter 布局(五)- LimitedBox、Offstage、OverflowBox、SizedBox详解
本文主要介绍Flutter布局中的LimitedBox.Offstage.OverflowBox.SizedBox四种控件,详细介绍了其布局行为以及使用场景,并对源码进行了分析. 1. Limited ...
- abseil初体验[google开源的C++库]
Google公开了其项目内部使用的一系列C++库,具体介绍参考: http://www.infoq.com/cn/news/2017/10/abseil?utm_source=infoq&ut ...
- Docker Data Center系列(五)- 使用自定义的TLS安全认证
本系列文章演示如何搭建一个mini的云平台和DevOps实践环境. 基于这套实践环境,可以部署微服务架构的应用栈,演练提升DevOps实践能力. 1 名词说明 CSR: Certificate Sig ...