从openSUSE开始

[ 还没有写完,等加了图会更好一点,一路填坑一路记录 ]

终于,摆脱了windows,去了linux。

前言

已经学了5年的计算机了,都没有正儿八经的用一用linux。在开始读研的时候,跟大我几届的朋友出去吃饭,意外的被问到linux操作熟不熟,然后收到了一顿鄙视。

所以大概不懂得linux操作的人,应用技术的场景非常非常少,更别谈分布式之类的技术了。毕竟,整个后端都要在linux上奔跑才行。

事实上,我已经用了接近两年的mac,只不过在强有力的GUI支持下,一直都只是以一种“更好看”的系统的体验在使用。

在一段时间的积累下,今天开始把实验室的主力机更换成linux了。


另外一种双系统

第一个遇到的问题,毫无疑问就是安装。
在华为项目的强力驱动下,在我的可怜的电脑里,始终要存放一个Windows的环境,进而,问题就出现了。怎么去安装一个双系统。

一般来说,双系统有两种形式:

  1. 虚拟机
  2. 单硬盘双系统
  3. 双硬盘双系统

虚拟机就不用多少了,基本上快速安装一下就好。而单硬盘双系统也是如此,网上有一大堆教程,当你安装的时候,只需要考虑如何分区,然后把引导建在/boot下即可。

现在问题是,我的电脑是两块硬盘,一块windows,而另外一块希望做成Linux,这非常的尴尬。因为我之前尝试过很多次,将引导放在/boot下是没有办法引导起来的(就是网上那些easy bcd引导的教程)。最终,这次直接将引导挂在了整块磁盘上,终于成功了。

事实上逻辑是这样,

首先,我选择了一个叫做openSUSE的系统,他的logo是一个绿色的蜥蜴🦎,号称自动配置双系统,这是我这次尝试的主要动力。

其次,我的电脑是不支持UEFI启动了老电脑 - - ,在安装的过程中,不要通过UEFI启动U盘,然后进去安装系统,没有要求配置/boot,想必是自动配置,然后配置一下用户信息,就可以安装完成。

后来,我尝试了一下这样配置Linux,发现如果是UEFI的ubuntu,在安装的时候挂载好/boot/efi之后,将引导直接挂载整个第二块磁盘上,就可以在启动菜单里选择硬盘启动进行引导,不过很明显没有能够找到win的引导。不过问题不大,因为重新进入引导菜单选择win的硬盘启动就可以了。


配置

事实上,在整个安装的过程中,我装了四五种linux发行版,但都不太好使,特别是ubuntu,3分钟一个错误弹窗。。。不知道是不是电脑的问题,还是本身就是这样 - -

在openSUSE的使用过程中,几乎没有异常弹窗,只有一次提示了硬盘空间不足,所以建议新手想要尝试linux的时候,可以从openSUSE开始入门。

分区

分区是最害怕的一件事情,因为随时可能会导致数据丢失,好在在linux安装的过程中,会先进行预览分区,一直到正式安装之前都不会格式化硬盘,还会一直询问你是不是真的确认要这么干。在openSUSE中更直白一点:如果你不知道你在做什么的话,请不要继续。。。

在分区的过程中,遇到过两个问题:

  1. gpt标签问题

这个问题在我从非UEFI引导的启动菜单中进入的时候,就没有这个提示了。
我的意思是:在我的电脑上,插上优盘启动后,会看见两个U盘启动,一个是UEFI开头的,一个是普通的storage。从storage进入之后,不会要求修改硬盘标签。

  1. 分区大小

这次感受了一下Linux的分区,主要的分区大概分这么几个

  • /boot
  • swap
  • /home
  • /
  • /usr
  • /var

这是几个占得比较大的部分。在使用的过程中,我的电脑出现过一次错误提示说硬盘空间不足,发现/目录下,也就是系统目录空间不足。

我在安装系统的时候,给 /分配了16G,给/home分配了60G,给swap分配了16G,其他都是默认配置,在这种情况下安装完成后,/仅有8G的大小,想来是系统接管了一部分。 网上有一些lvm下调整空间的方案,但是我一个小白还不太能理解前言后语,因此我直接重装了系统,给了/32G。

其实问题在于,网上很多教程告诉用户,/分配10G就可以了。。。难道这些人不开发的么,maven、docker、jdk、git、nginx还有很多日志都是默认在/下面,特别是直接用包管理工具安装的应用。这么点空间让用户怎么玩。。。
以后还是搞一个50G的系统盘,配上一个200G的/home来使用吧。


Gnome

Gnome是一个桌面环境,在Linux中桌面环境与内核是分开的,可以一套内核使用多种桌面。貌似一般Linux环境下都提供了两个基础的桌面分别是KDE和Gnome,ubuntu之前用的是unity,不过最近宣称也要换成Gnome了。

Gnome在一定程度上感觉像极了mac,虽然软件质量讲真不是一个量级,但是起码从windows的传统样式中脱离了出来。采用了类似launchpad的启动器,和比windows搜索快得多的搜索方式。

