linuxandubuntu 发布的文章

大家好,我准备在今天突出说明一下两大主流 Linux 发行版,即 Ubuntu 18.04Fedora 28,包括一些特性和差异。两者都有各自的包管理系统,其中 Ubuntu 使用 DEB,Fedora 使用 RPM;但二者使用同样的 桌面环境 Desktop Environment (DE)GNOME,并致力于为 Linux 用户提供高品质的 桌面体验 desktop experience

Ubuntu 18.04 是 Ubuntu 目前最新的 长期支持版本 Long Term Support (LTS),为用户提供 GNOME 桌面系统。Fedora 28 也提供 GNOME 桌面系统,但落实到具体的软件包管理方面,二者的桌面体验存在差异;在 用户界面 User Interfaces 方面也显然存在差异。

基本概念

不知你是否了解,虽然 Ubuntu 基于 Debian,但 Ubuntu 比 Debian 更早提供最新版本的软件。举个例子,当 Ubuntu 提供流行网页浏览器 Firefox Quantum 时,Debian 仍在提供 Firefox 的 延期支持版 Extended Support Release (ESR)。

(LCTT 译注:从 2012 年 1 月开始,Firefox 进入快速版本期,每 6 周发布新的主线版本,每隔 7 个主线版本发布新的 ESR 版本。Firefox 57 的桌面版发布时被命名为 Firefox Quantum,同期的 ESR 版本与 Firefox 52 一同发布并基于 Firefox 48。参考 Wiki: History\_of\_Firefox

同样的情况也适用于 Fedora,它为终端用户提供前沿的软件,也被用作下一个稳定版本的 RHEL (Red Hat Enterprise Linux) 的测试平台。

桌面预览

Fedora 提供 原汁原味的 vanilla GNOME 桌面体验;相比之下,Ubuntu 18.04 对 GNOME 做了若干方面的微调,以便长期以来的 Unity 用户可以平滑的过渡到 GNOME 桌面环境。

为节省开发时间,Canonical (从 Ubuntu 17.10 开始)已经决定放弃 Unity 并转向 GNOME 桌面,以便可以将更多精力投入到 IoT 领域。

因此,在 Fedora 的桌面预览中,我们可以看到一个简洁的无图标桌面和一个自动隐藏的侧边栏,整体外观采用 GNOME 默认的 Adwaita 主题。

fedora 28 gnome

相比之下,Ubuntu 采用其经典的有图标桌面样式,左侧边栏用于模拟其传统的“ 程序坞 dock ”,使用 Ubuntu Ambiance 主题定制化窗口,与其传统的(Unity 桌面)外观和体验基本一致。

Ubuntu gnome 18.04

虽然存在一定差异,但习惯使用其中一种桌面环境后切换到另外一种并不困难。毕竟二者设计时都充分考虑了简洁性和用户友好性,即使是新用户也不会对这两种 Linux 发行版感到不适应。

但外观或 UI 并不是决定用户选择哪一种 Linux 发行版的唯一因素,还有其它因素也会影响用户的选择。下面主要介绍两种 Linux 发行版在软件包管理相关方面的内容。

软件中心

Ubuntu 使用 dpkg(即 Debian Package Management)将软件分发给终端用户;Fedora 则使用 rpm(全称为 Red Hat Package Management)。它们都是 Linux 社区中非常流行的包管理系统,对应的命令行工具也都简单易用。

ubuntu software center

但在具体分发的软件方面,各个 Linux 发行版会有明显差异。Canonical 每 6 个月发布新版本的 Ubuntu,一般是在每年的 4 月和 10 月。对每个版本,开发者会维护一个开发计划;Ubuntu 新版本发布后,该版本就会进入 冻结 freeze 状态,即停止新软件的开发和测试。

​相比之下,Fedora 也采用相似的 6 个月发布周期,看起来很像一种 滚动更新 rolling release 的 Linux 发行版(其实并不是这样)。与 Ubuntu 不同之处在于,(Fedora 中的)几乎所有软件包更新都很频繁,让用户有机会尝试最新版本的软件。但这样也导致软件 Bug 更频繁出现,给用户带来“不稳定性”,虽然还不至于导致系统不可用。

软件更新

我上面已经提到了 Ubuntu 版本的冻结状态。好吧,由于它对 Ubuntu 软件更新方式有着重要的影响,我再次提到这个状态:当 Ubuntu 新版本发布后,该版本的开发(这里是指测试新软件)就停止了。

即将发布的下个版本的开发也随之开始,先后历经 “ 每日构建 daily build ” 和 “ 测试版 beta release ” 阶段,最后作为新版本发布给终端用户。

在冻结状态下,Ubuntu 维护者不会在 软件源 package repository 中增加最新版软件,除非用于解决严重的安全问题。因此,Ubuntu 用户可用的软件更新更多涉及 Bug 修复而不是新特性,这样的好处在于系统可以保持稳定,不会扰乱用户的使用。

Fedora 试图为终端用户提供最新版本的软件,故用户的可用软件更新相比 Ubuntu 而言会更多涉及新特性。当然,开发者为了维持系统的稳定性,也采取了一系列措施。例如,在操作系统启动时,用户可以从最多三个 可用内核 working kernel (最新内核处于最上方)中进行选择;当新内核无法启动时,用户可以回滚使用之前两个可用内核。

Snaps 和 flatpak

它们都是新出现的酷炫工具,可以将软件发布到多个 Linux 发行版上。Ubuntu 提供 snaps,而 Fedora 则提供 flatpak 。二者之中 snaps 更加流行,更多流行软件或版权软件都在考虑上架 snap 商店。Flatpak 也在吸引关注,越来越多的软件上线该平台。

不幸的是,由于二者出现的时间都不久,很多人遇到“ 窗口主题不一致 window theme-breaking ”问题并在网上表达不满。但由于二者都很易于使用,在二者之间切换并不是难事。

(LCTT 译注:按译者理解,由于二者都增加了一层安全隔离,读取系统主题方面会遇到问题;另外,似乎也有反馈 snap 专用主题无法及时应用于 snap 的问题)

应用对比

下面列出一些在 Ubuntu 和 Fedora 上共有的常见应用,然后在两个平台之间进行对比:

计算器

Fedora 上的计算器程序启动速度更快。这是因为 Fedora 上的计算器程序是软件包形式安装的,而 Ubuntu 上的计算器程序则是 snap 版本。

系统监视器

可能听上去比较书呆子气,但我认为观察计算机性能并杀掉令人讨厌的进程是必要且直观的。程序启动速度对比与计算器的结果一致,即 (软件包方式安装的)Fedora 版本快于(snap 形式提供的)Ubuntu 版本。

帮助程序

我已经提到,(为便于长期以来的 Untiy 用户平滑切换到 GNOME),Ubuntu 提供的 GNOME 桌面环境是经过微调的版本。不幸的是,Ubuntu 开发者似乎忘记或忽略了对帮助程序的更新,用户阅读文档(入门视频)后会发现演示视频与真实环境有略微差异,这可能让人感到迷惑。

ubuntu 18.04 help manual

结论

Ubuntu 和 Fedora 是两个主流的 Linux 发行版。两者都各自有一些华而不实的特性,因而新接触 Linux 的人很难抉择。我的建议是同时尝试二者,这样你在试用后可以发现哪个发行版提供的工具更适合你。

希望你阅读愉快,你可以在下方的评论区给出我漏掉的内容或你的建议。


via: http://www.linuxandubuntu.com/home/ubuntu-1804-vs-fedora-28

作者:LinuxAndUbuntu 选题:lujun9972 译者:pinewall 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

设计 Web 程序时,安全性是一个主要问题。我不是在谈论 DDoS 保护、使用强密码或两步验证。我说的是对网络程序的最大威胁。它被称为 CSRF, 是 Cross Site Request Forgery (跨站请求伪造)的缩写。

什么是 CSRF?

csrf what is cross site forgery

首先,CSRF 是 Cross Site Request Forgery 的缩写。它通常发音为 “sea-surf”,也经常被称为 XSRF。CSRF 是一种攻击类型,在受害者不知情的情况下,在受害者登录的 Web 程序上执行各种操作。这些行为可以是任何事情,从简单地点赞或评论社交媒体帖子到向人们发送垃圾消息,甚至从受害者的银行账户转移资金。

CSRF 如何工作?

CSRF 攻击尝试利用所有浏览器上的一个简单的常见漏洞。每次我们对网站进行身份验证或登录时,会话 cookie 都会存储在浏览器中。因此,每当我们向网站提出请求时,这些 cookie 就会自动发送到服务器,服务器通过匹配与服务器记录一起发送的 cookie 来识别我们。这样就知道是我们了。

cookies set by website chrome

这意味着我将在知情或不知情的情况下发出请求。由于 cookie 也被发送并且它们将匹配服务器上的记录,服务器认为我在发出该请求。 ​ CSRF 攻击通常以链接的形式出现。我们可以在其他网站上点击它们或通过电子邮件接收它们。单击这些链接时,会向服务器发出不需要的请求。正如我之前所说,服务器认为我们发出了请求并对其进行了身份验证。

一个真实世界的例子

为了把事情看得更深入,想象一下你已登录银行的网站。并在 yourbank.com/transfer 上填写表格。你将接收者的帐号填写为 1234,填入金额 5,000 并单击提交按钮。现在,我们将有一个 yourbank.com/transfer/send?to=1234&amount=5000 的请求。因此服务器将根据请求进行操作并转账。现在想象一下你在另一个网站上,然后点击一个链接,用黑客的帐号作为参数打开上面的 URL。这笔钱现在会转账给黑客,服务器认为你做了交易。即使你没有。

csrf hacking bank account

CSRF 防护

CSRF 防护非常容易实现。它通常将一个称为 CSRF 令牌的令牌发送到网页。每次发出新请求时,都会发送并验证此令牌。因此,向服务器发出的恶意请求将通过 cookie 身份验证,但 CSRF 验证会失败。大多数 Web 框架为防止 CSRF 攻击提供了开箱即用的支持,而 CSRF 攻击现在并不像以前那样常见。

总结

CSRF 攻击在 10 年前是一件大事,但如今我们看不到太多。过去,Youtube、纽约时报和 Netflix 等知名网站都容易受到 CSRF 的攻击。然而,CSRF 攻击的普遍性和发生率最近有减少。尽管如此,CSRF 攻击仍然是一种威胁,重要的是,你要保护自己的网站或程序免受攻击。


via: http://www.linuxandubuntu.com/home/understanding-csrf-cross-site-request-forgery

作者:linuxandubuntu 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

可能有一个困扰你多时的问题,当你想要获取一张屏幕截图向开发者反馈问题,或是在 Stack Overflow 寻求帮助时,你可能缺乏一个可靠的屏幕截图工具去保存和发送截图。在 GNOME 中有一些这种类型的程序和 shell 拓展工具。这里介绍的是 Linux 最好的屏幕截图工具,可以供你截取图片或截录视频。

1. Shutter

shutter Linux 截图工具

Shutter 可以截取任意你想截取的屏幕,是 Linux 最好的截屏工具之一。得到截屏之后,它还可以在保存截屏之前预览图片。它也有一个扩展菜单,展示在 GNOME 顶部面板,使得用户进入软件变得更人性化,非常方便使用。

你可以截取选区、窗口、桌面、当前光标下的窗口、区域、菜单、提示框或网页。Shutter 允许用户直接上传屏幕截图到设置内首选的云服务商。它同样允许用户在保存截图之前编辑器图片;同时提供了一些可自由添加或移除的插件。

终端内键入下列命令安装此工具:

sudo add-apt-repository -y ppa:shutter/ppa
sudo apt-get update && sudo apt-get install shutter

2. Vokoscreen

vokoscreen Linux 屏幕录制工具

Vokoscreen 是一款允许你记录和叙述屏幕活动的一款软件。它易于使用,有一个简洁的界面和顶部面板的菜单,方便用户录制视频。

你可以选择记录整个屏幕,或是记录一个窗口,抑或是记录一个选区。自定义记录可以让你轻松得到所需的保存类型,你甚至可以将屏幕录制记录保存为 gif 文件。当然,你也可以使用网络摄像头记录自己的情况,用于你写作教程吸引学习者。记录完成后,你还可以在该应用程序中回放视频记录,这样就不必到处去找你记录的内容。

vokoscreen preferences

你可以从你的发行版仓库安装 Vocoscreen,或者你也可以在 pkgs.org 选择下载你需要的版本。

sudo dpkg -i vokoscreen_2.5.0-1_amd64.deb

3. OBS

obs Linux 视频截录

OBS 可以用来录制自己的屏幕亦可用来录制互联网上的流媒体。它允许你看到自己所录制的内容或你叙述的屏幕录制。它允许你根据喜好选择录制视频的品质;它也允许你选择文件的保存类型。除了视频录制功能之外,你还可以切换到 Studio 模式,不借助其他软件进行视频编辑。要在你的 Linux 系统中安装 OBS,你必须确保你的电脑已安装 FFmpeg。ubuntu 14.04 或更早的版本安装 FFmpeg 可以使用如下命令:

sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next

sudo apt-get update && sudo apt-get install ffmpeg

ubuntu 15.04 以及之后的版本,你可以在终端中键入如下命令安装 FFmpeg:

sudo apt-get install ffmpeg

​如果 FFmpeg 安装完成,在终端中键入如下安装 OBS:

sudo add-apt-repository ppa:obsproject/obs-studio

sudo apt-get update

sudo apt-get install obs-studio

4. Green Recorder

屏幕录制工具

Green recorder 是一款界面简单的程序,它可以让你记录屏幕。你可以选择包括视频和单纯的音频在内的录制内容,也可以显示鼠标指针,甚至可以跟随鼠标录制视频。同样,你可以选择记录窗口或是屏幕上的选区,以便于只在自己的记录中保留需要的内容;你还可以自定义最终保存的视频的帧数。如果你想要延迟录制,它提供给你一个选项可以设置出你想要的延迟时间。它还提供一个录制结束后的命令运行选项,这样,就可以在视频录制结束后立即运行。​

在终端中键入如下命令来安装 green recorder:

sudo add-apt-repository ppa:fossproject/ppa

sudo apt update && sudo apt install green-recorder

5. Kazam

kazam screencasting tool for linux

Kazam 在几乎所有使用截图工具的 Linux 用户中都十分流行。这是一款简单直观的软件,它可以让你做一个屏幕截图或是视频录制,也同样允许在屏幕截图或屏幕录制之前设置延时。它可以让你选择录制区域,窗口或是你想要抓取的整个屏幕。Kazam 的界面接口安排的非常好,和其它软件相比毫无复杂感。它的特点,就是让你优雅的截图。Kazam 在系统托盘和菜单中都有图标,无需打开应用本身,你就可以开始屏幕截图。​​

终端中键入如下命令来安装 Kazam:

sudo apt-get install kazam

​如果没有找到该 PPA,你需要使用下面的命令安装它:

sudo add-apt-repository ppa:kazam-team/stable-series

sudo apt-get update && sudo apt-get install kazam

6. GNOME 扩展截屏工具

gnome screenshot extension

GNOME 的一个扩展软件就叫做 screenshot tool,它常驻系统面板,如果你没有设置禁用它的话。由于它是常驻系统面板的软件,所以它会一直等待你的调用,获取截图,方便和容易获取是它最主要的特点,除非你在调整工具中禁用,否则它将一直在你的系统面板中。这个工具也有用来设置首选项的选项窗口。在 extensions.gnome.org 中搜索 “Screenshot Tool”,在你的 GNOME 中安装它。

你需要安装 gnome 扩展的 chrome 扩展组件和 GNOME 调整工具才能使用这个工具。

gnome screenshot 拓展选项

当你碰到一个问题,不知道怎么处理,想要在 Linux 社区 或者其他开发社区分享、寻求帮助的的时候, Linux 截图工具 尤其合适。学习开发、程序或者其他任何事物都会发现这些工具在分享截图的时候真的很实用。Youtube 用户和教程制作爱好者会发现视频截录工具真的很适合录制可以发表的教程。


via: http://www.linuxandubuntu.com/home/best-linux-screenshot-screencasting-tools

作者:linuxandubuntu 译者:CYLeft 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Torrents(种子):你需要知道的一切事情

Torrents(种子) — 每次听到这个词时,在我的脑海里想到的唯一的事情就是免费的电影、游戏、和被破解的软件。但是我们并不知道它们是如何工作的,在“种子”中涉及到各种概念。因此,通过这篇文章我们从技术的角度来了解种子下载是什么。

“种子”是什么?

“种子”是一个到因特网上文件位置的链接。它们不是一个文件,它们仅仅是动态指向到你想去下载的原始文件上。

例如:如果你点击 Google Chrome,你可以从谷歌的服务器上下载 Google Chrome 浏览器。

如果你明天、或者下周、或者下个月再去点击那个链接,这个文件仍然可以从谷歌服务器上去下载。

但是当我们使用“种子”下载时,它并没有固定的服务器。文件是从以前使用“种子”下载的其它人的个人电脑上下载的。

Torrents 是如何工作的?

Peer to peer network

假设 ‘A’ 上有一些视频,它希望以“种子”方式去下载。因此,他创建了一个“种子”,并将这个链接发送给 ‘B’,这个链接包含了那个视频在因特网上的准确 IP 地址的信息。因此,当 ‘B’ 开始下载那个文件的时候,‘B’ 连接到 ‘A’ 的计算机。在 ‘B’ 下载完成这个视频之后,‘B’ 将开始做为种子,也就是 ‘B’ 将允许其它的 ‘C’ 或者 ‘D’ 从 ‘B’ 的计算机上下载它。

因此每个人先下载文件然后会上传,下载的人越多,下载的速度也越快。并且在任何情况下,如果想停止上传,也没有问题,随时可以。这样做并不会成为什么问题,除非很多的人下载而上传的人很少。

播种者和索取者

kickass torrents website

下载完成特定文件的用户将会即刻做为上传者,因此,可以被新用户下载的已下载者称为播种者。

而一些还没有完成特定文件的下载者,并且还正在下载的用户称为索取者。

qbittorrent software for linux

所有的“种子”文件都独立分割成固定大小的数据包,因此,它们可以非线性顺序和随机顺序下载。每个块都有唯一的标识,因此,一旦所有的块下载完成之后,它们会被拼接出原始文件。

正是因为这种机制,如果你正在从某人处下载一个文件,假如这个时候因某些原因他停止了上传,你可以继续从其它的播种者处继续下载,而不需要从头开始重新下载。

对端

对端是指当前连接到你的索取者。一个正在上传的索取者,不论它下载了多少块,它就是一个对端。

例如:

一个已经下载了文件的前 50 个块的用户就是一个索取者,但是,他又同时上传这些文件,而你只有前 10 个块,因此,你可以从他那里下载最多 50 个块。这时候他就成了你的对端。

最佳实践

当你下载一个“种子”时,总是选择最大的播种者。这就是最佳经验。

这里并没有最小的标准,但是只要确保你选择的是最大的那一个播种者就可以了。

“种子”相关的法律

piracy is illegal

“种子”相关的法律和其它的法律并没有什么区别,对受版权保护的其它任何东西一样,侵权行为会受到法律的制裁。大多数的政府都拦截“种子”站点和协议,但是“种子”下载本身并不是有害的东西。

“种子”对快速分享文件是非常有用的,并且它们被用来共享开源社区的软件,因为它们能节约大量的服务器资源。但是,许多人却因为盗版而使用它们。

结束语

Torrenting 是降低服务器上负载的一个非常完美的技术。“种子”下载可以使我们将下载速度提升到网卡的极限,这是非常好的。但是,在这种非中心化的服务器上,盗版成为一种必然发生的事。限制我们分享的内容,从不去下载盗版的东西,这是我们的道德责任。

请在下面的评论中分享你使用“种子”的心得,分享你喜欢的、法律许可下载的“种子”网站。


via: http://www.linuxandubuntu.com/home/torrents-everything-you-need-to-know

作者:LINUXANDUBUNTU 译者:qhwdw 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Vim 是每个 Linux 发行版]中不可或缺的一部分,也是 Linux 用户最常用的工具(当然是基于终端的)。至少,这个说法对我来说是成立的。人们可能会在利用什么工具进行程序设计更好方面产生争议,的确 Vim 可能不是一个好的选择,因为有很多不同的 IDE 或其它类似于 Sublime Text 3,Atom 等使程序设计变得更加容易的成熟的文本编辑器。