不过这里要说的是两个方面,一个是gnome的主题,一个是gnome的插件。

主题

其实我还没有开始使用主题,这块后台再补。

插件

下面是一些主要的插件:

  1. Drop Down Terminal 一个下拉触发的终端非常好用,快捷键是tab上面那个键,这个快捷键的说明看了好多遍才理解 - -
  2. Clipboard Indicator 一个简单的剪切板管理,快捷键是Ctrl + F9
  3. NetSpeed 一个在状态栏显示网速的插件
  4. Dash to dock 固定dock
  5. Places Status Indicator 一个快捷的访问home/图片等等路径的下拉菜单
  6. Wikipedia Search Provider 在本地搜索时生成wiki
  7. TopIcons 将托盘图标放到状态栏上
  8. Recent Items 在状态栏显示最近访问的文件

安装应用

对于安装应用来说,openSUSE有一个非常酷的网站叫做 PackageSearch,上面登记了非常多的应用和扩展,可以直接搜索获得结果,并通过提供的一键安装直接装到系统中。

日常

从日常开始,日常基本上在做的事情大约是文档、markdown、视频、pdf、词典、截图、聊天、音乐。

基本上作为一个开发机,拥有这些内容就足够了,下面简单介绍一下各个部分的内容。

视频

flash

虽然在mac上flash呗唾弃的不成样子,但是离开了flash在国内的视频网站上也是活不下去的。之前的妈妈再也不用担心发烫计划好像现在也失效了很多很多。

但是flash的安装非常的容易,只需要在嵌入flash的视频播放页面点击安装flash就可以跳转到flash的安装页面,下载并安装即可。然后去播放页一刷新,�︿( ̄︶ ̄)︿。


聊天

微信

在windows的世界里,装一个聊天软件简直容易。在linux下面便得非常的难,ubuntu之类的应用商店里有的提供了一些qq或者微信,但在大部分系统里还是要自己折腾。

在openSUSE中,有一个开源项目electronic wechat,提供了在linux上封装的web版本wechat。

同样的,解压完成就可以运行。在确定能够运行后,可以在/usr/share/applications文件夹内添加一个wechat.desktop。这是Gnome生成桌面应用的方式,符合标准即可。

[Desktop Entry]
Name=Wechat
Exec=替换成wechat运行的路径
Comment=Wechat
Icon=替换成wechat的logo的路径->自己下载一个微信的png放在运行同文件夹内比较好
Type=Application
Terminal=false
Encoding=UTF-8

编辑和创建都需要sudo权限的支持,创建完成后即可在搜索内搜到并打开。可能存在部分打开出现异常的情况,重启就好。

邮件

to be continue...


音乐

宇宙第一播放器 网易云音乐

网易云音乐官网有deb格式的包,用来给ubuntu安装,但是显然openSUSE这类使用rpm安装的没有被照顾,不过好在也有办法来处理。不过稍微麻烦一点。

  1. 在openSUSE的软件搜索页面搜索netease-cloud-music,可以得到网易云音乐的包,点进去进行一键安装,可以获得一个网易云音乐的脚本和源地址。但事实上这个脚本在后台的执行是失败了的。
  2. 在终端中删除刚才安装的库,sudo zypper rm netease-cloud-music,这个时候源还保留着。
  3. 进去网易云官网,下载ubuntu16.04(64bit)的deb包,重命名为netease-cloud-music_1.0.0_amd64_ubuntu16.04.deb,放在/tmp文件夹下。
  4. 更新个库sudo zypper in binutils
  5. 再次安装网易云sudo zypper in netease-cloud-music
  6. 这个时候就可以正常的安装完成了,可以在launchpad中查看网易云音乐

原理是这样的,在源中下载的应该是一个脚本,对deb进行拆包。脚本里面自动会下载一个deb版本的包,但是不知道处于什么原因,可能下载现在已经不能成功了。因此需要自己放一个deb的包在/tmp下,再次运行脚本,就成功了。

如果你在第3步重新安装网易云,就会看到找不到deb文件的错误,解决方案就是后续步骤。


开发

开发我们一点点来.

首先从git

git官方的文档里显示,不太需要直接下载源码编译,直接从zypper下载即可

sudo zypper in git

一顿通过之后,就可以下载完成直接使用。


然后是jdk

卸载openJDK

我是一个java程序员。。。jdk毫无疑问必不可少,对于系统自带的openJDK来说,还是选择oracle的jdk更放心一些。

所以首先,需要卸载原有的openJDK,根据教程的说法,只需要通过rpm查找到所有的包,然后删除他们即可。

我发现在openSUSE中,可以直接通过zypper删除所有openjdk的组件也可以完成该需求,步骤如下:

首先,输入

java -version

查看当前安装的java的版本,在我的电脑上,默认是这样的:

然后输入删除命令

sudo zypper rm java-1_8_0-*