我的感想

但我认为,Vim 应该从一开始就以我们想要的方式运作,而其它编辑器让我们按照已经设计好的方式工作,实际上不是我们想要的工作方式。我不会过多地谈论其它编辑器,因为我没有过多地使用过它们(我对 Vim 情有独钟)。

不管怎样,让我们用 Vim 来做一些事情吧,它完全可以胜任。

利用 Vim 进行程序设计

执行代码

考虑一个场景,当我们使用 Vim 设计 C++ 代码并需要编译和运行它时,该怎么做呢。

(a). 我们通过 Ctrl + Z 返回到终端,或者利用 :wq 保存并退出。

(b). 但是任务还没有结束,接下来需要在终端上输入类似于 g++ fileName.cxx 的命令进行编译。

(c). 接下来需要键入 ./a.out 执行它。

为了让我们的 C++ 代码在 shell 中运行,需要做很多事情。但这似乎并不是利用 Vim 操作的方法( Vim 总是倾向于把几乎所有操作方法利用一两个按键实现)。那么,做这些事情的 Vim 的方式究竟是什么?

Vim 方式

Vim 不仅仅是一个文本编辑器,它是一种编辑文本的编程语言。这种帮助我们扩展 Vim 功能的编程语言是 “VimScript”(LCTT 译注: Vim 脚本)。