这样就一次性删除了所有的openJDK相关的包,之后通过官方的jdk安装回来即可。

安装oracle jdk

对于openSUSE的系统来说,需要下载Linux64 - rpm版本,双击安装就可以实时生效。

安装完成后,在终端输入java -version,发现已经变成刚才安装的版本。

这个时候需要简单的配置一下JAVA_HOME环境变量,来保证maven等程序可以正常的运行,步骤如下:

  1. 输入 vim ~/.bashrc,这是bash在当前用户下的配置文件
  2. 使用vim编辑器,在文档中输入export JAVA_HOME=/usr/java/jdk1.8.0_144
  3. 在下一行输入export PATH=$JAVA_HOME/bin:$PATH
  4. 保存退出
  5. 在终端输入source ~/.bashrc生效

这个时候可以测试echo $JAVA_HOME是否输出为刚才设置的路径。(该路径是rpm模式的jdk安装的位置)


maven

maven对于java程序员来说无比重要,无论从jar包管理还是构建上来说都是非常高效而统一的。对于使用IDEA的开发人员来说,虽然idea自带了一个maven,但貌似时常出问题,因此自己安装一个maven还是非常有必要的。

maven的安装一般有两种,一种是通过下载二进制版本,放在文件夹里,然后配置一下环境变量。还有一种是下载Source源码来编译并安装。

不过既然用了openSUSE,直接从官方库下载也是极好的。运行的前提是安装了jdk并配置了JAVA_HOME


tomcat

Tomcat是JavaEE的一个实现,作为一种java web应用奔跑的容器。在Linux里面的安装其实和Windows差不多,下载完,解压,放在一个文件夹里,然后讲bin目录配置到环境变量path中。

在Linux中具体的操作如下:

  1. 下载,并解压到文件夹中,我为了避免系统空间不足,我将tomcat放置在了~/lib/tomcat下。
  2. ~/.bashrc文件中添加export PATH=tomcat目录/bin:$PATH,注意后面的$PATH一定不能少,不然系统会出错,所有的命令都将找不到。

配置完成后,一般都是通过idea启动的,所以其实没有太大的差别,在idea中再指定一次tomcat位置即可。


idea

Idea的安装其实没有太多的悬念,从JetBrains官网下载下来,解压双击即可运行。

因此,需要在意的是,如何生成一个快捷方式能够在launchpad里面直接点击运行,或者放在dock中。

这里给出一个简单的配置快捷方式的模板:

首先,在/usr/share/applications里面创建idea.desktop。通过 sudo vim 来打开并填入如下信息:

[Desktop Entry]
Name=IntelliJ IDEA
Exec=替换成idea.sh的路径->在idea解压后bin文件夹内
Comment=IntelliJ IDEA
Icon=替换成idea.png的路径->在idea解压后的bin文件夹内
Type=Application
Terminal=false
Encoding=UTF-8

其中的路径都是可以从文件夹中直接拖拽到终端中自动生成的。

至于idea的使用,事实上有很多技巧,但是注意事项倒很少。启动以后进行简单的配置,然后指定一下jdk的位置即可。


docker

to be continue...


zsh - 终极shell

zsh是一个非常酷的shell版本,远比已有的bash好得多。

sudo zypper in zsh

即可安装,不过,zsh的配置比较麻烦,好在有一个叫做oh-my-zsh的项目能够一键配置,在终端输入如下命令即可:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

然后通过如下命令切换

chsh -s 用户名 /bin/zsh

重启或注销后就可以使用。之前配置的JAVA_HOME等参数,需要转移到~/.zshrc文件中,但是这个是值得的,毕竟zsh要好用太多。

另外,需要配置的是主题,这里有一个推荐的主题模式:

vi ~/.oh-my-zsh/themes/robbyrussell.zsh-theme

把里面的内容替换为如下内容:

local ret_status="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ %s)"
#配置

PROMPT='%{$fg_bold[red]%}➜ %{$fg_no_bold[green]%}%p%{$fg[green]%}%d %{$fg_no_bold[cyan]%}$(git_prompt_info)%{$fg_bold[cyan]%}% %{$fg_bold[green]%}> %{$reset_color%}'

#PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'

ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg_bold[red]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_no_bold[cyan]%}) %{$fg_no_bold[yellow]%}✗ %{$reset_color%}"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_no_bold[cyan]%}) "

同样,注销重启即生效。

zsh好处太多。。。起码忽略大小写简直高效。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,723评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,003评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,512评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,825评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,874评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,841评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,812评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,582评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,033评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,309评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,450评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,158评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,789评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,409评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,609评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,440评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,357评论 2 352

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,649评论 18 139
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,246评论 9 467
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,621评论 18 399
  • 当前顶级发行版概览   对于Linux新手来说,在各发行版之间困惑得进行选择和不断增加的数量实在令人头晕。这就是写...
    David_Peng阅读 6,090评论 0 16
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,039评论 25 707