因此,在 VimScript 的帮助下,我们可以只需一个按键轻松地将编译和运行代码的任务自动化。

create functions in vim .vimrc

以上是在我的 .vimrc 配置文件里创建的一个名为 CPP() 函数的片段。

利用 VimScript 创建函数

在 VimScript 中创建函数的语法非常简单。它以关键字 func 开头,然后是函数名(在 VimScript 中函数名必须以大写字母开头,否则 Vim 将提示错误)。在函数的结尾用关键词 endfunc

在函数的主体中,可以看到 exec 语句,无论您在 exec 关键字之后写什么,都会在 Vim 的命令模式上执行(记住,就是在 Vim 窗口的底部以 : 开始的命令)。现在,传递给 exec 的字符串是(LCTT 译注::!clear && g++ % && ./a.out) -

vim functions commands & symbols

当这个函数被调用时,它首先清除终端屏幕,因此只能看到输出,接着执行 g++ 处理你工作的文件,然后运行由前一步编译而形成的 a.out 文件。

将 ctrl+r 映射为运行 C++ 代码

我将语句 call CPP() 映射到键组合 Ctrl+r,以便我现在可以按 Ctrl+r 来执行我的 C++ 代码,无需手动输入 :call CPP(),然后按 Enter 键。

最终结果

我们终于找到了 Vim 方式的操作方法。现在,你只需按一个(组合)键,你编写的 C++ 代码就输出在你的屏幕上,你不需要键入所有冗长的命令了。这也节省了你的时间。

我们也可以为其他语言实现这类功能。

create function in vim for python

对于Python:您可以按下 Ctrl+e 解释执行您的代码。

create function in vim for java

对于Java:您现在可以按下 Ctrl+j,它将首先编译您的 Java 代码,然后执行您的 Java 类文件并显示输出。

进一步提高

所以,这就是如何在 Vim 中操作的方法。现在,我们来看看如何在 Vim 中实现所有这些。我们可以直接在 Vim 中使用这些代码片段,而另一种方法是使用 Vim 中的自动命令 autocmdautocmd 的优点是这些命令无需用户调用,它们在用户所提供的任何特定条件下自动执行。

我想用 autocmd 实现这个,而不是对每种语言使用不同的映射,执行不同程序设计语言编译出的代码。

autocmd in vimrc

在这里做的是,为所有的定义了执行相应文件类型代码的函数编写了自动命令。

会发生什么?当我打开任何上述提到的文件类型的缓冲区, Vim 会自动将 Ctrl + r 映射到函数调用,而 <CR> 表示回车键,这样就不需要每完成一个独立的任务就按一次回车键了。

为了实现这个功能,您只需将函数片段添加到 .vimrc 文件中,然后将所有这些 autocmd 也一并添加进去。这样,当您下一次打开 Vim 时,Vim 将拥有所有相应的功能来执行所有具有相同绑定键的代码。

总结

就这些了。希望这些能让你更爱 Vim 。我目前正在探究 Vim 中的一些内容,正阅读文档,补充 .vimrc 文件,当我研究出一些成果后我会再次与你分享。

如果你想看一下我现在的 .vimrc 文件,这是我的 Github 账户的链接: MyVimrc

期待你的好评。


via: http://www.linuxandubuntu.com/home/making-vim-even-more-awesome-with-these-cool-features

作者:LINUXANDUBUNTU 译者:stevenzdg988 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Ubuntu 和 Arch Linux 双启动不像听起来那么容易,然而,我将使这个过程尽可能地简单明了。首先,我们需要安装 Ubuntu,然后安装 Arch Linux,因为配置 Ubuntu grub 更容易实现 Ubuntu 和 Arch Linux 双启动。

Ubuntu 和 Arch Linux 双启动

你需要准备好以下内容:

1、你需要准备你所选择的 Ubuntu 的特色版本,在这个例子中,我将使用 Ubuntu 17.10 ISO 2、两个优盘 3、Windows 或者 Linux 操作系统的 PC 机 4、Arch Linux ISO 5、基于 Windows 的 Rufus 或是基于 Linux 发行版的 etcher 的两款软件中的一种,要根据自己的系统类型来选择哦。

​安装 Ubuntu

​首先, 利用 Rufus 为 Ubuntu 和 Arch Linux 创建可启动的闪存驱动器。另外,也可以使用 etcher 创建 Ubuntu 和 Arch Linux 的可启动闪存驱动器。

Ubuntu 可启动 USB 镜像写入工具

为 Ubuntu 选择 ISO 映像文件,然后选择闪存驱动器,然后单击 Flash! 创建可引导的闪存驱动器。等到它完成,瞧!你的可启动闪存驱动器已经准备好使用了。

在 linux 下创建 Ubuntu USB 启动程序

打开你的机器并使用载有 Ubuntu 安装媒体的可启动闪存驱动器进行启动。确保引导到 UEFI 或 BIOS 兼容模式,这取决于您所使用的 PC 的类型。我更喜欢使用 UEFI 来构建新的 PC。

live Ubuntu 启动

​在成功启动后,您将看到如上图显示,要求您尝试 Ubuntu 或安装 Ubuntu,选择安装 Ubuntu。 ​ 从可启动 USB 安装

然后检查安装第三方软件的图形和 WiFi 硬件、MP3 和其他媒体。如果你有一个互联网连接,你可以选择在安装 Ubuntu 的时候下载更新,因为它会节省安装时间,并且确保安装的是最新更新。

自定义磁盘分区安装 Ubuntu

​然后选择点击“Something else”,这样我们就可以对硬盘进行分区,并预留出 Ubuntu 和 Archlinux 的分区以及它们的交换分区的空间。 ​ 创建交换分区

​创建一个交换分区。最好是内存的一半大小。在我的例子中,我有 1 GB 的内存,因此创建一个 512 MB 的交换空间。

安装 Ubuntu 到根(/)分区

然后创建挂载点为 / 的分区,并且点击“Install Now”按钮。

选择时区

接下来选择你的位置以选择语言和键盘设置。

选择键盘布局

​然后创建新用户的用户凭据。 ​ 创建用户名、系统名并开始安装

​点击“Next”开始安装。 ​ ubuntu installation finishing

​当安装完成后点击“Restart Now”重启 PC。

完成 Ubuntu 安装并重启系统

​移除安装媒介,按下回车继续。

移除安装媒介

在确认成功安装后,重新启动并利用 Arch Linux 安装媒介引导。

​安装 Arch Linux

​在引导到 Arch Linux 安装媒体时,您应该看到如下所示的初始屏幕。选择 “Boot Arch Linux(x86\_64)”。注意 Arch Linux 更类似于一种 DIY(自我定制)的操作系统。 ​ Arch Linux 安装引导菜单

选择之后,它将打开一个tty1终端,您将使用它来安装操作系统。

tty终端

注意:为了成功安装 Arch Linux,您需要一个互联网连接来下载一些必须的系统安装包。所以我们需要检查一下互联网是否运行正常。输入以下命令到终端以检查网络连接。

ping linuxandubuntu.com -c 4

检查互联网连接

​如果互联网运行正常,你应该得到一个回显,显示发送和接收的数据包的数量。在这种情况下,我们发送了 4 个包,并得到了 4 个反馈,这意味着连接是正常的。

如果想在 Arch Linux 中设置 Wifi,请阅读本文以在 Arch Linux 中配置 Wifi。 ​ ​接下来,我们需要选择之前在安装 Ubuntu 时预留出的空闲分区。

fdisk -l

​上面的命令应该显示可用的磁盘分区在哪里。您应该能看到 Ubuntu 分区以及预留的空闲空间。我们将使用 cfdisk命令进行分区。

cfdisk

利用cfdisk命令安装 Arch 分区

执行命令后将看到分区情况。选择其它已分配分区下面的空闲空间。

您需要选择 “New”,然后输入分区大小。

为 Archlinux 分区

例如,9.3G - G 表示千兆字节。

挂载 Arch Linux 分区

如下图所示,选择“primary”进行分区

将 Arch Linux 的根(root)分区设置成主分区

然后选择写分区条目。

选择分区安装 Arch

​键入“yes”,以确认写入分区表。 ​ 确认创建分区并安装 Arch Linux

然后选择 “Quit”(退出)选项。

退出 Arch Linux 的‘cfdisk’ 然后键入:

fdisk -l

​确认修改。

确认分区修改

​然后使用磁盘分区命令: ​

mkfs.ext4 /dev/sda3

​确保您选择的分区是我们创建的最后一个分区,这样我们就不会破坏 Ubuntu 分区。 ​ 完成 Arch Linux 分区安装

​然后使用以下命令安装这个分区: ​

mount /dev/sda3 /mnt

安装基础分区

用下面命令创建“home”目录:

mkdir .mnt/home

安装家目录

​用以下命令安装“home”目录到这个分区上:

mount /dev/sda3 /mnt/home

安装家目录

现在使用以下命令安装 Archlinux 的基本系统:

pacstrap /mnt base

请确保网络连接正常。 ​

接下来开始下载和配置安装所用时间取决于你的网速。

安装Arch Linux 基础系统

这一步骤完成后,将完成 Archlinux 基本安装。

Arch Linux 基础系统安装完成后,使用以下命令创建一个 fstab 文件:

genfstab -U /mnt >> /mnt/etc/fstab

创建 fstab文件

在此之后,您需要验证fstab文件,使用下面命令:

cat /mnt/etc/fstab

查看 fstab 文件的终端显示

​配置 Arch Linux 的基础配置

您将需要在安装时配置以下内容:

  1. 系统语言和系统语言环境
  2. 系统时区
  3. Root 用户密码
  4. 设置主机名

首先,您需要使用以下命令将root切换为新安装的基础系统用户:

arch-chroot /mnt

1. 系统语言和系统语言环境

然后必须配置系统语言。必须取消对 en\_Utf-8 UTF-8的注释,并加载到文件 /etc/local.gen 中。

键入:

nano /etc/local.gen

然后将 en\_UTF-8 UTF-8 取消注释。

键入命令:

locale-gen

生成本地化设置如下:

生成本地化配置

相应的需要在 locale.conf 文件中配置 LANG 变量。例如:

nano /etc/locale.conf

​修改为:

LANG=en_US.UTF-8

配置键盘布局,则在文件 vconsole.conf 中进行更改,如下操作:

nano /etc/vconsole.conf

​修改为:

KEYMAP=us-eng

2. 系统时区

​配置时区需要利用以下命令实现:

ln -sf /usr/share/zoneinfo/Region/City /etc/localtime

要查看可用时区,可以在终端使用以下命令:

注意可选时区在屏幕截图中显示为蓝色:

ls /usr/share/zoneinfo

配置时区文件

配置地区

运行 hwclock 命令来生成 /etc/adjtime(假设硬件时钟被设置为 UTC):

# hwclock --systohc

3. 配置 root 用户密码

​要为 Arch Linux 系统用户 root 设置密码,请使用:

passwd

​为 root 用户提供一个新的密码并确认密码使其生效。

配置系统用户root密码

4. 配置主机名和网络

​需要创建主机名文件:

nano /etc/hostname

配置主机名

将名字更改为您的用户名:

set arch linux username

然后向主机添加一个匹配的条目:

nano /etc/hosts
127.0.0.1 localhost.localdomain localhost

::1 localhost.localdomain localhost

127.0.1.1 LinuxandUbuntu.localdomain LinuxandUbuntu

您需要使网络保持连接,然后使用:

systemctl enable dhcpd

配置 Grub

然后重启机器,进入 Ubuntu 配置 grub。

你可以键入:

reboot

安装完成后重启

Arch Linux 仍然没有出现,因此我们需要在 Ubuntu 中使用 update-grub 来安装它。

Ubuntu grub 菜单

在Ubuntu中打开终端,输入:

sudo update-grub

这将更新 grub,添加 Arch Linux 记录。

小结

祝贺您成功地将 Ubuntu 和 Arch Linux 设置为双引导。Ubuntu 安装很简单,但是 Arch Linux 安装对新的 Linux 用户来说是一个挑战。我试着让这个教程变得简单。但是如果你对这篇文章有任何疑问,请在评论部分告诉我。还可以与您的朋友分享这篇文章,并帮助他们学习 Linux。


via: http://www.linuxandubuntu.com/home/dual-boot-ubuntu-and-arch-linux

作者:LinuxAndUbuntu 译者:stevenzdg988 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出