Skip to content Skip to main navigation Skip to footer

Linux

Linux:命令行星期二 —— 第一篇

极客们,我们又回来了!真抱歉让你们久等了,但我保证,我们又回归正轨了。我们满怀热情与大家相约,让我们激情燃烧,寻找刺激吧:)

现在,整个的想法已经在之前的开场白中告诉你们了,所以现在让我们来干点正事吧。就像肖茨先生书里讲得那样,我们需要来了解一下shell是个什么东西,终端模拟器又是个什么东西,因为我们要在这里头干活。

肖茨在他的书中写道,shell实际上是当我们谈论命令行时所谈论的东西。shell基本上一个程序,它将你敲击键盘的动作传递给计算机;它也是某种形式的翻译器,将你所讲的东西翻译给计算机听。在这世界上活着的shell真是五花八门,但是活得最好的要数bash了,它在GNU/Linux中随处可见。我们也叫它Bourne Again Shell,这是一个精巧的双关语,因为自从Bourne先生创造了它的祖先sh后,Brian Fox又把它重写成为一个自由的sh替代品。啊哈!GUN人和他们的幽默,真的很精明。:)

Linux:命令行星期二 —— 第一篇
Linux:命令行星期二 —— 第一篇

接下来我所需要,是一个让我们能和shell交互的东西,它就是终端模拟器。每个Linux发行版都自带了一个,至于长什么样就得看你使用的桌面环境了,可能是KDE的Konsole,也可能是Gnome的Gnome terminal等等。肖茨先生说了,你可以挖掘出你所偏爱的一个,但是大部分时间我还是用桌面环境给我提供的那个吧。

现在来发动你的终端。打开后,你会见到一行字,这行字告诉你用户名和机器的主机名,它叫作shell提示符。它告诉你它准备好了,你可以输入命令了。让我们来随便玩玩,随便输入点什么东西进去,然后敲回车看看。

呵呵,还记开篇我们讲过,我们需要像学诗歌一样来学习命令吗?记得就好,随意乱来可干不了啥事。

现在,按那个上箭头,你会发现命令又回来了。这是啥魔法?你键盘上的上箭头用来取出历史命令。终端会保存总计500个你输入过的命令,所以别一次又一次地重复敲它们了,你可以用上/下箭头来查找它们。左右箭头用来在指定行中移动光标,这样你就可以在文本中编辑或者插入了。另外注意,想用ctrl+v来粘贴文本是不行的。你可以在某个地方将它设置成快捷键,但是它常常不是那么回事。检查你的模拟器的快捷键!(在Konsole中,它位于设置 > 配置快捷键)

现在,为了我们不再被‘命令找不到’抽一巴掌,让我们试试一些简单的。敲个date来试试。(是的,我不知道有这么个命令,这真着实让我兴奋了一把):)

Linux:命令行星期二 —— 第一篇
Linux:命令行星期二 —— 第一篇

你又来了。当你能打开终端并输入date命令来查看日期时,为什么在时钟中看看内建日历会让你不胜其烦 🙂 只是开个玩笑。就像肖茨书里写的那样,它确实是个简单的命令,更有用也更复杂的命令会在以后介绍。跟date相关的命令是cal – 它会显示当前月的日历。

你也可以试试df,它会列出你驱动器上的空闲空间。

或者试试free来显示空闲内存:

如果你已经跟上了敲击键盘的节奏,你可以输入exit命令来关闭终端模拟器了,而不是去点击那个x了。

嗯,本周我们就到此为止吧,免得有太多的要学的东西来占据你紧巴巴的日程了。下面来个小结(你可以把结论写下来,做个备份吧),在这一篇中,我们学习了:

  • 什么是shell
  • 我们需要用什么来和shell交流(终端模拟器)
  • 使用光标按钮来驾驭终端命令以及退出终端

四个简单的命令:

  • date – 显示当前日期
  • cal – 显示当前月份的日历
  • df – 显示你的硬盘的当前可用空间
  • free – 当前可用内存

下周二我们将会做什么呢?

我们会学习在文件系统中导航(bin、etc等等这所有的文件夹都是些什么东西?它们用来干什么?怎样通过终端来浏览它们)。到那时……

你就有得乐了!

Linux:命令行星期二 —— 第一篇
Linux:命令行星期二 —— 第一篇

via: https://news.opensuse.org/2014/06/10/command-line-tuesdays-part-one/

译者:GOLinux 校对:wxy

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

来源:https://linux.cn/article-3300-1.html

Linux:使用 GnuPG 进行电子邮件的自我防御[FSF信息图中译]

Linux:使用 GnuPG 进行电子邮件的自我防御[FSF信息图中译]
Linux:使用 GnuPG 进行电子邮件的自我防御[FSF信息图中译]

关于如何使用 GnuPG 加密邮件可以看 https://emailselfdefense.fsf.org/,英文比较长,懒得翻译了

我把信息图简单翻译成了中文版 

Linux:使用 GnuPG 进行电子邮件的自我防御[FSF信息图中译]
Linux:使用 GnuPG 进行电子邮件的自我防御[FSF信息图中译]

改后的源文件:https://gist.github.com/tonghuix/65e24000ad5d73c8553c

原图:https://emailselfdefense.fsf.org/infographic.html

来源:https://tonghuix.io/2014/06/email-selfdefence-gnupg/

Linux:OpenSUSE 13.1 和 OpenSUSE 12.3 用户如何安装 Cinnamon 2.2 桌面

Cinnamon 是 Linux mint 打造的开源桌面环境,该桌面环境采用经典 Gnome 2 UI 设计,最新版本 Cinnamon 2.2,已经进入 Ubuntu 14.10 Utopic Unicorn 默认软件库,用户可轻松安装。

Linux:OpenSUSE 13.1 和 OpenSUSE 12.3 用户如何安装 Cinnamon 2.2 桌面
Linux:OpenSUSE 13.1 和 OpenSUSE 12.3 用户如何安装 Cinnamon 2.2 桌面

本文针对 OpenSUSE 13.1 与 OpenSUSE 12.3 系统用户。

OpenSUSE 13.1 用户安装命令

首先解决依赖包问题,安装 python-lxml:

sudo zypper install python-lxml

添加 Cinnamon 库到你的系统,并更新源:

sudo zypper ar http://download.opensuse.org/repositories/X11:/Cinnamon:/Factory/openSUSE_13.1 Cinnamon
sudo zypper refresh

安装 Cinnamon:

sudo zypper install -t pattern "Cinnamon Desktop Environment"

为了能够在默认情况下使用 Cinnamon,我们必须安装运行startx(xinit包):

ypper install xinit

配置运行startx,加载Cinnamon为默认设置:

echo '#!/bin/sh' >> ~/.xinitrc
echo 'exec gnome-session –session=cinnamon' >> ~/.xinitrc

为 ~/.xinitrc 文件设置执行权限:

sudo chmod +x .xinitrc

启动 Cinnamon:

sudo systemctl start xdm.service

OpenSUSE 12.3用户安装(方法雷同)

安装依赖包:

sudo zypper install python-lxml

添加库,并更新

sudo zypper addrepo http://download.opensuse.org/repositories/X11:/Cinnamon:/Factory/openSUSE_12.3/ Cinnamon
sudo zypper refresh

安装 Cinnamon:

sudo zypper install -t pattern "Cinnamon Desktop Environment"

为默认使用 Cinnamon 安装 startx :

zypper install xinit

设置 startx,为让 cinnamon 默认加载:

echo '#!/bin/sh' >> ~/.xinitrc
echo 'exec gnome-session –session=cinnamon' >> ~/.xinitrc

为 ~/.xinitrc 文件设置执行权限:

sudo chmod +x .xinitrc

启动 Cinnamon:

sudo systemctl start xdm.service

 

来源:http://imcn.me/html/y2014/21078.html

Linux:如何将Vim打造成一个成熟的IDE

如果你稍微写过一点代码,就能知道“集成开发环境”(IDE)是多么的便利。不管是Java、C还是Python,当IDE会帮你检查语法、后台编译,或者自动导入你需要的库时,写代码就变得容易许多。另外,如果你工作在Linux上,你也会知道Vim在进行文本编辑的时候是多么的方便。所以,你可能会想从Vim中也获取这些IDE特性。

事实上,很少有方法可以帮你做到。有些人可能会想到试着把Vim打造成C语言IDE的,比如c.vim;也有把Vim集成到Eclipse里的 Eclim 。但是我想要告诉你的是一个更加通用的,只用插件实现的方案。你肯定不想因为安装了太多的面板和特性而让你的编辑器变得臃肿不堪。只用插件实现的方案可以让你只选择那些你想要集成到Vim的特性。这样做的额外的一个好处是,这个IDE不是专门针对某一种语言的,可以让你写任何类型的代码。下面就来看一下我的 把IDE特性带进Vim的前10款插件 吧。

先来个福利: Pathogen

首先,可能不是所有人都熟悉Vim的插件,并知道该怎么安装这些插件。所以,我推荐的第一个插件就是Pathogen,因为这个插件会让你更容易安装其他插件。如果你要安装另外的没有在这里列出来的插件,用Pathogen会变得非常简单。它的官方页面的文档写的非常好,去下载安装一个吧。接下来插件的安装也会变得容易很多。

1. SuperTab

Linux:如何将Vim打造成一个成熟的IDE
Linux:如何将Vim打造成一个成熟的IDE

我们习惯于IDE的第一个原因就是它的自动补全功能。所以,我喜欢这个非常方便的,给了Tab键“超能力”的 SuperTab 插件。

2. Syntastic

Linux:如何将Vim打造成一个成熟的IDE
Linux:如何将Vim打造成一个成熟的IDE

如果你需要使用一种以上的语言进行编程,有时候是非常容易混淆不同语言之间的语法的。幸运的是,syntastic 会帮你检查,然后告诉你是否应该加上圆括号或者方括号,或者告诉你在某个地方,你忘了一个分号。

3. Auto Pairs

另外一件让程序员们抓狂的事是:我是不是少加了最后一个括号?!每个人都讨厌用手指去数那些隔的非常远的括号。为了处理这个问题,我用 Auto Pairs 插件,这个插件会自动插入和格式化方括号和圆括号。

4. NERD Commenter

如果你在找一个可以支持多种程序语言的注释代码的快捷键,你可以试试 NERD Commenter。即使你不是程序员,我也非常非常推荐这款插件,因为它会让你在注释bash脚本或者其他任何东西的时候都会变得非常高效。

5. Snipmate

任何一个程序员都知道,好的码农写代码,杰出的码神重用代码。snipmate可以容易的插入代码片段到你的文件里面,大大的减少了你敲键盘的次数。它默认的包含了很多各种语言的代码片段,你也可以非常容易的添加你自己的。

6. NERDTree

Linux:如何将Vim打造成一个成熟的IDE
Linux:如何将Vim打造成一个成熟的IDE

管理一个大的项目时,把代码分散到不同的文件里面是非常好的主意。也是一个基本的编码原则。NERDTree 是一个不错的可以直接在Vim里使用的文件浏览器,它可以让你随时想到所有的文件。

7. MiniBufferExplorer

Linux:如何将Vim打造成一个成熟的IDE
Linux:如何将Vim打造成一个成熟的IDE

为了打造一个文件浏览器,支持同时打开多个文件,没有什么比一个好的缓冲区管理器更重要了。MiniBufferExplorer 就可以非常漂亮和高效地完成这个工作。它甚至为你的缓冲区设置了不同的颜色和切换快捷键。

8. Tag List

Linux:如何将Vim打造成一个成熟的IDE
Linux:如何将Vim打造成一个成熟的IDE

当你同时有多个文件打开时,很容易忘了你都在这些文件里添加了什么。为了防止你忘记,Tag List 这个代码查看器将会用一种漂亮简洁的格式展示其中的的变量和函数。

9. undotree

Linux:如何将Vim打造成一个成熟的IDE
Linux:如何将Vim打造成一个成熟的IDE

对于我们之中那些喜欢undo,redo然后又undo某些更改,然后依据这些来查看整个编辑完成过程的人来说, undotree 是一个不错插件,可以以一棵树的形式看到你的undo和redo历史。这个功能跟代码完全没有关系,所以这是我非常喜欢的一个插件。

10. gdbmgr

最后,但并非不重要,每个人都在某个时刻需要一个调试器。如果你喜欢gdb,那么gbdmgr就是为你准备的,因为它集成了那个著名的调试器到Vim中。

总结一下,不管你是不是一个疯狂的coder,能有一些额外的Vim功能在手总是非常方便的。像我在简介里说到的,如果你不需要,你不用安装这里所有的这些插件。或者你想要安装另外的也行,这些其实只是一个基础入门级的插件。

你在用Vim的什么插件?或者你想完善这个前10列表么?请在评论里告诉我们吧。


via: http://xmodulo.com/2014/06/turn-vim-full-fledged-ide.html

译者:love_daisy_love 校对:wxy

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

来源:https://linux.cn/article-3314-1.html

Linux:如何通过网络在Windows、MAC和Linux之间共享文件

Linux:如何通过网络在Windows、MAC和Linux之间共享文件
Linux:如何通过网络在Windows、MAC和Linux之间共享文件

家庭文件共享曾经是一个噩梦,即使在不同的Windows版本之间—— 甚至不考虑Mac和Linux!但现在这些操作系统可以相互通信并且无需特殊软件就可共享文件。

我们之前使用SMB协议来做到这点。Windows使用SMB来做文件共享,同时Mac和Linux发行版都内置支持SMB。Microsoft甚至给开源Samba项目提交过补丁来改进它!

在Windows上共享文件夹

既然其他操作系统不能访问家庭组,您需要启用Windows老式的文件共享。要做到这点,打开控制面板进入网络和共享> 更改高级共享设置。启用“网络发现”和“文件与打印共享”。

如果你想要无需密码访问共享文件夹你还需要微调一下其它选项。

Linux:如何通过网络在Windows、MAC和Linux之间共享文件
Linux:如何通过网络在Windows、MAC和Linux之间共享文件

在Windows Explorer或者File Explorer中找到你想共享的文件夹,右键点击,选择属性。点击共享标签,并使用这里的选项来共享和配置文件夹的权限。

Linux:如何通过网络在Windows、MAC和Linux之间共享文件
Linux:如何通过网络在Windows、MAC和Linux之间共享文件

在Windows上访问共享文件夹

在Windows Explorer或者File Explorer中访问网络面板来浏览其他计算机共享给你的文件。你会看到正确配置后的Mac和Linux计算机在Windows PC机附近出现了。双击一台计算机来查看它的共享文件。

Linux:如何通过网络在Windows、MAC和Linux之间共享文件
Linux:如何通过网络在Windows、MAC和Linux之间共享文件

如果你知道计算机名或者IP地址,你同样可以直接连接到这台计算机上,只需要在Windows Explorer或者File Explorer中输入计算名后按下回车就可以了。如果你希望直接通过IP地址连接,只需要将计算机名换成IP地址就可以了

Linux:如何通过网络在Windows、MAC和Linux之间共享文件
Linux:如何通过网络在Windows、MAC和Linux之间共享文件

来源:https://linux.cn/article-3315-1.html

Linux:给猫咪照片加密

事实上,我的硬盘上不存在那种不愿意被别人看到的东西,只存有一些猫咪的照片、一些记录着想写的书的想法的文本文件,或者是一些短篇故事的文本,也有一些写了一半的 NaNoWriMo 小说文件。简单的说,我的硬盘就没有加密的必要,因为没有什么可隐藏的。可问题是,我们错误的把“隐私的渴望”跟“要隐藏某东西”两概念混淆在一起。比如说我生活的美国,我们视隐私权利是理所当然的事,但不包括那些传统所认为的“某人的隐藏色情或炸弹”。隐私考虑的是一些平常的事情。

Linux:给猫咪照片加密
Linux:给猫咪照片加密

我居住在密歇根州。这儿的冬天很冷,我趋向于把温度设置在华氏 75 度左右。对您们来说这个温度可能高了,但在我的家里刚好合适。多亏我的家是属于私有的,我的邻居不可能知道我们保持了这么高的温度,否则一但他们看到冬天如此“浪费”能源的家庭,这些邻居心里会很不平衡的。事实上,本地条规中有一条明确指出任何超过华氏 60 度的就算是生态浪费。我并不想与这种僵老的条例较真,所以我仅仅想保守我们舒适的房子的秘密。我们并不想隐藏任何事情,但也并不是任何事情都要让外人知道。

很明显,我举的例子有点弱智,但我希望的是这能引起大家的思考。现代的 Linux 系统很容易的就可以对我们的数据进行加密,并且很可靠,所以为什么不好好利用利用呢?

加密原理?

我不会涉及太多关于加密原理的细节,但要明白最基本的原理,即使是最简单的实现,这是必须的。要加密和解密一个文件,需要两把“钥匙”。一把是私钥,正如名字所示,属于私有的。我宁愿把私钥看作是真实的钥匙——你想要多少就可造出多少,但这样做是不明智的。同样的,私钥你造的越多,某些不怀好意的人得到其中一把的机率就越大,他们就会闯入你的公寓(额,我的意思是指那些文件)。

公钥更像是锁的样子,只有你能(用你的私钥)打开此锁。这公钥任何人都可以得到,你可以将它张贴在网站上、把它放在你的 E-mail 中、甚至纹在你的背上。其它人想创建一个只有你能访问的文件,就可以使用此公钥来加密。

这种一对多(LCTT译注:指别人可以加密多个文件,而只有你的一个私钥才能解密)的情况也有个很酷的副作用。如果你用你的私钥来加密一些东西,任何人都可以用你提供的公钥来解密它们。这听起来很傻,但这种情景很有用。虽然加密的文件不能免于被窥视,但是它能保证此文件确实来自于你而没有被恶意改动过。用你的公钥能解密的文件仅仅只能是用你私钥加密过的。用这种方式,用私钥加密的文件即是数字“签名”文件。(LCTT译注:既然是任何人都可以用公钥解密,其实加密没有意义,相反,仅仅用你的私钥做一个签名指纹,别人只需要用你的公钥来验证该签名是否一致即可判断是否来自你。)

(LCTT译注:其实本文此处所述的加密解密、签名校验等原理不完全正确,和实际的非对称加密情形有所差异,不过比较容易理解和类比。)

通用加密步骤:

  1. 你有一个文件想要发送给苏茜 ,所以你得使用苏茜的公钥来加密,这样就只有 苏茜才能打开这个文件,但苏茜没有办法知道是谁给她发送的文件。因为任何一个人都可以用她的公钥来加密文件。
  2. 因此,你得把你的文件用苏茜的公钥和你的私钥都加密。苏茜将不得不解密两次,但她知道它是来自于你的文件。(LCTT译注:实际上应该是用你的私钥要做签名,生成一小段签名指纹,而不是对已经加密的文件再次加密。)
  3. 苏茜接收到此文件后会用能证明来自于你的公钥来解密第一层。(LCTT译注:校验签名,确认来自你的私钥的签名正确。)
  4. 然后用她的私钥来解密第二层的密码,这是唯一的能够将原始文件进行解密的钥匙了(因为你是用她的公钥来加密的)。

当然,这情景就是用来安全传输文件的加密手段。这也是加密你的文件(或者分区)相当常用及简单的方法。就让我们开始来对文件进行加密吧,因为大多数人都想加密他们的系统。

始于简

在深入更复杂的各种加密设置操作前,我们先做简单的对文件加密例子。能处理加密的应用程序有很多很多,事实上,对文件和系统进行加密的各种可用软件选择,很容易就会让我们变得焦头烂额。现在,我们就使用一款很基本的(但非常强大)命令行工具来对文件加密。 GPG (英文名:Gnu Privacy Guard)是一款对商业软件 PGP(英文名:Pretty Good Protection)的开源实现软件。它具有加密、签名及管理多个密钥等功能。用例子说明,让我们简单的加密一个文件吧。

我们假设你有一个名叫 secret_manifesto.txt 的文件,它包含有关于生命、宇宙及一切事物的秘密。使用 GPG,你只需要一个密码就可以加密此文件。使用密码远比使用公钥和私钥对简单,因为它只是用你的密码加密。虽然这比较容易让你的文件遭受到破解(比如使用彩虹表或其他黑客工具暴力破解),但像它的名字中所宣称的:这是相当不错的保护。要加密你的文件,可以这样做:

# gpg -c secret_manifesto.txt
  Enter passphrase:
  Repeat passphrase:

一但完成,在相同的目录下就会多出个新的文件,它默认的名字是 secret_manifesto.txt.gpg 。这是一个二进制文件,这意味着它真的比较小,但是要将其内容拷贝/粘贴到电子邮件(e-mail)或 即时消息(IM) 就不可能了(LCTT译注:当然你可以使用附件方式。)。要使其便于拷贝等操作,可以添加 -a 标志,这将创建一个只包含 ASCII 码文本的加密文件:

# gpg -a -c secret_manifesto.txt
  Enter passphrase:
  Repeat passphrase:
# ls -l
-rw-rw-r--  1 spowers spowers    6 Nov 23 1:26 secret_manifesto.txt
-rw-rw-r--  1 spowers spowers  174 Nov 23 1:27 secret_manifesto.txt.asc
-rw-rw-r--  1 spowers spowers   55 Nov 23 1:26 secret_manifesto.txt.gpg

注意到现在多了一个以 .asc 为扩展名的文件。它是个纯文本文件,从上面的代码段示例可以看到它比二进制的加密文件还大,当然比原文本文件就大的更多了。一但你把文件加密了,也确实想要对些信息保密,最明智的就是把原文本文件删除掉。(LCTT译注:千万记住密码啊,否则谁也帮不了你了——你得自己破解自己的密码啦:>)

要解密文件,你需要再一次使用 GPG 程序。不管是二进制的还是 ASCII 文件,使用相同的命令就可以解密。如下所示:

# gpg secret_manifesto.txt.asc
 gpg: CAST5 encrypted data
 Enter passphrase:
 gpg: encrypted with 1 passphrase
 File `secret_manifesto.txt' exists. Overwrite? (y/N)

注意到上面的例子中,我没有删除源文本文件,所以 GPG 给出了是否覆盖选项提示。一但操作完成,我的未加密的源文件又回来了。如果你仅仅只有一两个文件要保护,那基于命令行的 GPG 程序正是你所需的。但如果你想实现在系统上指定一个区域,任何保存到这区域的的文件都会自动加密的话,就有点复杂了。可这也并不是非常的困难,让我们用一个非常简单的示范例子来讲解吧。

加密 USB 驱动盘

如我前面提到的,要加密有很多可选的方式方法。加密磁盘分区最通用的一种方法是 LUKS(Linux Unified Key Setup) 系统。一个使用 LUKS 格式化分区的 USB 驱动盘可以被大多数系统自动识别到。实际上,如果你使用的是像 Ubuntu 桌面这样的桌面环境系统的话,加密 USB 驱动盘其实就是在格式化过程中简单的勾选上一个复选框而已。虽然这是加密 USB 盘最容易让人接受的方式,但我还是想演示如何在命令行下进行加密,因为这种方式可以让你明白在加密的后面具体发生了什么。

步骤 1: 识别您的 USB 驱动盘。

在您插入 USB 驱动盘后,如果在终端输入 dmesg 命令,将会显示出所有的系统信息,包括刚插入的 USB 驱动盘的设备名字。 确保设备标识是正确的,因为后面要进行的操作会破坏驱动盘上的所有数据。您也不想一不小心就格式化掉正常的磁盘吧。(虽然不用提醒,但我还是要说,确保您的 USB 驱动盘已经没有你想保留的数据,因为这是一个破坏性的过程。)

步骤 2: 对 USB 驱动盘进行分区。

假设,在您的系统上 USB 驱动盘是 /dev/sdb 这个设备,您需要在这个驱动上创建一个单分区(LCTT译注:设备是sdb,其上可以有多个分区,分别叫sdb1、sdb2等等)。我们使用 fdisk 命令。下面是 fdisk 必须的交互操作。一般地,用 o 命令来创建一个新的空分区,然后用 w 命令来保存设置。然后重新运行 fdisk 命令,并用 n 命令来创建一个新的主分区,接下来保持默认的以使用整个设备空间:

# sudo fdisk /dev/sdb
Command (m for help): o
Building a new DOS disklabel with disk identifier 0x1234567.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Command (m for help): w
The partition table has been altered!
# sudo fdisk /dev/sdb
Command (m for help): n
Command action
e   extended
p   primary partition (1-4)
p
Partition number (1-4, default 1): 1
Using default value 1
First sector (2048-1016522, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-1016522, default 1016522):
Using default value 1016522
Command (m for help): w
The partition table has been altered!

现在你的 USB 驱动盘有了一个单分区了(/dev/sdb1),但还没有文件系统,这正是我们所想要的,因为 LUKS 系统需要在创建文件系统前在您的分区上创建一个加密层。因此,在创建文件系统之前,就让我们在分区上先创建一个 LUKS 层吧,可以使用 cryptsetup 程序。如果您还没有安装 cryptsetup 的话,可以搜索您系统发布版本的仓库源,里面就有。下面就开始创建 LUKS 加密分区层:

# cryptsetup luksFormat /dev/sdb1
WARNING!
========
This will overwrite data on /dev/sdb1 irrevocably.
Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase:
Verify passphrase:

按照提示的操作,一定要确保记得您的密码!注意,这儿的“密码单词”不仅仅只表示一个单词。这只是一个习惯,因而得名,设置的越长越复杂,越难被破解。

一但上面的操作完成,就创建好了一个加密的分区,但它还没有被挂载或格式化。要做的第一步就是挂载分区,可以再一次使用 cryptsetup 工具:

# cryptsetup luksOpen /dev/sdb1 my_crypto_disk
Enter passphrase for /dev/sdb1:

当输入完密码后,您输入名字的设备就会像虚拟硬盘一样被挂载上。通常,它挂载在 /dev/mapper/设备名 的目录下,所以这个例子所示的分区就挂载到了 /dev/mapper/mycryptodisk 目录。

现在这个设备就可当做未加密的卷来访问了。 只要它一被挂载,就跟其它未加密的卷是一样的了,这就意味着您想要使用它的话就需要先建立文件系统:

# mkfs.vfat /dev/mapper/my_crypto_disk -n my_crypto_disk
mkfs.vfat 3.0.9 (31 Jan 2010)

现在磁盘的功能完备了,可以像其它磁盘一样正常挂载使用了。实际上,如果你使用的是现代的图形用户界面系统的话,只要你把 USB 驱动盘一插入计算机,将会提示您输入密码,然后就自动挂载上了。退出的时候跟普通盘一样,里面存储的数据会被加密,直到下次输入密码。在命令行里使用 cryptsetup 卸载以及重加密驱动盘也是很简单的:

# cryptsetup luksClose my_crypto_disk

这仅仅只是冰山一角

Linux:给猫咪照片加密
Linux:给猫咪照片加密

写这篇文章,我的目的是希望剥开加密后面的秘密。加密和解密单个文件很简单,要加密整个 USB 驱动盘也不是太困难(如果使用的是图形用户界面工具就更容易了)。对于大多数系统的发布版本来说,在安装过程中就可以对整个 home 目录进行加密。加密是对您的整个 home 目录起作用,然而有些问题就需要特别处理了。例如,您没登陆时就运行的任务在大多数情况下是不会访问您的 home 目录的,但如果您有调度任务需要访问 home 目录的话,应该进行修改,让其访问系统中其它目录的数据。我觉得在安全和便利之中平衡的中庸之道还是加密 USB 驱动盘,然后在上面存储个人资料。

我必须警告您,一但您考虑到安全的问题,就会想要把任何东西都加密起来。这不是什么坏的事情,但是像要对 home 目录加密这种情况,是会碰到一些问题的。如果您使用不同系统的话,跨平台访问也是个大问题。像这种情况,我强烈建议您使用 TrueCrypt。在前期的文章片段里我提到过 TrueCrypt,它是一款开源的,跨平台的加密系统软件。可以对文件、文件夹、分区等等进行加密,同时可以在任何系统中访问加密的数据。像 Windows、Mac 及 Linux 客户端都可以使用。社区也有大力的支持。(LCTT译注:悲惨的是,棱镜门事件之后,TrueCrypt的作者已经放弃了该产品,并且强烈建议大家也不要使用,具体可以参考本站的一些相关消息。所以痛失TrueCrypt之后,我们还有哪些替代品?)

希望对文件进行加密的目的并不是为了隐藏某些东西。就像即使您有个好邻居,最好夜里也得锁门一样,对您的个人数据进行加密也是个很正常的举动。如果您想在网上与大家分享你的 Whiskerton 先生戴着可爱的小豆豆帽子的照片的话,这是您的权利。但其它的人,比如他们索检你硬盘的时候,就不需要让他们看到了。


via: http://www.linuxjournal.com/content/encrypting-your-cat-photos

译者:runningwater 校对:wxy

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

来源:https://linux.cn/article-3328-1.html

Linux:优秀的Linux文本编辑器

想要挑起狂热Linux爱好者之间的激烈争辩吗?那就问问他们最喜欢的文本编辑器是什么吧。在开源社区中,选择一个用来写文本,或者更进一步,用来写代码的编辑器,比选择一个球队或者游戏控制器还要重要。但是任何一个Linux新手都不该为过多的建议和各种各样的煽动而感到焦虑不安,取而代之,先去试着熟悉熟悉一堆不同的文本编辑器吧。所以今天我将要给你建议一个简单主题的列表,里面的编辑器都可以在Linux下编辑文本。这个列表不包括那些成熟的只用来编程的IDE,也不包括那些专门进行LaTex排版的编辑器。如果你对后者感兴趣,我可以建议你去看看这里.

1. Vim & Emacs

Linux:优秀的Linux文本编辑器
Linux:优秀的Linux文本编辑器

让我们直接从这两个“大咖”开始。当有人在一个聊天室里问关于Linux下的编辑器时,会有一个人立马回答Vim,然后会有另外一个说Emacs。(LCTT译注:这就是V党和E党啊~)之所以会这样,理由很充分。这两个都是非常强大的编辑器,有很多的特性,很多插件,很强大的社区支持。如果你一点都不熟悉它们的话,要描述清楚它们强大的功能是有点困难。但是简单来讲,它们允许你在文本中快速移动,简单地做出大量的修改,记录宏以及你能想到基本上任何疯狂的编辑方式。这两个编辑器共同的缺点是,不可避免地花时间去学习。讲完这点之后,我不会陷入到哪一个更好的争论中去,但是我真的想建议每一个人至少学习这两者之一。

Linux:优秀的Linux文本编辑器
Linux:优秀的Linux文本编辑器

2. Sublime Text & Lime & Atom

Linux:优秀的Linux文本编辑器
Linux:优秀的Linux文本编辑器

一款叫做Sublime Text的文本编辑器在过去几年逐渐兴起。一些人可能会将它视为Vim或者Emacs的友好版,专为编程而设计的。事实上,它保持了一些与Vim和Emacs的相似特性。比如,批量编辑和函数跳转都会让人或多或少想起Emacs或者一个充满活力的Vim。然而,它保留了更多的可视性并且更加容易使用。同样,大量的插件吸引大家进行个性化定制。(LCTT译注:实际上,译者认为Sublime Text与其说是像Vim或Emacs,不如说更像是Mac上的编辑器神器textmate。另外,Sublime Text的发展最近已经陷入停滞了。)

Sublime Text唯一的“污点”是它的许可证:如果你只使用开源软件的话,你可以放弃它了。(LCTT译注:但是Sublime Text可以全功能一直试用下去,没有一点区别,只是如果你觉得应该支持的话,付费比较好,虽然挺贵。)为此,最近出现了一个雄心勃勃的克隆版 Lime 。这个软件正处在重度开发当中,但是它的理念是:跟Sublime Text相似的用户体验,但是带着开源的韵味。对于Lime,除了满满的期待没有更多要说的了。

距现在更近的,GitHub以开源形式发布了Atom,展开了与Sublime Text正式的竞争。Atom打包了所有你想要的文件跳转,代码片段使用等特性,提供一个完整特性的编辑器而不是简单的编辑框。使用HTML,CSS和集成Node.js环境,可以轻易地定制文本处理过程,这正是它的魅力所在。这其实已经要涉及到IDE的定义了,我们的列表最多会覆盖到这里。(LCTT译注:好吧,我觉得从Sublime Text转移出来的最佳出口就是Atom。)

Linux:优秀的Linux文本编辑器
Linux:优秀的Linux文本编辑器

3. Gedit & Kate & Mousepad & Leafpad

Linux:优秀的Linux文本编辑器
Linux:优秀的Linux文本编辑器

如果不谈这些超级厉害的神器,我们可以转向我认为的“桌面环境经典版”编辑器。这些编辑器感觉上更加的传统,有些也可以用插件进行强化,但是它们的重点是输入简单。如果你头脑里有一些想法想要在忘记之前赶快记下来(我必须怪罪那些视频游戏让我的注意力变得短暂)。你不需要学习Vim或者Sublime Text的快捷键。你只需要一些空白的地方进行输入。这类编辑器的好处是它们或多或少的和你的桌面环境集成在一起。在这一类编辑器中,Gnome 下的 Gedit 和 KDE下的 Kate 都很好的集成在桌面系统中,可以通过插件进行个性化定制。比如,更容易的进行LaTeX排版。MousepadLeafpad 更适合于轻量级的桌面,比如Xfce和LXDE。它们在某种程度上很像Windows的记事本。所以,如果你需要的是灵活和便捷,请选择它们。

Linux:优秀的Linux文本编辑器
Linux:优秀的Linux文本编辑器

来源:http://xmodulo.com/2014/06/good-text-editor-linux.html

Linux:C编程vim初步配置

我的 .vimrc文件

"********************************************************
"                   一般性配置                          *
"********************************************************
"关闭vim一致性原则
set nocompatible
"显示行号
set number
"设置在编辑过程中右下角显示光标的行列信息
set ruler
"在状态栏显示正在输入的命令
set showcmd
"设置历史记录条数
set history=1000
"设置取消备份 禁止临时文件的生成
set nobackup
set noswapfile
"设置匹配模式
set showmatch
"设置C/C++方式自动对齐
set autoindent
set cindent
"开启语法高亮功能
syntax enable
syntax on
"指定配色方案为256色
set t_Co=256
"设置搜索时忽略大小写
set ignorecase
"配置backspace的工作方式
set backspace=indent,eol,start
"设置在vim中可以使用鼠标
set mouse=a
"设置tab宽度
set tabstop=4
"设置自动对齐空格数
set shiftwidth=4
"设置退格键时可以删除4个空格
set smarttab
set softtabstop=4
"将tab键自动转换为空格
set expandtab
"设置编码方式
set encoding=utf-8
"自动判断编码时 依次尝试以下编码
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
"检测文件类型
filetype on
"针对不同的文件采取不同的缩进方式
filetype indent on
"允许插件
filetype plugin on
"启动智能补全
filetype plugin indent on
"*********************************************************
"                  vundle 配置                           *
"*********************************************************
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
" let Vundle manage Vundle
Bundle 'gmarik/vundle'
" My Bundles here:
Bundle 'tpope/vim-fugitive'
Bundle 'Lokaltog/vim-easymotion'
Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
Bundle 'tpope/vim-rails.git'
Bundle 'taglist.vim'
Bundle 'The-NERD-tree'
Bundle 'Syntastic'
Bundle 'L9'
Bundle 'FuzzyFinder'
Bundle 'Lokaltog/vim-powerline'
Bundle 'Valloric/YouCompleteMe'
"*****************************************************
"                   taglist配置                      *
"*****************************************************
"不显示"press F1 to display help"
let Tlist_Compact_Format=1
"窗口在左侧显示
let Tlist_Use_Right_Window=1
"只显示当前文件的tags
let Tlist_Show_One_File=1
"高亮显示
let Tlist_Auto_Highlight_tag=1
"随文件自动更新
let Tlist_Auto_Update=1
"设置宽度
let Tlist_WinWidth=30
"taglist窗口是最后一个窗口,则退出vim
let Tlist_Exit_OnlyWindow=1
"单击跳转
let Tlist_Use_SingClick=1
"打开关闭快捷键
nnoremap   :TlistToggle
"********************************************************
"                      NERD_Tree 配置                   *
"********************************************************
"显示增强
let NERDChristmasTree=1
"自动调整焦点
let NERDTreeAutoCenter=1
"鼠标模式:目录单击,文件双击
let NERDTreeMouseMode=2
"打开文件后自动关闭
let NERDTreeQuitOnOpen=1
"显示文件
let NERDTreeShowFiles=1
"显示隐藏文件
let NERDTreeShowHidden=1
"高亮显示当前文件或目录
let NERDTreeHightCursorline=1
"显示行号
let NERDTreeShowLineNumbers=1
"窗口位置
let NERDTreeWinPos='left'
"窗口宽度
let NERDTreeWinSize=31
"不显示'Bookmarks' label 'Press ? for help'
let NERDTreeMinimalUI=1
"快捷键
nnoremap   :NERDTreeToggle
"*****************************************************
"           YouCompleteMe配置                        *
"*****************************************************
"leader映射为逗号“,”
let mapleader = ","
"配置默认的ycm_extra_conf.py
let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
"按,jd 会跳转到定义
nnoremap jd :YcmCompleter GoToDefinitionElseDeclaration
"打开vim时不再询问是否加载ycm_extra_conf.py配置
let g:ycm_confirm_extra_conf=0
"使用ctags生成的tags文件
let g:ycm_collect_identifiers_from_tag_files = 1
"*****************************************************
"           Syntastic配置                            *
"*****************************************************
let g:Syntastic_check_on_open=1

  

效果图

Linux:C编程vim初步配置
Linux:C编程vim初步配置
Linux:C编程vim初步配置
Linux:C编程vim初步配置

用到的主要插件:

  • vundle(用于插件管理)
  • taglist(显示代码结构)
  • NERD_Tree(树形目录)
  • YouCompleteMe(智能补全)
  • Syntastic( 语法检查)

 

学习时间不长,如有问题请指出!感谢!

来源:https://linux.cn/article-3330-1.html

Linux:保护你的Linux系统的九个老生常谈

在现在这个世道中,保障基于Linux的系统的安全是十分重要的。但是,你得知道怎么干。一个简单反恶意程序软件是远远不够的,你需要采取其它措施来协同工作。那么试试下面这些手段吧。

Linux:保护你的Linux系统的九个老生常谈
Linux:保护你的Linux系统的九个老生常谈

1. 使用SELinux

SELinux是用来对Linux进行安全加固的,有了它,用户和管理员们就可以对访问控制进行更多控制。SELinux为访问控制添加了更细的颗粒度控制。与仅可以指定谁可以读、写或执行一个文件的权限不同的是,SELinux可以让你指定谁可以删除链接、只能追加、移动一个文件之类的更多控制。(LCTT译注:虽然NSA也给SELinux贡献过很多代码,但是目前尚无证据证明SELinux有潜在后门)

2. 订阅漏洞警报服务

安全缺陷不一定是在你的操作系统上。事实上,漏洞多见于安装的应用程序之中。为了避免这个问题的发生,你必须保持你的应用程序更新到最新版本。此外,订阅漏洞警报服务,如SecurityFocus

3. 禁用不用的服务和应用

通常来讲,用户大多数时候都用不到他们系统上的服务和应用的一半。然而,这些服务和应用还是会运行,这会招来攻击者。因而,最好是把这些不用的服务停掉。(LCTT译注:或者干脆不安装那些用不到的服务,这样根本就不用关注它们是否有安全漏洞和该升级了。)

4. 检查系统日志

你的系统日志告诉你在系统上发生了什么活动,包括攻击者是否成功进入或试着访问系统。时刻保持警惕,这是你第一条防线,而经常性地监控系统日志就是为了守好这道防线。

5. 考虑使用端口试探

设置端口试探(Port knocking)是建立服务器安全连接的好方法。一般做法是发生特定的包给服务器,以触发服务器的回应/连接(打开防火墙)。端口敲门对于那些有开放端口的系统是一个很好的防护措施。

下面是来自 http://www.portknocking.org/ 的示意图:

Linux:保护你的Linux系统的九个老生常谈
Linux:保护你的Linux系统的九个老生常谈
Linux:保护你的Linux系统的九个老生常谈
Linux:保护你的Linux系统的九个老生常谈
Linux:保护你的Linux系统的九个老生常谈
Linux:保护你的Linux系统的九个老生常谈
Linux:保护你的Linux系统的九个老生常谈
Linux:保护你的Linux系统的九个老生常谈

6. 使用Iptables

Iptables是什么?这是一个应用框架,它允许用户自己为系统建立一个强大的防火墙。因此,要提升安全防护能力,就要学习怎样一个好的防火墙以及怎样使用Iptables框架。

7. 默认拒绝所有

防火墙有两种思路:一个是允许每一点通信,另一个是拒绝所有访问,提示你是否许可。第二种更好一些。你应该只允许那些重要的通信进入。(LCTT译注:即默认许可策略和默认禁止策略,前者你需要指定哪些应该禁止,除此之外统统放行;后者你需要指定哪些可以放行,除此之外全部禁止。)

8. 使用入侵检测系统

入侵检测系统,或者叫IDS,允许你更好地管理系统上的通信和受到的攻击。Snort是目前公认的Linux上的最好的IDS。

9. 使用全盘加密

加密的数据更难窃取,有时候根本不可能被窃取,这就是你应该对整个驱动器加密的原因。采用这种方式后,如果有某个人进入到你的系统,那么他看到这些加密的数据后,就有得头痛了。根据一些报告,大多数数据丢失源于机器被盗。


via: http://www.efytimes.com/e1/fullnews.asp?edid=141368

译者:GOLinux 校对:wxy

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

来源:https://linux.cn/article-3332-1.html

Linux:使用Linux的lsblk命令列出块设备信息

lsblk(列出块设备)命令用于列出所有可用块设备的信息,但是,它不会列出RAM盘的信息。块设备有硬盘,闪存盘,CD-ROM等等。

如何安装lsblk

lsblk命令包含在util-linux-ng包中,现在该包改名为util-linux。这个包带了几个其它工具,如dmesg。要安装lsblk,请在此处下载util-linux包。

Fedora中安装lsblk

Fedora用户可以通过以下方法来安装该包:

$ sudo yum install util-linux-ng

该命令有几个选项:

默认选项

lsblk命令默认情况下将以树状列出所有块设备。打开终端,并输入以下命令:

$ lsblk

输出如下:

Linux:使用Linux的lsblk命令列出块设备信息
Linux:使用Linux的lsblk命令列出块设备信息

7个栏目名称如下:

NAME : 这是块设备名。

MAJ:MIN : 本栏显示主要和次要设备号。

RM : 本栏显示设备是否可移动设备。注意,在本例中设备sdb和sr0的RM值等于1,这说明他们是可移动设备。

SIZE : 本栏列出设备的容量大小信息。例如298.1G表明该设备大小为298.1GB,而1K表明该设备大小为1KB。

RO : 该项表明设备是否为只读。在本案例中,所有设备的RO值为0,表明他们不是只读的。

TYPE :本栏显示块设备是否是磁盘或磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。(LCTT译注,此处sr0的RO项没有标记为1,可能存在一些错误?)

MOUNTPOINT : 本栏指出设备挂载的挂载点。

列出所有设备

默认选项不会列出所有空设备。要查看这些空设备,请使用以下命令:

$ lsblk -a

该选项将列出所有设备,包括空设备在内。

lsblk bytes sda

列出设备权限和属主

lsblk命令也可以用于列出一个特定设备的拥有关系,同时也可以列出组和模式。可以通过以下命令来获取这些信息:

$ lsblk -m

lsblk  permissions

列出指定设备

该命令也可以只获取指定设备的信息。这可以通过在提供给lsblk命令的选项后指定设备名来实现。例如,你可能对了解以字节显示你的磁盘驱动器大小比较感兴趣,那么你可以通过运行以下命令来实现:

$ lsblk -b /dev/sda

或者,以下命令等同:

$ lsblk --bytes /dev/sda

以列表形式列出不带头的设备

你也可以组合几个选项来获取指定的输出。例如,你也许想要以列表格式列出设备,而不是默认的树状格式。你可能也对移除不同栏目名称的标题感兴趣。可以将两个不同的选项组合,以获得期望的输出,命令如下:

$ lsblk -nl

或者,你可以使用下面的长选项,它们也能给出相同的输出。

$ lsblk --noheadings --list

lsblk no header and list

列出SCSI设备

要获取SCSI设备的列表,你只能使用-S选项。该选项是大写字母S,不能和-s选项混淆,该选项是用来以颠倒的顺序打印依赖的。

$ lsblk -S

lsblk列出SCSI设备,而-s是逆序选项(LCTT译注:将设备和分区的组织关系逆转过来显示),其将给出如下输出。输入命令:

$ lsblk -s

或者

$ lsblk --inverse
Linux:使用Linux的lsblk命令列出块设备信息
Linux:使用Linux的lsblk命令列出块设备信息

你可以使用lsblk来获取关于你的块设备的更多信息,自己把它试着显示出来吧!


via: http://linoxide.com/linux-command/linux-lsblk-command/

译者:GOLinux 校对:wxy

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

来源:https://linux.cn/article-3340-1.html

Linux:如何在 Linux/Unix/Mac 下清除 DNS 查询缓存

我在Linux下使用拨号连接上网,频繁的拨号断线造成DNS的问题。我如何在Linux/Unix发行版下使用shell命令清除DNS缓存?

在MS-Windows下,你可以使用ipconfig命令来清除dns缓存。然而,Linux和Unix提供了不同的方法来清除缓存。Linux可以运行 nscd 或者 BIND 或者 dnsmasq 作为名称服务缓存守护进程。大型或者工作组服务器可能使用BIND或者dnsmasq作为专用缓存服务器来加速查询。

如何: 清除 nscd dns 缓存

Nscd 会缓存libc发起的名称服务的请求。如果把检索NSS数据看做很慢,那么nscd能够显著加快连续访问同一数据的速度,并能提高整个系统的性能。只需重启nscd即可刷新缓存:

$ sudo /etc/init.d/nscd restart

# service nscd restart

# service nscd reload

这个守护进程给最常用的名称服务请求提供了高速缓存。默认的配置文件/etc/nscd.conf,其决定了高速缓存守护进程的行为。

清除 dnsmasq dns 缓存

dnsmasq的是一个轻量级的DNS、TFTP和DHCP服务器。它的目的是给局域网提供配对的DNS和DHCP服务。 dnsmasq接受DNS查询,并从一个小的本地高速缓存应答它们或将其转发到一个真正的递归DNS服务器。该软件也被安装在很多便宜的路由器上来缓存DNS查询。只需重新启动dnsmasq的服务来清除DNS缓存:

$ sudo /etc/init.d/dnsmasq restart

或者

# service dnsmasq restart

清除BIND缓存服务器的dns缓存

一台BIND缓存服务器从另一台服务器(区域主)响应主机的查询而获得信息,然后保存(缓存)数据到本地。您所要做的就是重启BIND以清除其缓存:

# /etc/init.d/named restart

你也可以使用下面rndc命令来清除所有的缓存:

# rndc restart

或者

# rndc exec

BIND v9.3.0 及其以上版本支持一个清除一个特定域名的所有记录缓存的命令:rndc flushname。本例中刷新cyberciti.biz相关域的所有记录:

# rndc flushname cyberciti.biz

同样也可以清除BIND View。比如,LAN和WAN的View可以用下面的命令清除:

# rndc flush lan
# rndc flush wan

给 Mac OS X Unix 用户的提示

Mac下用root用户输入下面的命令:

# dscacheutil -flushcache

或者

$ sudo dscacheutil -flushcache

如果你正在使用OSX 10.5 或者更早的版本,尝试使用下面的命令:

lookupd -flushcache

关于 /etc/hosts 文件的一个提示

/etc/hosts用作静态查询主机的表格。你需要在类Unix操作系统下依据你的要求移除并且/或者更新它:

# vi /etc/hosts

示例输出:

127.0.0.1   localhost
127.0.1.1   wks01.WAG160N   wks01
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
10.37.34.2     build
192.168.1.10    nas01
192.168.1.11    nas02
192.168.1.12    nas03
#192.168.2.50   nfs2.nixcraft.net.in nfs2
#192.168.2.51   nfs1.nixcraft.net.in nfs1
172.168.232.50  nfs1.nixcraft.net.in nfs1
172.168.232.51  nfs2.nixcraft.net.in nfs2
192.168.1.101   vm01

参考

相关: 在Windows Vista / XP中用ipconfig 命令清除 DNS 缓存


via: http://www.cyberciti.biz/faq/rhel-debian-ubuntu-flush-clear-dns-cache/

译者:geekpi 校对:wxy

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

来源:https://linux.cn/article-3341-1.html

Linux:命令行星期二 —— 第二篇

Hi,极客们!

让我们来更新一下我们的记忆。上周,我们学习了一些基础命令,了解了shell是什么,同时介绍了我们CLI的星期二系列。

今天的菜单将提供点别的东西:通过文件系统导航。

现在,我设法找到最好的图片是从一个叫devopsbootcamp的网站。你可以在上面找到他们其余的教程。但无论如何,这是一个关于Linux根文件系统的看起来非常不错的图。

Linux:命令行星期二 —— 第二篇
Linux:命令行星期二 —— 第二篇

例如,在上面的图片说明中,你的用户目录(你通常用来存储你的电影,音乐,文档等)是位于/home文件夹下。 /home文件夹位于/。然后,/下有个 /etc 文件夹,其中文件大部分为配置文件。无论如何,你可以在这里找到详细的描述,因为我们将进入这些文件夹来了解他们的功能,直到我们开始使用和配置它们。今天是仅用于导航。而关于这一点,让我们来开始今天的第一个命令…

pwd

pwd,或者 ‘Print Working Directory’,当你觉得在文件丛林之中迷失了方向时是一个非常有用的命令。在任何给定时刻,键入pwd命令,瞧!这是你到达这个文件夹的完整路径。在电影《异次元杀阵(The Cube)》里的那些家伙总在用它,这些笨蛋!

Linux:命令行星期二 —— 第二篇
Linux:命令行星期二 —— 第二篇

想象一下,自己在一个巨大的公寓里面从一个房间走到另一个房间房间,迷路了。 pwd就像面包屑指引着你到你的出发点,这样你就不会在文件夹迷宫里面失去你的方向!

Linux:命令行星期二 —— 第二篇
Linux:命令行星期二 —— 第二篇

cd

现在你学习了如果想知道自己在哪个目录的pwd命令的用法。现在,你要做的下一步骤就是移动到另一个目录。比方说,你在你的home文件夹下有一个文件夹(目录),你要将你的绝密的东东放到里面。要这样做,你需要使用用’cd’命令。 cd,或‘Change Directory’,将改变所处目录的位置。你怎么使用它呢?简单,键入cd和你的文件夹路径。比方说,例如,你想从你的主文件夹进入你的Hello Kitty图片集。你输入‘cd /home/username/Hello Kitty’。

正如你看到的,我们并没有只使用文件夹名称的空格键。这是因为终端将无法识别它。每当你要导航到它的名称中有空格的文件夹,你用反斜杠字符,后跟空格代替它。您也可以不使用反斜杠+空格选项,只是把整个文件夹名称加引号,例如,cd /home/username/ “Hello Kitty”。

Linux:命令行星期二 —— 第二篇
Linux:命令行星期二 —— 第二篇

自己尝试一下。使用cd导航到不同的目录,同时,键入pwd命令,看看一切工作是否如期望的那样。

肖茨先生的快捷键

肖茨先生提醒我们也有一些可用的快捷键。

如果你仅键入cd,不带路径,你的终端将从你的工作目录(无论是不是)切换到你的/home文件夹。

同样地,如果你键入 cd ~user_name 它会带你到你指定的特定用户的主文件夹。

下周

下周,我们将进入到下一章 – 我们将学习如何列出文件和目录,查看文本文件和文件的内容,因此会比之前我们已经学习的有更多的工作,但我希望你将会有足够的时间。一条命令又一条命令,如果你没有时间自己学习的话,那让我们在几个月内一起学习基础知识吧!

同时,记得…

…玩得开心!

P.S.:感谢bwl的评论,我们修正了一个在目录名称中包含空格的文本的一个错误。

P.P.S:GreatEmerald还增加了有关文件层次结构的一些新信息。您可以在意见中阅读。

感谢你们的贡献和更正


via: https://news.opensuse.org/2014/06/24/command-line-tuesdays-part-two/

译者:乌龙茶 校对:wxy

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

来源:https://linux.cn/article-3342-1.html

Linux:Systemd服务简介

systemd 是 Linux 下一个与 SysV 和 LSB 初始化脚本兼容的系统和服务管理器。systemd 使用 socket 和 D-Bus 来开启服务,提供基于守护进程的按需启动策略,保留了 Linux cgroups 的进程追踪功能,支持快照和系统状态恢复,维护挂载和自挂载点,实现了各服务间基于从属关系的一个更为精细的逻辑控制,拥有前卫的并行性能。systemd 无需经过任何修改便可以替代 sysvinit 。

Linux:Systemd服务简介
Linux:Systemd服务简介

systemd 基本工具

查看和控制systemd的主要命令是systemctl。该命令可用于查看系统状态和管理系统及服务。详见man 1 systemctl。

小贴士: 在 systemctl 参数中添加 -H <用户名>@<主机名> 可以实现对其他机器的远程控制。该过程使用 SSH 链接。注意: systemadm 是 systemd 的官方图形前端。由 AUR 中的软件包 systemd-ui-git 提供。

分析系统状态

输出激活的单元:

$ systemctl

以下命令等效:

$ systemctl list-units

输出运行失败的单元:

$ systemctl --failed

所有可用的单元文件存放在 /usr/lib/systemd/system/ 和 /etc/systemd/system/ 目录(后者优先级更高)。查看所有已安装服务:

$ systemctl list-unit-files

使用单元

一个单元配置文件可以描述如下内容之一:系统服务(.service)、挂载点(.mount)、sockets(.sockets 、系统设备、交换分区/文件、启动目标(target)、文件系统路径、由 systemd 管理的计时器。详情参阅 man 5 systemd.unit.

使用 systemctl 控制单元时,通常需要使用单元文件的全名,包括扩展名(例如 sshd.service)。但是有些单元可以在systemctl中使用简写方式。

  • 如果无扩展名,systemctl 默认把扩展名当作 .service。例如 netcfg 和 netcfg.service 是等价的。
  • 挂载点会自动转化为相应的 .mount 单元。例如 /home 等价于 home.mount。
  • 设备会自动转化为相应的 .device 单元,所以 /dev/sda2 等价于 dev-sda2.device。

立即激活单元:

# systemctl start <单元>

立即停止单元:

# systemctl stop <单元>

重启单元:

# systemctl restart <单元>

命令单元重新读取配置:

# systemctl reload <单元>

输出单元运行状态:

$ systemctl status <单元>

检查单元是否配置为自动启动:

$ systemctl is-enabled <单元>

开机自动激活单元:

# systemctl enable <单元>

注意: 如果服务没有Install段落,一般意味着应该通过其它服务自动调用它们。如果真的需要手动安装,可以直接连接服务,如下(将foo替换为真实的服务名):

# ln -s /usr/lib/systemd/system/foo.service /etc/systemd/system/graphical.target.wants/

取消开机自动激活单元:

# systemctl disable <单元>

显示单元的手册页(必须由单元文件提供):

# systemctl help <单元>

重新载入 systemd,扫描新的或有变动的单元:

# systemctl daemon-reload

电源管理

安装 polkit 后才可使用电源管理。

如果你正登录在一个本地的systemd-logind用户会话,且当前没有其它活动的会话,那么以下命令无需root权限即可执行。否则(例如,当前有另一个用户登录在某个tty),systemd 将会自动请求输入root密码。

重启:

$ systemctl reboot

退出系统并停止电源:

$ systemctl poweroff

待机:

$ systemctl suspend

休眠:

$ systemctl hibernate

混合休眠模式(同时休眠到硬盘并待机):

$ systemctl hybrid-sleep

来源:https://wiki.archlinux.org/index.php/Systemd_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

Linux:安装Linux Mint 17后要做的20件事

Linux Mint 17 Qiana Cinnamon

Linux Mint 17已经发布,定名为Qiana。Mint是Linux最佳发行版之一,它定位于桌面用户,关注可用性和简洁。它携带了风格迥异的桌面环境,如Mate以及Cinnamon,并基于不同的发行版,如Ubuntu或Debian。

在本文中,我们使用的是Linux Mint 17的cinnamon版本。要获取更多关于Cinnamon版本的信息(包括下载链接),可以访问 – http://linux.cn/article-3260-1.html

下载适合你系统的正确的iso,烧录成dvd,或者也可以制作成usb启动盘来启动。安装完毕,是时候来使用一些优化工具和基本应用程序来优化系统性能和体验,让你系统激情澎湃吧!

1. 更新系统

第一件事情是重中之重,就是让你的系统保持时刻最新。赶紧在终端中运行以下命令吧。

$ sudo apt-get update
$ sudo apt-get upgrade

或者,你也可以使用更新管理器(mintUpdate)来干这事,你可以在菜单(Menu)> 管理(Administration)中找到它。

Linux:安装Linux Mint 17后要做的20件事
Linux:安装Linux Mint 17后要做的20件事

2. 找回旧壁纸

每个Linux Mint发行版都自带了一套最新的漂亮的壁纸。但是,你也可以安装先前版本中的壁纸。

$ sudo apt-get install mint-backgrounds-*

3. 多安装些浏览器

Linux Mint 17默认安装了firefox,你也可以获得更多的浏览器,如Chronium和Google Chrome。

Chronium浏览器可以在仓库中获取。

$ sudo apt-get install chromium-browser

至于Google Chrome,请访问google.com/chrome下载deb包,并使用gdebi来安装。

# 64 位
$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
$ sudo gdebi google-chrome-stable_current_amd64.deb
# 32 位
$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_i386.deb
$ sudo gdebi google-chrome-stable_current_i386.deb

4. 安装Flash Player

Mint上默认安装adobe flash插件包(adobe-flashplugin),因此,你可以在Firefox中畅玩flash游戏,也可以尽情享受网页版视频了。

Google Chrome现在使用了基于flash player的Pepper API,而且该插件也内建于Chrome中,因此,你也不需要为它额外做任何事情了。

然而对于Chronium,基于flash player的Pepper没有被囊括进来(因为它不是个自由组件),所以你需要手动安装了。

安装以下包来为Chronium安装pepper flash player。它会自动从Google Chrome浏览器中下载pepper flash player并加入到Chronium中。

$ sudo apt-get install pepperflashplugin-nonfree

上面的命令应该帮你将flash player安装到Chronium里头了。万一下载失败,你可以使用下面的命令重新进行安装。

$ sudo dpkg-reconfigure pepperflashplugin-nonfree

5. 安装多媒体解码

受限的额外包可以帮你安装大多数基本的解码,可以让你播放像mp3这样的格式。它也会帮你安装微软字体。

$ sudo apt-get install ubuntu-restricted-extras

要启用加密dvd的回放,请安装以下包。

$ sudo apt-get install libdvdread4
$ sudo /usr/share/doc/libdvdread4/install-css.sh

6. 安装专有驱动

如果你有一张Nvidia或者ati的图形卡,或者broadcom的无线网卡,那么请安装厂商提供的专有驱动,这些驱动会为你带来最佳的硬件性能。

要安装Nvidia驱动,你可以参照先前的这篇文章 :如何在Linux Mint上安装最新的Nvidia驱动

7. 安装Dropbox

Linux mint仓库已经提供了dropbox的客户端软件包,所以你不必满世界找了。

$ sudo apt-get install dropbox python-gpgme

如果你还是比较喜欢从官方网站下载,那么翻墙可直达https://www.dropbox.com/install?os=lnx,请遵照说明下载用于Ubuntu的deb安装包。(LCTT译注:墙内用户还是忽视此条吧。)

Copy是另外一个云存储解决方案,它也有本地Linux客户端。详情可查阅copy.com,它也有ppa仓库

8. Skype

Skype可以在Ubuntu canonical合作仓库中找到。

$ sudo apt-get install skype

9. 安装rar和其它归档工具

要想在Nemo这样的文件管理器中通过上下文菜单创建rar归档,请安装rar工具。安装rar的同时,也可安装其它几个包以增加对其它归档格式的支持。

$ sudo apt-get install unace p7zip-rar sharutils rar arj lunzip lzip

10. 安装剪贴板管理器

剪贴板管理器允许你维护和访问通过像Ctr+C这样的操作拷贝的项目历史,gnome下有很多的剪贴板管理器,像diodon,clipit,glipper,parcellite。

Diodon在cinnamon桌面上似乎存在一些问题,在历史列表增长时会出现滚动条。Clipit和Gipper工作得很好,你也可以安装

$ sudo apt-get install glipper
# 或者
$ sudo apt-get install clipit

然后,你可以从应用程序菜单中启动它们,它们应该会在你每次登录时启动。

来源:https://linux.cn/article-3353-1.html

Linux:逝去的纪念:如何在Linux中同步微软 OneDrive

【编者注】:本文译文完成之后不久,OneDrive 就成了中国人的昨日黄花了。编者想了想,还是发出来罢,仅以此文纪念我们逝去的这个、那个、以及这些和那些。也许若干年后我们回忆起来,我们曾经有过那么多那些,而当时却挑三拣四,没有珍惜,如果再给我一次机会……


OneDrive(以前称为SkyDrive)是微软的一个广受欢迎的云存储产品。目前OneDrive为每一个新注册用户提供7GB免费存储空间。正如你所想,OneDrive与微软其他软件产品很好地集成。微软还提供了一个独立的OneDrive客户端,它会自动备份照相机拍摄的图片和视频到OneDrive。但你猜怎么着。该客户端可用于除Linux的各大PC/移动平台。

“OneDrive在任何设备,任何时间”?哦,不,这还不行。

不过不要失望。开源社区已经已经拿出了解决方案。 Boilermaker写的onedrive-d可以完成这项工作。作为监测守护进程运行,onedrive-D可自动将本地文件夹同步到OneDrive云存储。

I在本教程中,我将介绍如何在Linux上使用onedrive-d同步微软OneDrive

在linux上安装onedrive-d

虽然onedrive-d最初是为Ubuntu/ Debian开发的,但它仍然支持CentOS/ Fedora/ RHEL。

安装就像输入下面的命令一样容易。

$ git clone https://github.com/xybu92/onedrive-d.git
$ cd onedrive-d
$ ./inst install

第一次配置

安装之后,你需要进行一次性配置来授予onedrive-d对您OneDrive账户的读/写权限。

首先,创建将用于对远程OneDrive账户同步的本地文件夹。

$ mkdir ~/onedrive

接着运行下面的命令开启一次性配置。

$ onedrive-d

它接着会弹出如下onedrive-d的设置窗口。在“Location”选项中,选择你之前创建的本地文件夹。在“Authentication”选项中,你会看见“You have not authenticated OneDrive-d yet”(“你还没有授权OneDrive-d”)的信息。现在点击”Connect to OneDrive.com”按钮。

Linux:逝去的纪念:如何在Linux中同步微软 OneDrive
Linux:逝去的纪念:如何在Linux中同步微软 OneDrive

它会弹出一个新窗口来要求你登录OneDrivecom。

Linux:逝去的纪念:如何在Linux中同步微软 OneDrive
Linux:逝去的纪念:如何在Linux中同步微软 OneDrive

登录OneDrive.com之后,你会被要求授权onedrive-d访问。选择“Yes”。

Linux:逝去的纪念:如何在Linux中同步微软 OneDrive
Linux:逝去的纪念:如何在Linux中同步微软 OneDrive

回到先前的设置窗口,你会看到之前的状态已经变成了You have connected to OneDrive.com”(“你已经连接到了OneDrive.com”)。点击“OK”完成。

Linux:逝去的纪念:如何在Linux中同步微软 OneDrive
Linux:逝去的纪念:如何在Linux中同步微软 OneDrive

与OneDrive同步一个本地文件夹

这里有两种方法来使用onedrice-d将本地文件夹与OneDrive存储同步。

一种是“手动使用命令行来同步OneDrive”。就是当你需要与你的OneDrive账户同步时运行如下命令:

$ onedrive-d

onedrive-d接着将扫描本地文件夹与OneDrive帐户的内容并使两者同步。这意味着要么上传一个在本地文件夹新添加的文件,或者从远程OneDrive帐户下载最新发现的文件。如果你从本地文件夹删除任何文件,相应的文件将自动在与OneDrive帐户同步后被删除。反之亦然。

一旦同步完成,你可以使用Ctrl-C中断onedirve-d的前台进程。

Linux:逝去的纪念:如何在Linux中同步微软 OneDrive
Linux:逝去的纪念:如何在Linux中同步微软 OneDrive

另一种方法是将onedrive-d作为一个始终运行的守护进程在开机时自动启动。在这种情况下,后台守护进程会同时监视本地文件夹和OneDrive账户,以使它们保持同步。要做到这一点,只需将onedrive-D加入到你桌面的自动启动程序列表中就行了。

当onedrive-D作为守护进程在后台运行时,你会在桌面状态栏中看到OneDrive图标,如下图所示。每当同步更新被触发,你就会看到一个桌面通知。

Linux:逝去的纪念:如何在Linux中同步微软 OneDrive
Linux:逝去的纪念:如何在Linux中同步微软 OneDrive

要注意的是:根据作者所言,onedrive-d仍在积极开发中。这并不能用于任何形式的生产环境。如果您遇到任何bug,请随时提交一份bug报告。你的贡献,笔者将不胜感激。


via: http://xmodulo.com/2014/06/sync-microsoft-onedrive-linux.html

译者:geekpi 校对:wxy

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

来源:https://linux.cn/article-3362-1.html

Linux:Markdown的各种扩展

Markdown在标准语法(http://daringfireball.net/projects/markdown/syntax )之外,还支持各种扩展。

PHP Markdown Extra

Markdown的php解析与实现,并且增加了许多有用的扩展。PHP Markdown Extra其中几个比较重要的改进有:

  • 支持在html块元素中插入markdown语法
  • 支持为一些元素添加id或class,比如为header添加id属性,用带锚点的链接导航。例如:
[Link back to header 1](#header1)
Header 1            {#header1}
========
## Header 2 ##      {#header2}

支持元素包括header、code block、link、image

  • 支持将代码块用`或者~包起来,这样可以避免一些二义,还可以为代码块添加id或class
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{.html #example-1}

paragraph emphasis ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  • 支持手写的表格:
| Function name | Description                    |
| ------------- | ------------------------------ |
| `help()`      | Display the help window.       |
| `destroy()`   | **Destroy your computer!**     |
  • 支持dl和dt在markdown中的对应语法
  • 支持脚注引用
That's some text with a footnote.[^1]
[^1]: And that's the footnote.
  • 支持专有名词abbr
  • 避免下划线出现在单词中间,导致斜体输出

Maruku

在”始作俑者PHP Markdown Extra”后,很多基于Ruby的Markdown解释器开始浮现。其中,Maruku号称:

  • 支持原生Markdown
  • 支持所有PHP Markdown Extra的特性
  • 支持新的元数据语法,实际上就是给元素添加属性的能力
  • 支持公式格式输出

Maruku的语法详见这里

不过,该项目已经停止维护了。

kramdown

同样是ruby开发的解释器,kramdown吸取了Maruku几乎所有的特点,功能更为强大。其中有特点的功能有:

  1. 改进了一些二义语法
  2. 引入EOB标记^作为块元素的分隔符
  3. 手写table的语法更加强大一些,支持table中的header和footer
  4. 同样支持ALD(Attribute List Definitions属性列表定义)
  5. 还支持注释,以及在转化时配置一些转化选项

Github-Page推荐使用这个解释器

RDiscount

RDiscount又是一个基于Ruby开发的解释器,不过它是基于Discount的语法移植的,所以语法规则需要参考Discount。其语法支持几种上面没有提到过的特性:

  • 文本居中,即输出:
  • 图片大小定义: ![dust mite](http://dust.mite =150×150)
  • 输出alpha列表:

    Redcarpet

    Redcarpet是一个转化库,可以在标准Markdown的基础上,配置一些额外的功能:

    • 单词中间的_不处理
    • 转化PHP-Markdown风格的手写表格
    • 转化PHP-Markdown风格的带包含的代码块,也可禁用标准markdown的代码块语法
    • 自动link生成
    • 删除线支持:~~good~~
    • 高亮标签通过==highlighted==输出
    • 引用标签通过”quote”输出
    • 转化PHP-Markdown风格脚注
    • 一些二义性的约束支持

    Github支持

    Github Page对于上述的基于Ruby的markdown是支持的,从这里可以看到。另外,Github对于Issue、comments等,还定义了GFM(GitHub Flavored Markdown),其中的语法一般基本来源于上面的提到的东西。除此之外,github还支持一些额外的特性:

    • 支持把列表变成带勾选框的任务列表
    - [x] @mentions, #refs, [links](), **formatting**, and tags are supported
    - [x] list syntax is required (any unordered or ordered list supported)
    - [x] this is a complete item
    - [ ] this is an incomplete item
    • 站内对分支、问题、用户等对象的直接引用
    • 表情 

     

    来源:http://www.pchou.info/open-source/2014/07/07/something-about-markdown.html

    Linux:最佳编程字体:M+

    程序员的最佳等宽字体是 M+。

    Linux:最佳编程字体:M+
    Linux:最佳编程字体:M+

    一个偶然机会遇到了这个字体,在命运多舛的  kod 编辑器体验了。这个字体非比寻常,我坚持这个选择已有三年多时间了。

    // 编注:kod 一个面向在 OS X 平台开发的编辑器。

    我看过很多讲编程字体的文章(《10个不错的编程等宽字体》《5个最佳编程字体》),但这个可爱的字体却没有上榜。

    Linux:最佳编程字体:M+
    Linux:最佳编程字体:M+

    在 Retina 屏幕下,笔画纤细,宽度纤瘦看起来很不错,M+ 字体超凡的纤细,几乎就是一种 stick字体。我只用 Retian 设备,低分辨率时诸如 Terminus 这样的位图字体更好。

    Linux:最佳编程字体:M+
    Linux:最佳编程字体:M+

    M+ 比普通字体更窄,所以每行 80 字符还不到我屏幕的一半,所以我可以在 vim 垂直方向打开两个文件(或更多)。

    Linux:最佳编程字体:M+
    Linux:最佳编程字体:M+

    这个字体覆盖了基本拉丁语、拉丁文补充-1、拉丁文扩展-A、日语字符。除此之外,少数诸如 DejaVu 一类的等宽字体才有这么高的覆盖率。

    Linux:最佳编程字体:M+
    Linux:最佳编程字体:M+

    这很分明:数字 0 有一个斜杠,以区别小写字母 O;数字 1、大写字母 I 和小写字母 l 都容易区分。

    想尝试一下么?M+ 字体完全免费并开源,可以从 SourceForge 下载

    来源:http://blog.jobbole.com/73327/

    Linux:centos7.0体验与之前版本的不同

    【编者注】本文作者作为一个CentOS 6过来的系统管理员,在第一次体验CentOS 7时,种种不适,不禁泪目。。。

    今天下午,没事干,在一台机器上装了一个centos7玩一玩,发现与之前版本有很大不同,不知道rhel7是不是也是这样,毕竟现在centos属于redhat了。

    装机

    首先是装机时,以前的rhel一系的(包括centos,fedora)选包都可以全选的,但现在是只能单选一项了,有子选项重复的;当装到选择分区时,centos7推荐的分区是xfs,而不是之前的ext(2,3,4)一系了;装机其他大致一样。

    初次启动

    装完机后,开机进系统的界面换了,乍一看以为是两个内核,原来有一个是rescue选择,而且按e后,会发现所有的grub.conf的信息全出来了,好不容易找到内核启动的地方,写了个 1(要进单用户模式),然后进了rescue模式。

    字符界面

    进系统后,是图形界面,想进字符界面,结果找到/etc/inittab,发现几乎是个空文件,文件中提示想改runlevel的话,可以把/lib/systemd/system/runlevel*.target  软连到 /etc/systemd/system/default.target下(当然考过来,覆盖也行),试了一下还行,能改到字符界面runlevel3。

    配置网络和主机名

    然后,想配置网络,进/etc/sysconfig/network-script/一看,我靠,网卡改名了enp1s5,好有趣,配置完网络后改主机名, 到/etc/sysconfig/network去改名字,发现这个文件也是空的,按原6版本的去修改,重启后没效果,man了一下hostname, 发现7中改名要到/etc/hostname去改名字。

    本地yum源和挂载

    接着,想配置一个本地yum源,配上后要挂光盘,手动挂上了,然后直接echo“mount ……”到rc.local中,毕竟是启动执行脚本,重启之后竟然没挂上,进去rc.local中看了一下,7中竟然要手动的把chmod +x rc.local, 是的,要手动加执行权限,难道我之前装的6以前的系统中这个都要手动加执行权限,我不记得啊!!!! 当然,加了权限后,开机后启动执行了rc.local的mount命令。

    LVM和xfs

    后来,想着装一个lvm玩玩,于是啊就分区,格式化(特意格式化为了xfs),pv,vg,lv一步一步,都没问题,然后想着放大,缩小,这时出问题了,执行resize2fs时,怎么一直报superblock什么的出错,这是怎么回事,然后man resize2fs一下,发现这命令只支持ext的文件系统,我艹,那我装系统是怎么是lvm的,这个问题我还没解决,应该有解决方法。

    dhcp和服务

    接着,想着装一个dhcp玩玩,惊奇的发现所有dhcp的包装上之后,不能service dhcpd start,然后发现/etc/init.d/中竟然没一个dhcp类似的东西,毕竟6之前有dhcpd,dhcpd6,dhcrelay的,然后发现 /sbin/dhcpd有启动文件,难道,难道,以后的服务想service启,都要手动自己编?错了,是在/usr/lib/systemd/system/dhcpd.service,还要修改好多,然后加权限,执行service 服务  restart/stop。。。。。。可以,但是指向了systemctl  restart/start/stop   服务.service

    iptables

    又发现iptables这次也不是作为一个服务在/etc/init.d/下面了,/sbin下有;

    然后,然后,就没有然后了,或许,真的是或许,发现新东西,再在这个日志上更新吧,真的是或许。

    对了,我还发现/etc/sysctl.conf也空了,想做个路由转发都要到/proc/sys/net下

     

    来源:https://linux.cn/article-3371-1.html

    Linux:适合新用户的最佳的Linux发行版

    这个争论无疑给许多Linux用户带来了麻烦。争论的焦点一般不是哪个发行版是真正最适合新用户的,而是哪个发行版受这些争论者的喜爱。如果我们撇开个人喜爱,我们会看到更清楚的一面。但即使这样,明确的结论也会受到被新用户的需求和期望的影响。考虑到这点,我决定采取一个不同的方法来找出“对新用户来说最好的发行版”。我评判最好发行版的标准不仅是易用,而且还要具有由日益增长的移动界面风格所带来的现代设计理念。

    对于这次评测,我们对发行版有如下要求:

    • 非常友好
    • 包括,开箱即用,所有常用的应用程序
    • 包括某个形式的应用程序商店
    • 提供一个时尚的用户界面

    让我解释一下各个标准

    用户友好

    这是一个备受争议的话题。但事实的真相是——新用户必须能够选择某种风格的Linux并开始使用,只需要很少或不需要解释。如果必须很出太多解释,那么这个发行版便不是用户友好的。我不喜欢那些操作系统,但是几乎任何用户都可以在近乎零指导的情况下坐在Windows 7或OS X桌面前并开始使用它。这是每一个Linux桌面都应当争取去做的。

    常用应用程序

    安装好系统后用户不应该再去安装必需的程序。那么什么是必需的呢?每年列表都会变短。目前,必备的程序列表如下:

    • 网页浏览器:Chrome或者Firefox(对不起,根本不需要其他的浏览器)
    • 电子邮件客户端:Thunderbird是显而易见的选择。
    • Office办公套件:LibreOffice。就这样。
    • 音乐播放器:播放本地文件以及连接到流媒体服务(比如Spotify)。

    这是几乎所有用户需要的应用程序的简表。

    应用程序商店

    由于移动设备需求的日益增长,用户已经习惯了应用商店。Linux有应用商店很长时间了(Synaptic是最古老的一个)。没有一个经深思熟虑做的应用商店,用户将会挣扎于在Linux环境中添加软件。毫无疑问,这一点至关重要。

    时尚的界面

    我已经多次提到移动设备的美化。由于iOS和Android,用户越来越喜欢时尚的界面。Linux的桌面需要进行效仿并且用独特的、时尚的和易用的界面来吸引用户注意力。旧的风格在支持多触控的移动世界里不再有影响力。

    排名前三的发行版

    以文中的标准,哪个发行版本满足了(或超过)我们的需求?首先,让我们来审查一下前三名的候选者。以下哪个满足了(或超过)标准。

    Ubuntu

    Ubuntu Linux一直是用户友好型Linux的王者。开箱即用,寻找一个比它更迷人和易用的桌面(Unity)有点困难,甚至是对于那些对平台不熟悉的人也是这样的。它的桌面布局虽然与众不同,但却是合乎逻辑和很直观的。对于在桌面环境中添加一个最强大的搜索工具,在Linux中Ubuntu Unity应当获得最高成就。

    Linux Mint

    如果认为有一个篡夺王位的发行版,那它就是Linux Mint。Linux Mint做了更多桌面的标准方法,但是图层华丽且多变使其从老旧的桌面隐喻中脱颖而出。Linux Mint基于Ubuntu,所以它得益于“老大哥”Ubuntu的稳定性和可靠性。

    Linux Deepin

    用户友好型列表中的新成员是Linux Deepin。这个相对较新的受欢迎的发行版来自中国,而且应该正视它所带来的成就。为什么这样说?因为它使得Linux桌面转变为艺术美;同时也保持了高水平的用户友好性。我期待它的新版本发布将是个大事件。Linux Deepin使用的是GNOME 3桌面并将它重组得完全不同的,完全不可思议。

    各发行版的比分

    在最佳的竞争者名单中,我们来比较一下每一个标准和等级。每个发行版的比分如下:对于每个标准,发行版排名从高到底(第一名得一分,最后一名得三分)。最后,总分决定谁是冠军——最低得分获胜。

    用户友好性

    这可能是最严密的分类和最艰难的判别。每个发行版以不同的方法在用户友好性上都各有优势。最后,我的排名是:

    1. Linux Mint

    2. Ubuntu Linux

    3. Linux Deepin

    为什么是这样呢?Mint仅有微小的优势,因为它的开始按钮,任务栏和桌面图标仍然使用旧的桌面风格。胜者的优势很微小,Ubuntu和Linux Deepin要求的学习曲线近乎为零——甚至是对于小白们。

    常用的应用程序

    这一类别难以判断的唯一原因是因为每个发行版都包括所有必要的应用程序。虽然Linux Deepin目前提供的是金山Office(一个最好的移动办公套件解决方案之一),它计划在2014发行版本中默认使用LibreOffice。

    关于常用程序的我的一个问题是音乐播放器。虽然我在线听过很多音乐(使用Spotify客户端),但当我播放本地音乐时,总是使用Clementine。他们的默认播放器是:

    • Ubuntu: Rhythmbox
    • Linux Mint: Banshee
    • Linux Deepen: DMusic.

    三者中,Banshee(图1)提供了最多的功能,DMusic(图2)提供了最好的界面,(令人惊讶的)Rhythmbox(图3)目前最不稳定。

    Linux:适合新用户的最佳的Linux发行版
    Linux:适合新用户的最佳的Linux发行版

    banshee

    Linux:适合新用户的最佳的Linux发行版
    Linux:适合新用户的最佳的Linux发行版

    dmusic

    Linux:适合新用户的最佳的Linux发行版
    Linux:适合新用户的最佳的Linux发行版

    rhythmbox

    所以,他们得分多少?如下:

    1. Linux Mint

    2. Ubuntu Linux

    3. Linux Deepin

    应用程序商店

    如果不分析这部分将难进行。为什么呢?因为对于新用户应用商店可以轻易成就或是毁掉一个Linux发行版。总会有应用需求而且没有用户想经过命令行的重重考验。每个发行版都有自己的应用商店。

    • Ubuntu: Ubuntu软件中心
    • Mint: 软件管理器
    • Linux Deepin: Deepin软件中心

    应该说,这些工具中的每一个都是基于Ubuntu软件中心的。奇怪的是Ubuntu软件中心却正好排在最底。主要原因是Ubuntu软件中心太慢了——甚至在一个非常强大的机器上。

    我将应用商店排名设为如下:

    1. Linux Deepin

    2. Linux Mint

    3. Ubuntu Linux

    每个应用商店有非常相似的功能。Linux Deepin获得第一的原因有两个:界面易于控制而且程序开启速度远远快于Ubuntu软件中心和Mint软件管理器。

    时尚的界面

    在这部分Linux Mint远远落后。尽管它提供了一个华美的界面和有很浅的学习曲线,但相比之下它仍然是一个非常过时的桌面。甚至在强大的硬件(有强大的显卡)上,Linux Mint仍然很容易被看成是来自90年代末的桌面。为了评判结果,我们必须看看是Ubuntu Linux还是Linux Deepin能带我们走进未来。胜者是:

    1. Linux Deepin

    2. Ubuntu Linux

    3. Linux Mint

    Linux Deepin使用GNOME 3来制作一个使用起来很漂亮的GNOME和OSX的混合体,你会认为你在处理一件互动的艺术品。

    总冠军

    虽然这是很初步的,对新用户来说最好的Linux发行版顺序应该是:

    1. Linux Mint的总得分是 7

    2. Linux Deepin的总得分是 8

    3. Ubuntu Linux的总得分是 9

    如果你想知道关于这篇文章的作者观点,要知道:我已经使用Ubuntu Linux很多年了(而且仍在用)。我最近一直在说“如果有一个Linux发行版能动摇我使用Ubuntu的想法,它便是Linux Deepin。”虽然我很欣赏Linux Mint,但我只是用它来进行测试。当说到对新用户最好的Linux发行版,Linux Mint是显而易见的赢家。

    这件事真正的真相是——你在使用这些桌面中任何一个都不会错。他们都各有所长。如果你追求真正的美丽,使用Linux Deepin吧。如果你想要漂亮外观与易用结合,那就使用Ubuntu Linux。如果你只想要简单而且并不在乎漂亮的外观,那就用Linux Mint。不管你选哪一个,这都是三赢的局面。

    你怎么认为?你会如何排这三个桌面的名次?或者,你是否会写一个不同的Linux发行版,该发行版在外表上来说对新用户最好的?(还有原因是什么?)


    via: http://www.linux.com/news/software/applications/775873-the-best-linux-distribution-for-new-users/

    译者:linuhap 校对:wxy

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

    来源:http://www.linux.com/news/software/applications/775873-the-best-linux-distribution-for-new-users/

    Linux:如何在Ubuntu,Linux Mint,Debian上禁用IPv6

    【编者注】都说IPv4地址枯竭了,要推广IPv6,但是迟迟不见动静,既然如此,在它完全就绪前,就不要让它来打扰我们的系统好了。

    IPv6

    IPv6是寻址方案IPv4的下一个版本,被用来给域名分配数字地址。

    IPv6比IPv4支持更多的地址。然而,它还没有被广泛支持,还在被接受的过程中。

    Linux:如何在Ubuntu,Linux Mint,Debian上禁用IPv6
    Linux:如何在Ubuntu,Linux Mint,Debian上禁用IPv6

    你的系统支持IPv6么?

    为了支持IPv6,需要很多事情。首先你需要系统/操作系统支持IPv6。Ubuntu,Linux Mint,和大多是现代发行版都支持它。如果你看一下ifconfig指令的输出,你就会看见你的网络接口被分配了IPv6地址。

    $ ifconfig
    eth0      Link encap:Ethernet  HWaddr 00:1c:c0:f8:79:ee
              inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
              inet6 addr: fe80::21c:c0ff:fef8:79ee/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:110880 errors:0 dropped:0 overruns:0 frame:0
              TX packets:111960 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:62289395 (62.2 MB)  TX bytes:25169458 (25.1 MB)
              Interrupt:20 Memory:e3200000-e3220000
    lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:45258 errors:0 dropped:0 overruns:0 frame:0
              TX packets:45258 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:4900560 (4.9 MB)  TX bytes:4900560 (4.9 MB)
    

    看一下行“inet6 addr”。

    接下来你需要一个支持ipv6的路由器/调制解调器。此外,你的ISP也必须支持IPv6。

    除了检查网络设备的每一部分,最好查出你是否可以通过IPv6访问网站。

    有很多网站可以检测你的网络连接是否支持IPv6. 这里就是个例子:http://testmyipv6.com/

    下面是在内核中启用IPv6的参数:

    $ sysctl net.ipv6.conf.all.disable_ipv6
    net.ipv6.conf.all.disable_ipv6 = 0
    $ sysctl net.ipv6.conf.default.disable_ipv6
    net.ipv6.conf.default.disable_ipv6 = 0
    $ sysctl net.ipv6.conf.lo.disable_ipv6
    net.ipv6.conf.lo.disable_ipv6 = 0
    

    同样可以在proc文件中检查

    $ cat /proc/sys/net/ipv6/conf/all/disable_ipv6
    

    注意这里的变量是控制IPv6的“禁用”。所以设置1就会禁用IPv6。

    如果它不支持就禁用IPv6

    如果你的网络设备中不支持IPv6,那最好就全部禁用它们。为什么?因为这会引起域名查询延迟,在网络连接中不必要地尝试连接到IPv6地址导致延迟等等问题。

    我也遇到过像这样的问题,apt-get命令偶尔会尝试连接到IPv6地址失败接着检索IPv4地址。看一下下面的输出。

    $ sudo apt-get update
    Ign http://archive.canonical.com trusty InRelease
    Ign http://archive.canonical.com raring InRelease
    Err http://archive.canonical.com trusty Release.gpg
      Cannot initiate the connection to archive.canonical.com:80 (2001:67c:1360:8c01::1b). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::1b 80]
    Err http://archive.canonical.com raring Release.gpg
      Cannot initiate the connection to archive.canonical.com:80 (2001:67c:1360:8c01::1b). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::1b 80]
    .....
    

    像这样的错误在最近的Ubuntu中更频繁了,或许它比以前更频繁地尝试使用IPv6地址。

    我在其他的应用上也注意到了相似的问题,如Hexchat,同样Google Chrome也会有时会在查询域名的时候花费更长的时间。

    所以最好的方案是完全禁用IPv6来摆脱这些事情。这只需要一点点配置但可以帮助你解决很多你系统上的很多问题。用户甚至反应这可以加速网络。

    禁用 IPv6 – 方案1

    编辑文件 – /etc/sysctl.conf

    $ sudo gedit /etc/sysctl.conf
    

    在文件的最后加入下面的行。

    # IPv6 disabled
    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1
    net.ipv6.conf.lo.disable_ipv6 = 1
    

    保存并关闭

    重启sysctl

    $ sudo sysctl -p
    

    再次检查ifconfig的输出,这里应该没有IPv6地址了。

    $ ifconfig
    eth0      Link encap:Ethernet  HWaddr 08:00:27:5f:28:8b
              inet addr:192.168.1.3  Bcast:192.168.1.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:1346 errors:0 dropped:0 overruns:0 frame:0
              TX packets:965 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:1501691 (1.5 MB)  TX bytes:104883 (104.8 KB)
    

    如果不行,尝试重启系统并再次检查ifconfig

    禁用 IPv6 – GRUB 方案

    IPv6同样可以通过编辑grub配置文件禁用。

    $ sudo gedit /etc/default/grub
    

    查找包含”GRUBCMDLINELINUX”的行,并如下编辑:

    GRUB_CMDLINE_LINUX="ipv6.disable=1"
    

    同样可以加入名为”GRUBCMDLINELINUX_DEFAULT”的变量,这同样有用。保存并关闭文件,重新生成grub配置。

    $ sudo update-grub2
    

    重启,现在IPv6应该就已经禁用了。


    via: http://www.binarytides.com/disable-ipv6-ubuntu/

    译者:geekpi ,校对:wxy

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

    来源:https://linux.cn/article-3373-1.html

    Linux:如何在Ubuntu下配置PPTP VPN

    Linux:如何在Ubuntu下配置PPTP VPN
    Linux:如何在Ubuntu下配置PPTP VPN

    安装pptpd

    $ sudo apt-get install pptpd

    编辑配置文件:

    $ sudo vi /etc/pptpd.conf

    找到最下面,修改ip:

    localip 你的主机ip
    remoteip 10.100.0.2-10

    第二行为分配的ip段 

    设置dns

    $ sudo vi /etc/ppp/pptpd-options

    修改以下部分为google的dns:

    ms-dns 8.8.8.8
    ms-dns 8.8.4.4

    设置账号:

    $ sudo vi /etc/ppp/chap-secrets

    添加一行,依次为:用户名,服务,密码,限制ip:

    "user" pptpd "user" *

    重启服务:

    $ sudo /etc/init.d/pptpd restart

    设置IP转发

    打开这个文件

    $ sudo vi /etc/sysctl.conf

    去掉文件中这一行的注释:

    net.ipv4.ip_forward=1

    使它立刻生效:

    sudo sysctl -p

    安装iptables,如果你还没有安装的话:

    sudo apt-get install iptables

    建立一个 NAT:

    sudo iptables -t nat -A POSTROUTING -s 10.100.0.0/24-o eth0 -j MASQUERADE

    将规则保存,使重启后规则不丢失:

    sudo iptables-save >/etc/iptables-rules

    若此处提示:-bash: /etc/iptables-rules: Permission denied 则可使用root用户,命令:su – 进入root用户保存

    编辑网卡文件,加载网卡时自动加载规则

    sudo vi  /etc/network/interfaces

    末尾加入:

    pre-up iptables-restore 
    

    设置MTU,防止包过大:

    sudo iptables -A FORWARD -s 10.100.0.0/24-p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1200

    若设置了上条规则,记得保存:

    sudo iptables-save >/etc/iptables-rules

    macos 能连上,但没有任何收发包的问题,即能连接上VPN,不能上网:vpn高级里勾选发送全部流量

    至此,搞定。

    来源:http://blog.kunyu.li/digitalocean-ubuntu-vps-vpn.html

    Linux:Linux下掌控磁盘分区的九大神器

    在这篇文章中,我们来了解一些用来检查你的系统分区的一些命令,这些命令将检查每个磁盘的分区情况和其它细节,例如总空间容量,已用完的空间和文件系统等。

    像fdisk,sfdisk和cfdisk命令这样的常规分区工具,不仅可以显示分区信息,还可以修改。

    Linux:Linux下掌控磁盘分区的九大神器
    Linux:Linux下掌控磁盘分区的九大神器

    1. fdisk

    Fdisk是检查磁盘上分区的最常用命令,fdisk命令可以显示分区和细节,如文件系统类型,但是它并不报告每个分区的字节大小。

    $ sudo fdisk -l
    Disk /dev/sda: 500.1 GB, 500107862016 bytes
    255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x30093008
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *          63   146801969    73400953+   7  HPFS/NTFS/exFAT
    /dev/sda2       146802031   976771071   414984520+   f  W95 Ext'd (LBA)
    /dev/sda5       146802033   351614654   102406311    7  HPFS/NTFS/exFAT
    /dev/sda6       351614718   556427339   102406311   83  Linux
    /dev/sda7       556429312   560427007     1998848   82  Linux swap / Solaris
    /dev/sda8       560429056   976771071   208171008   83  Linux
    Disk /dev/sdb: 4048 MB, 4048551936 bytes
    54 heads, 9 sectors/track, 16270 cylinders, total 7907328 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x0001135d
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1   *        2048     7907327     3952640    b  W95 FAT32
    

    每个设备都单独显示其详细信息:容量大小,扇区数,设备ID及其包含的每个分区。

    2. sfdisk

    Sfdisk是另一种跟fdisk用途相似的实用工具,但具有更多的功能。它能够以MB为单位显示每个分区的大小。

    $ sudo sfdisk -l -uM
    Disk /dev/sda: 60801 cylinders, 255 heads, 63 sectors/track
    Warning: extended partition does not start at a cylinder boundary.
    DOS and Linux will interpret the contents differently.
    Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from 0
       Device Boot Start   End    MiB    #blocks   Id  System
    /dev/sda1   *     0+ 71680- 71681-  73400953+   7  HPFS/NTFS/exFAT
    /dev/sda2     71680+ 476938  405259- 414984520+   f  W95 Ext'd (LBA)
    /dev/sda3         0      -      0          0    0  Empty
    /dev/sda4         0      -      0          0    0  Empty
    /dev/sda5     71680+ 171686- 100007- 102406311    7  HPFS/NTFS/exFAT
    /dev/sda6     171686+ 271693- 100007- 102406311   83  Linux
    /dev/sda7     271694  273645   1952    1998848   82  Linux swap / Solaris
    /dev/sda8     273647  476938  203292  208171008   83  Linux
    Disk /dev/sdb: 1020 cylinders, 125 heads, 62 sectors/track
    Warning: The partition table looks like it was made
      for C/H/S=*/54/9 (instead of 1020/125/62).
    For this listing I'll assume that geometry.
    Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from 0
       Device Boot Start   End    MiB    #blocks   Id  System
    /dev/sdb1   *     1   3860   3860    3952640    b  W95 FAT32
                    start: (c,h,s) expected (4,11,6) found (0,32,33)
                    end: (c,h,s) expected (1023,53,9) found (492,53,9)
    /dev/sdb2         0      -      0          0    0  Empty
    /dev/sdb3         0      -      0          0    0  Empty
    /dev/sdb4         0      -      0          0    0  Empty
    

    3. cfdisk

    Cfdisk是一个基于ncurses(提供字符终端处理库,包括面板和菜单)的带有交互式用户界面的Linux分区编辑器,它可以用来列出现有分区以及创建或修改这些分区。

    下面是一个如何使用Cfdisk来列出分区的例子。

    Linux:Linux下掌控磁盘分区的九大神器
    Linux:Linux下掌控磁盘分区的九大神器

    Cfdisk一次只能列出一个分区,所以如果你需要看某一磁盘的细节,可以把该磁盘的设备名作为Cfdisk的参数。

    $ sudo cfdisk /dev/sdb
    

    4. parted

    Parted是另一个命令行实用程序,可以列出分区;如果需要的话,也可进行修改。

    下面是一个例子,列出了详细的分区信息。

    $ sudo parted -l
    Model: ATA ST3500418AS (scsi)
    Disk /dev/sda: 500GB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos
    Number  Start   End     Size    Type      File system     Flags
     1      32.3kB  75.2GB  75.2GB  primary   ntfs            boot
     2      75.2GB  500GB   425GB   extended                  lba
     5      75.2GB  180GB   105GB   logical   ntfs
     6      180GB   285GB   105GB   logical   ext4
     7      285GB   287GB   2047MB  logical   linux-swap(v1)
     8      287GB   500GB   213GB   logical   ext4
    Model: Sony Storage Media (scsi)
    Disk /dev/sdb: 4049MB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos
    Number  Start   End     Size    Type     File system  Flags
     1      1049kB  4049MB  4048MB  primary  fat32        boot
    

    5. df

    Df是不是一个分区工具,但它打印出挂装文件系统的细节,Df可以列出甚至不是真实的磁盘分区的文件系统。

    这里是个简单的例子:

    $ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda6        97G   43G   49G  48% /
    none            4.0K     0  4.0K   0% /sys/fs/cgroup
    udev            3.9G  8.0K  3.9G   1% /dev
    tmpfs           799M  1.7M  797M   1% /run
    none            5.0M     0  5.0M   0% /run/lock
    none            3.9G   12M  3.9G   1% /run/shm
    none            100M   20K  100M   1% /run/user
    /dev/sda8       196G  154G   33G  83% /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1
    /dev/sda5        98G   37G   62G  38% /media/4668484A68483B47
    

    只有以 /dev 开始的文件系统才是实际的设备或分区。

    可以使用grep命令来筛选出实际的硬盘分区或文件系统。

    $ df -h | grep ^/dev
    /dev/sda6        97G   43G   49G  48% /
    /dev/sda8       196G  154G   33G  83% /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1
    /dev/sda5        98G   37G   62G  38% /media/4668484A68483B47
    

    要只显示真正的磁盘分区与分区类型,可以这样使用Df:

    $ df -h --output=source,fstype,size,used,avail,pcent,target -x tmpfs -x devtmpfs
    Filesystem     Type     Size  Used Avail Use% Mounted on
    /dev/sda6      ext4      97G   43G   49G  48% /
    /dev/sda8      ext4     196G  154G   33G  83% /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1
    /dev/sda5      fuseblk   98G   37G   62G  38% /media/4668484A68483B47
    

    请注意,Df只显示已挂载的文件系统或分区,并不是所有。

    6. pydf

    它是用Python写的Df的改进版本,以易读的方式打印出所有磁盘分区。

    $ pydf
    Filesystem Size Used Avail Use%             Mounted on
    /dev/sda6   96G  43G   48G 44.7 [####.....] /
    /dev/sda8  195G 153G   32G 78.4 [#######..] /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1
    /dev/sda5   98G  36G   61G 37.1 [###......] /media/4668484A68483B47
    

    另外,pydf被限制为仅显示已挂载的文件系统。

    7. lsblk

    列出了所有的块存储设备,包括磁盘分区和光盘驱动器。细节包括所有分区/块总大小和挂载点。

    它不会报告分区上的已使用和空闲磁盘空间。

    $ lsblk
    NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda      8:0    0 465.8G  0 disk
    ├─sda1   8:1    0    70G  0 part
    ├─sda2   8:2    0     1K  0 part
    ├─sda5   8:5    0  97.7G  0 part /media/4668484A68483B47
    ├─sda6   8:6    0  97.7G  0 part /
    ├─sda7   8:7    0   1.9G  0 part [SWAP]
    └─sda8   8:8    0 198.5G  0 part /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1
    sdb      8:16   1   3.8G  0 disk
    └─sdb1   8:17   1   3.8G  0 part
    sr0     11:0    1  1024M  0 rom
    

    如果没有挂载点,这就意味着文件系统未安装,而对于cd/dvd这意味着没有插入光盘。

    lsblk能够显示每个设备的更多信息,如标签和型号,更多请查看信息手册。

    8. blkid

    显示块设备(分区和存储介质)属性,例如UUID和文件系统类型,不报告分区空间。

    $ sudo blkid
    /dev/sda1: UUID="5E38BE8B38BE6227" TYPE="ntfs"
    /dev/sda5: UUID="4668484A68483B47" TYPE="ntfs"
    /dev/sda6: UUID="6fa5a72a-ba26-4588-a103-74bb6b33a763" TYPE="ext4"
    /dev/sda7: UUID="94443023-34a1-4428-8f65-2fb02e571dae" TYPE="swap"
    /dev/sda8: UUID="13f35f59-f023-4d98-b06f-9dfaebefd6c1" TYPE="ext4"
    /dev/sdb1: UUID="08D1-8024" TYPE="vfat"
    

    9. hwinfo

    hwinfo是一个通用的硬件信息的工具,可以用来打印出磁盘和分区表,但是输出不再像上面的命令那样打印每个分区的详细信息。

    $ hwinfo --block --short
    disk:
      /dev/sda             ST3500418AS
      /dev/sdb             Sony Storage Media
    partition:
      /dev/sda1            Partition
      /dev/sda2            Partition
      /dev/sda5            Partition
      /dev/sda6            Partition
      /dev/sda7            Partition
      /dev/sda8            Partition
      /dev/sdb1            Partition
    cdrom:
      /dev/sr0             SONY DVD RW DRU-190A
    

    总结

    parted的输出可以得到简洁而完整的不同分区的概述、其上的文件系统以及总空间。pydf和df它们一样,只是被限制为只显示已挂载文件系统。

    fdisk和sfdisk显示完整大量的信息,需要花些时间来解释。cfdisk是一个交互式分区工具,每次显示一个单一的设备。

    来尝试下这些命令吧,别忘了在下面评论哟!

    (题图来源:http://freegraphicdownload.com/)


    via: http://www.binarytides.com/linux-command-check-disk-partitions/

    译者:tenght 校对:Caroline

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

    来源:https://linux.cn/article-3380-1.html

    Linux:RHEL 7值得注意的5个新特性

    RHEL 7 支持Docker容器,systemd,兼容微软的身份管理和支持高达500TB的XFS文件系统。

    Linux:RHEL 7值得注意的5个新特性
    Linux:RHEL 7值得注意的5个新特性

    在前一个主版本发布3年之后,经过至少6个月的公开测试,RHEL(Red Hat Enterprise Linux)版本7终于发布了。这次更新表明了红帽子公司对于在RHEL中添加最新的以企业和数据为中心的特性的兴趣。这里列举了其中5个最吸引人眼球的新特性。

    1. Docker

    RHEL 7中最大的新特性就是紧密集成了广受欢迎的应用程序虚拟化技术Docker。随着Docker 1.0发布,把它集成到RHEL 7里正是恰逢其时。

    用Docker包装的应用程序可以独立于操作系统,所以它们可以在操作系统之间移植并且正常运行。RHEL 7打算尽可能高效地使用Docker,以防止应用程序竞争资源或者为使用哪种运行时环境而困惑。

    从RHEL的Docker路线图上的长期计划表来看,这可能会超越操作系统本身,发展成一系列的Docker容器,它可以支持用最小的开销部署一个系统。这个被称为”Atomic项目“的计划还处于早期阶段,红帽公司准备首先将它部署在他的Fedora Linux发行版,仅仅当做对前沿技术的测试。

    2. Systemd

    引入systemd进程管理器可能引起系统管理员和Linux专家之间激烈的争论。systemd就被开发用于替代自专用Unix出现以来就在使用的init系统,它使得启动过程中装载服务更加高效。

    因为systemd可能会带来一些不适,红帽公司没有马上在RHEL上使用systemd。早在2010发布的Fedora版本15就已经包含了systemd作为默认项目,这给了红帽公司一次很好的了解systemd在真实世界的运行的经验。同样,systemd也没有孤立地加入RHEL 7,而是作为这个OS大计划的一部分。例如,红帽公司希望通过使用systemd加强对RHEL 7中Docker容器的支持。

    3. 默认使用 XFS

    第3个主要的改变是使XFS成为RHEL默认的文件系统,尽管这可能不那么引人瞩目。

    最初由Silicon Graphics International(硅谷图形公司)创建的XFS在Linux系统上用做生产环境已经很长时间了。在RHEL 7上它将支持高达500TB的文件系统。RHEL 6默认使用ext4,尽管它有XFS选项。红帽子的竞争对手Suse Linux 也支持XFS,尽管它安装时默认使用ext3

    非常不幸的是,没有真正的方法可以将RHEL目前使用的其他文件系统,比如ext4或者btrfs移植到XFS。只能备份然后重建(来进行移植)。

    4. 兼容微软的身份管理

    就算是那些不是微软系统粉丝的管理员也对微软目录服务保持一定的尊重。RHEL 7添加了两个关键的特性以优化处理微软目录服务(AD)的方式。跨域认证现在可以在RHEL 7和微软目录服务之间建立,所以目录服务用户可以直接访问Linux侧的资源,不需要再进行一次登录。RHEL 7另一个目录服务相关的附加特性,是基于DNS信息自动发现和加入目录服务(或者其他红帽子认证服务)。

    5. 性能监控(PCP:Performance Co-Pilot)

    进行性能调整的时候看不到实时数据就像是开着一辆挡风玻璃被刷上了油漆的车,所以RHEL 7添加了一个新的性能监控系统PCP(Performance Co-Pilot),PCP最初由Silicon Graphics International(硅谷图形)创建,但是现在它是RHEL 7的一部分。除了监控和记录系统状态,PCP还为其他子系统提供获取数据的API和工具集,比如正如你猜到的,刚刚介绍的systemd。

    遵循这个思路,另一个次要的附加特性:新的性能配置文件。RHEL 6已经有符合特殊应用场景的调整RHEL的配置文件。RHEL 7不仅默认有一个新的性能最大化的配置文件,而且包含另一个新的平衡性能表现和能源消耗的配置文件。


    via:http://www.infoworld.com/t/linux/keep-eye-these-5-new-features-in-rhel-7-244023

    译者:love_daisy_love 校对:wxy

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

    来源:https://linux.cn/article-3383-1.html

    Linux:RHEL 7特性说明(一):构架和限制

    Red Hat Enterprise Linux 7.0 是 Red Hat 的下一代操作系统完整套件,旨在用于关键任务企业级计算以及顶级企业级软件和硬件零售商认证。

    Linux:RHEL 7特性说明(一):构架和限制
    Linux:RHEL 7特性说明(一):构架和限制

    ⁠构架

    只有 64 位硬件支持 Red Hat Enterprise Linux 7.0 安装。Red Hat Enterprise Linux 7.0 可将 32 位操作系统作为虚拟机运行,其中包括之前的 Red Hat Enterprise Linux 版本。

    Red Hat Enterprise Linux 7.0 在以下架构中作为单一套件使用。 ⁠:

    • 64-bit AMD
    • 64-bit Intel
    • IBM POWER7 和 POWER8
    • IBM System z (支持 IBM zEnterprise 196 硬件或者更新的版本)

    功能和限制

    下表列出了 Red Hat Enterprise Linux 7 与之前的版本 5 和版本 6 之间的功能及限制对比。

    表 3.1. Red Hat Enterprise Linux 5、6 和 7 的限制

      Red Hat Enterprise Linux 5 Red Hat Enterprise Linux 6 Red Hat Enterprise Linux 7
    最大逻辑 CPU      
    x86_64 160/255 160/4096 160/5120
    POWER 128/128 128 待评估
    System z 101 (zEC12) 101 (zEC12) 待评估
    最大内存      
    x86_64 1 TB 支持 3 TB/64 TB 支持 3 TB/64 TB
    POWER 最小 512 GB/建议 1 TB 2 TB 2 TB
    System z 3 TB (z196) 3 TB (z196) 3 TB (z196)
    最低要求      
    x86_64 最小 512 MB/建议每个逻辑 CPU 1 GB 最小 1GB/建议每个逻辑 CPU 1 GB 最小 1GB/建议每个逻辑 CPU 1 GB
    POWER 1 GB/建议 2 GB 2 GB/每个 Red Hat Enterprise Linux 安装 2 GB 2 GB/每个 Red Hat Enterprise Linux 安装 2 GB
    System z 512 MB 512 MB 1 GB ⁠[a]
    文件系统及存储限制      
    最大文件大小:XFS 16 TB 16 TB 16 TB
    最小文件大小:ext4 16 TB 16 TB 50 TB
    最大文件大小:Btrfs N/A 待评估 待评估
    最大文件系统大小:XFS 100 TB ⁠[b] 100 TB 500 TB
    最大文件系统大小:ext4 16 TB 16 TB 50 TB
    最大文件系统大小:Btrfs N/A 待评估 50 TB
    最大引导 LUN 大小 2 TB 16 TB ⁠ 50 TB
    每个进程地址大小的最大值:x86_64 2 TB 128 TB 128 TB
        

    [a] 在 IBM System z 中安装建议 1 GB 以上。

    [b] Red Hat Enterprise Linux 版本 5.5 或者之后的版本支持最大为 100 TB 的 XFS 文件系统大小。

     注:大于 2 TB 的引导 LUN 支持需要 UEFI 和 GPT 支持。

    本系列文章来自 RHEL 7.0 的发行注记,完整内容请移步:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/index.html 

    来源:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/index.html

    Linux:RHEL 7特性说明(二):软件包及支持变化

    Red Hat Enterprise Linux 7.0 是 Red Hat 的下一代操作系统完整套件,旨在用于关键任务企业级计算以及顶级企业级软件和硬件零售商认证。

    Linux:RHEL 7特性说明(二):软件包及支持变化
    Linux:RHEL 7特性说明(二):软件包及支持变化

    淘汰的软件包

    计划在 Red Hat Enterprise Linux 7.0 中淘汰下列功能和性能,并可能从该产品的未来版本中删除。在适当的情况下可采用以下建议的功能。

    表 4.1. 淘汰的软件包

    功能/软件包 替代品 迁移记录
    ext2、ext3 文件系统支持 ext4 可在 ext2 和 ext3 文件系统中使用 ext4 代码
    sblim-sfcb tog-pegasus  
    传统 RHN 托管的注册 subscription-manager 和 Subscription Asset Manager  
    acpid systemd  
    evolution-mapi evolution-ews 请从 Microsoft Exchange Server 2003 机器中迁移
    gtkhtml3 webkitgtk3  
    用户信息 选项  
    edac-utils 和 mcelog rasdaemon  
    libcgroup systemd Red Hat Enterprise Linux 7.0 将继续使用 cgutils,但systemd 改进了让用户在今后的发行本中进行迁移的能力。
    krb5-appl openssh OpenSSH 包含拥有类似功能的工具,并采用更活跃的维护标准和更活跃的开发和维护代码库。
    lvm1 lvm2  
    lvm2mirror 和 cmirror lvm2 raid1 lvm2 raid1 不支持集群,还没有计划替换 cmirror。

    删除的软件包

    本小节列出了相比 Red Hat Enterprise Linux 6 从 Red Hat Enterprise Linux 7 中删除的软件包。

    表 4.2. 删除的软件包

    功能/软件包 替代品 迁移记录
    gcj OpenJDK 不要使用 gcj 将 Java 程序编译为原代码。
    使用 32 位架构作为安装架构 64 位架构 应用程序仍将使用兼容库运行。在 64 位 Red Hat Enterprise Linux 6 中测试您的程序。如果需要 32 位引导支持,请继续使用 Red Hat Enterprise Linux 6。
    IBM POWER6 支持 继续使用 Red Hat Enterprise Linux 5 或者 6。
    Matahari 基于 CIM 的管理 已从 Red Hat Enterprise Linux 6.4 中删除了 Matahari。不要再使用它。
    ecryptfs 使用现有 LUKS 或者 dm-crypt 基于块的加密 不能进行迁移;用户需要重新生成加密的数据。
    TurboGears2 网页程序栈  
    OpenMotif 版本 2.2 Motif 2.3 根据现有 Motif 版本,即 Red Hat Enterprise Linux 6 中的版本重新构建应用程序。
    webalizer 网页分析工具  
    compiz 窗口管理程序 gnome-shell  
    Eclipse 开发者工具组件 已在 Red Hat Developer Toolset 中提供 Eclipse。
    Qpid 和 QMF MRG 中包含 Qpid 和 QMF。
    amtu 常用标准认证不再需要这个工具。
    system-config-services systemadm  
    pidgin 前端 empathy  
    perl-suidperl 解读程序 这个功能在 upstream perl 中已无法使用。
    pam_passwdqc, pam_cracklib pam_pwquality  
    HAL 库及守护进程 udev  
    ConsoleKit 库及守护进程 systemd http://www.freedesktop.org/wiki/Software/systemd/writing-display-managers
    DeviceKit-power upower  
    system-config-lvm gnome-disk-utility 和system-storage-manager Red Hat Enterprise Linux 6 也使用 gnome-disk-utility。注:应在较简单的任务中使用 system-storage-manager,而使用 lvm2 命令进行微调或者用于与 LVM 有关的更复杂的操作。
    system-config-network nm-connection-editor,nmcli Red Hat Enterprise Linux 6 也使用 nm-connection-editor。
    taskjuggler  
    thunderbird evolution  
    vconfig iproute vconfig 的所有功能都由iproute 软件包中的 ip 工具提供。详情请查看 ip-link(8) manual page。
    原有图形驱动程序分类 现代硬件或者 vesa 驱动程序  
    xorg-x11-twm  
    xorg-x11-xdm gdm  
    system-config-firewall firewall-config 和firewall-cmd system-config-firewall 仍作为用于静态环境的防火墙备选解决方案的一部分与 iptables 服务一同使用。
    mod_perl mod_fcgid mod_perl 与 HTTP 2.4 不兼容
    busybox  
    prelink 注:Red Hat Enterprise Linux 7.0 提供 prelink,但默认为禁用。
    KVM 和虚拟化软件包(在 ComputeNode 变体中) 附带变体的 KVM 和虚拟化,比如服务器变体  
    module-init-tools kmod  
    kernel-firmware-* linux-firmware  
    flight-recorder  
    wireless-tools 要在命令行中进行基本无线设备操控,请使用 iw 软件包中的 iw 二进制程序。  
    libtopology hwloc  
    digikam 由于相依性极为复杂,Red Hat Enterprise Linux 7.0 软件频道不再提供digiKam 图片管理程序。
    NetworkManager-openswan NetworkManager-libreswan  
    KDE 显示管理程序,KDM GNOME 显示管理程序,GDM GNOME 显示管理程序是 Red Hat Enterprise Linux 7.0 的默认显示管理程序。注:仍可使用 KDE(K 桌面环境),并提供支持。
    virt-tar virt-tar-in 和 virt-tar-out 注:命令行语法已有变化。详情请查看手册页。
    virt-list-filesytems virt-filesystems 注:命令行语法已有变化。详情请查看手册页。
    virt-list-partitions virt-filesystems 注:命令行语法已有变化。详情请查看手册页。

    淘汰的驱动程序和模块

    图形驱动程序xorg-x11-drv-ast、xorg-x11-drv-cirrus、xorg-x11-drv-mach64、xorg-x11-drv-mga、xorg-x11-drv-openchrome

    注:上述图形驱动程序将由内核模式设置(KMS)驱动程序替换。

    输入驱动程序

    xorg-x11-drv-void

    存储驱动程序

    3w-9xxx、arcmsr、aic79xx、Emulex lpfc820

    不再继续使用的内核驱动程序、模块及功能

    本小节列出了相比 Red Hat Enterprise Linux 6 已从 Red Hat Enterprise Linux 7.0 中删除的驱动程序及模块列表。

    存储驱动程序

    megaraid_mm、cciss、aic94xx、aic7xxx、i2o、ips、megaraid_mbox、mptlan、mptfc、sym53c8xx、ecryptfs、3w-xxxx

    联网驱动程序

    3c59x、3c574_cs、3c589_c、3c589_cs、8390、acenic、amd8111e、at76c50x-usb、ath5k、axnet_cs、b43、b43legacy、can-dev、cassini、cdc-phonet、cxgb、de4x5、de2104x、dl2k、dmfe、e100、ems_pci、ems_usb、fealnx、fmvi18x_cs、fmvj18x_cs、forcedeth、ipw2100、ipw2200、ixgb、kvaser_pci、libertas、libertas_tf、libertas_tf_usb、mac80211_hwsim、natsemi、ne2k-pci、niu、nmckan_cs、nmclan_cs、ns83820、p54pci、p54usb、pcnet32、pcnet_32、pcnet_cs、pppol2tp、r6040、rt61pci、rt73usb、rt2400pci、rt2500pci、rt2500usb、rtl8180、rtl8187、s2io、sc92031、sis190、sis900、sja1000、sja1000_platform、smc91c92_cs、starfire、sundance、sungem、sungem_phy、sunhme、tehuti、tlan、tulip、typhoon、uli526x、vcan、via-rhine、via-velocity、vxge、winbond-840、xirc2ps_cs、xircom_cb、zd1211r

    图形驱动程序xorg-x11-drv-acecad、xorg-x11-drv-aiptek、xorg-x11-drv-elographics、xorg-x11-drv-fpit、xorg-x11-drv-hyperpen、xorg-x11-drv-mutouch、xorg-x11-drv-penmount

    输入驱动程序

    xorg-x11-drv-acecad、xorg-x11-drv-aiptek、xorg-x11-drv-elographics、xorg-x11-drv-fpit、xorg-x11-drv-hyperpen、xorg-x11-drv-mutouch、xorg-x11-drv-penmount

    本系列文章来自 RHEL 7.0 的发行注记,完整内容请移步:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/index.html 

    来源:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/index.html

    Linux:在Ubuntu下如何创建远程".deb"包仓库

    Reprepro是一款小巧的命令行工具来方便地创建并管理.deb仓库。今天我们会展示给你如何使用reprepro简单地创建一个Debian包仓库,并使用rsync上传到Sourceforge.net。

    Linux:在Ubuntu下如何创建远程".deb"包仓库
    Linux:在Ubuntu下如何创建远程".deb"包仓库

    步骤 1: 安装Reprepro并生成key

    首先,安装所有需要的包,使用下面的apt-get命令。

    $ sudo apt-get install reprepro gnupg
    

    现在你需要使用gnupg生成一个gpg key,这里使用下面的命令。

    $ gpg --gen-key
    

    它会询问你一些问题,比如你想要哪种key、key的有效期、如果你不知道如何回答,只需点击回车 来选择默认选项(建议)

    当然,它会询问你用户名和密码,在脑海中记住这些,因为我们会在之后需要它。

    gpg (GnuPG) 1.4.14; Copyright (C) 2013 Free Software Foundation, Inc.
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    Please select what kind of key you want:
       (1) RSA and RSA (default)
       (2) DSA and Elgamal
       (3) DSA (sign only)
       (4) RSA (sign only)
    Your selection?
    RSA keys may be between 1024 and 4096 bits long.
    What keysize do you want? (2048)
    Requested keysize is 2048 bits
    Please specify how long the key should be valid.
             0 = key does not expire
            = key expires in n days
          w = key expires in n weeks
          m = key expires in n months
          y = key expires in n years
    Key is valid for? (0)
    Key does not expire at all
    Is this correct? (y/N) Y
    You need a user ID to identify your key; the software constructs the user ID
    from the Real Name, Comment and Email Address in this form:
        "Heinrich Heine (Der Dichter) "
    Real name: ravisaive
    Email address: tecmint.com@gmail.com
    Comment: tecmint
    You selected this USER-ID:
        "Ravi Saive (tecmint) "
    Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
    You need a Passphrase to protect your secret key.
    We need to generate a lot of random bytes. It is a good idea to perform
    some other action (type on the keyboard, move the mouse, utilize the
    disks) during the prime generation; this gives the random number
    generator a better chance to gain enough entropy.
    +++++
    gpg: key 2EB446DD marked as ultimately trusted
    public and secret key created and signed.
    gpg: checking the trustdb
    gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
    gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
    pub   2048R/2EB446DD 2014-06-24
          Key fingerprint = D222 B1C9 342E 5911 02B1  9147 3BD6 7918 2EB4 46DD
    uid                  Ravi Saive (tecmint) 
    sub   2048R/7EF2F750 2014-06-24
    

    现在你的key已经生成了,要检查一下,用root权限运行这条命令。

    $ sudo gpg --list-keys
    

    示例输出

    /home/ravisaive/.gnupg/pubring.gpg
    ----------------------------------
    pub   2048R/2EB446DD 2014-06-24
    uid                  ravisaive (tecmint) 
    sub   2048R/7EF2F750 2014-06-24
    

    步骤 2: 创建一个包仓库并导出key

    我们现在要开始创建仓库,首先你需要创建一些文件夹,我们的仓库会放在/var/www/apt目录,让我们先创建这些目录。

    $ sudo su
    # cd /var/www
    # mkdir apt
    # mkdir -p ./apt/incoming
    # mkdir -p ./apt/conf
    # mkdir -p ./apt/key
    

    你现在需要将key导出到仓库文件夹,运行:

    # gpg --armor --export username yourmail@mail.com >> /var/www/apt/key/deb.gpg.key
    

    注意:用你之前步骤中输入的用户名代替username,用你的email代替上面的yourmail@mail.com

    我们需要在/var/www/apt/conf创建一个文件“distributions”。

    # touch /var/www/apt/conf/distributions
    

    加入下面这几行到distributions这个文件中并保存。

    Origin: (你的名字)
    Label: (库的名字)
    Suite: (stable 或 unstable)
    Codename: (发布的代码名,比如  trusty)
    Version: (发布的版本,比如 14.04)
    Architectures: (软件包所支持的架构, 比如 i386 或 amd64)
    Components: (包含的部件,比如 main restricted universe multiverse)
    Description: (描述)
    SignWith: yes
    

    接下来我们会创建仓库树,运行这些命令:

    # reprepro --ask-passphrase -Vb /var/www/apt export
    

    示例输出

    Created directory "/var/www/apt/db"
    Exporting Trusty...
    Created directory "/var/www/apt/dists"
    Created directory "/var/www/apt/dists/Trusty"
    Created directory "/var/www/apt/dists/Trusty/universe"
    Created directory "/var/www/apt/dists/Trusty/universe/binary-i386"
    FF5097B479C8220C ravisaive (tecmint)  needs a passphrase
    Please enter passphrase:
    Successfully created '/var/www/apt/dists/Trusty/Release.gpg.new'
    FF5097B479C8220C ravisaive (tecmint)  needs a passphrase
    Please enter passphrase:
    Successfully created '/var/www/apt/dists/Trusty/InRelease.new'
    

    步骤 3: 在新创建的仓库中加入包

    现在准备你的.deb包来加入到仓库中。进入 /var/www/apt目录,你每次要加包的时候都必须这么做。

    # cd /var/www/apt
    # reprepro --ask-passphrase -Vb . includedeb Trusty /home/ravisaive/packages.deb
    

    注意:用你在distributions文件中输入的仓库代号来代替trusty ,并且用包的路径替换/home/username/package.deb,你会被要求输入密码。

    示例输出

    /home/ravisaive/packages.deb : component guessed as 'universe'
    Created directory "./pool"
    Created directory "./pool/universe"
    Created directory "./pool/universe/o"
    Created directory "./pool/universe/o/ojuba-personal-lock"
    Exporting indices...
    FF5097B479C8220C ravisaive (tecmint)  needs a passphrase
    Please enter passphrase:
    Successfully created './dists/Trusty/Release.gpg.new'
    FF5097B479C8220C ravisaive (tecmint)  needs a passphrase
    Please enter passphrase:
    Successfully created './dists/Trusty/InRelease.new'
    

    你的包已经加入了仓库,如果要移除它的话采用如下命令:

    # reprepro --ask-passphrase -Vb /var/www/apt remove trusty package.deb
    

    当然你需要用你的包名与仓库代号来修改命令。

    步骤 4: 上传仓库到Sourceforge.net

    要上传仓库到Sourceforge.net,你当然需要一个可用的账号与一个可用的项目,让我假设你想要上传仓库到http://sourceforge.net/projects/myfoo/testrepository,这里的myfoo是项目名(UNIX上的名称,不是URL,不是标题),testrepository是你想要上传文件到这上面的目录,这里我们会使用rsync 命令。(LCTT译注:当然你也可以上传到其它的支持Http/Rsync的服务器上,以提供远程软件库的服务。)

    # rsync -avP -e ssh /var/www/apt/ username@frs.sourceforge.net:/home/frs/project/myfoo/testrepository/
    

    注意:用你在sourceforge.net上的用户名代替username,用你的项目的UNIX名称代替myfoo,用你想要存储的文件夹代替testrepository。

    现在你的仓库(包括设置和key等等)上传到了http://sourceforge.net/projects/myfoo/testrepository

    要把它加入到一个已装好的系统,首先你需要导入仓库key,它实际上就是/var/www/apt/key/deb.gpg.key,但是这是一个本地路径,使用你的仓库的其它用户不能添加到他们的系统中,这就是为什么我们要导入来自sourceforge.net的key的原因。

    $ sudo su
    # wget -O - http://sourceforge.net/projects/myfoo/testrepository/apt/key/deb.gpg.key | apt-key add -
    

    你现在可以非常轻松地把仓库加入到系统中了,打开/etc/apt/sources.list,并加入下面这行:

    deb http://sourceforge.net/projects/myfoo/testrepository/apt/key/deb.gpg.key trusty main
    

    Note:用你的项目的UNIX类型名称代替myfoo,用你的仓库代码代替trusty,用你上传存储的文件夹代替testrepository,用你在distributionsj加入的仓库组件代替main。

    接下来,运行下面的命令来更新仓库列表。

    $ sudo apt-get update
    

    祝贺你! 你的软件仓库已经激活了!你现在可以非常简单地在你需要的时候安装包了。


    via: http://www.tecmint.com/create-deb-pacakge-repository-in-ubuntu/

    译者:geekpi 校对:wxy

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

    来源:https://linux.cn/article-3384-1.html

    Linux:RHEL 7特性说明(三):存储与文件系统

    Red Hat Enterprise Linux 7.0 是 Red Hat 的下一代操作系统完整套件,旨在用于关键任务企业级计算以及顶级企业级软件和硬件零售商认证。

    Linux:RHEL 7特性说明(三):存储与文件系统
    Linux:RHEL 7特性说明(三):存储与文件系统

    存储

    ⁠LIO 内核目标子系统

    Red Hat Enterprise Linux 7.0 使用 LIO 内核目标子系统,它是块存储的标准开源 SCSI 目标,可用于以下存储介质:FcoE、iSCSI、iSER(Mellanox InfiniBand)和 SRP(Mellanox InfiniBand)。Red Hat Enterpise Linux 6 使用 SCSI 目标守护进程 tgtd 为 iSCSI 目标提供支持,同时在以太网光纤通道(FCoE)中只使用 fcoe-target-utils 软件包提供的 Linux 内核目标 LIO。targetcli shell 提供 LIO Linux SCSI 目标的常规管理平台。

    ⁠快速块设备为较慢的块设备提供缓存

    Red Hat Enterprise Linux 7.0 中引进让快速块设备作为较慢块设备的缓存的功能作为技术预览。这个功能可让 PCIe SSD 设备作为直接附加存储(DAS)或者存储局域网(SAN)存储的缓存使用,以便提高文件系统性能。

    ⁠LVM 缓存

    Red Hat Enterprise Linux 7.0 引进了 LVM 缓存作为技术预览。这个功能可让用户创建逻辑卷,使用一个小的快速设备作为较大的慢速设备的缓存。有关生成缓存逻辑卷的详情请参考 lvm(8) manual page。注:在缓存逻辑卷中尚不能使用下列命令:

    • pvmove:跳过所有缓存逻辑卷,
    • lvresize, lvreduce, lvextend:目前无法重新定义缓存逻辑卷大小,
    • vgsplit:当有缓存逻辑卷存在时不能分割卷组。

    ⁠使用 libStorageMgmt API 进行存储阵列管理

    Red Hat Enterprise Linux 7.0 引进了存储阵列管理作为技术预览。libStorageMgmt 是独立于存储阵列的应用程序编程界面(API)。它提供稳定且持久的 API,可让开发人员以编程方式管理不同的存储阵列,并利用所提供的硬件加速功能。系统管理员还可以将其作为手动管理存储的工具使用,同时使用附带的命令行界面(CLI)自动化存储管理任务。

    ⁠LSI Synchro 支持

    Red Hat Enterprise Linux 7.0 包含 megaraid_sas 驱动程序中代码用于启用 LSI Syncro CS 高可用直接附加组件(HA-DAS)适配器。尽管在以前启用的适配器中完全支持 megaraid_sas 驱动程序,但在 Syncro CS 中使用这个驱动程序仍处于技术预览阶段。对这个适配器的支持将直接由 LSI、您的系统集成商或者系统销售商提供。我们鼓励在 Red Hat Enterprise Linux 7.0 中部署 Syncro CS 的用户为 Red Hat 和 LSI 提供反馈意见。有关 LSI Syncro CS 解决方案的详情请参考http://www.lsi.com/products/shared-das/pages/default.aspx

    ⁠LVM 应用程序编程界面

    Red Hat Enterprise Linux 7.0 提供新的 LVM 应用程序编程界面(API)作为技术预览。使用这个 API 可查询并控制 LVM 的具体方面。

    ⁠DIF/DIX 支持

    DIF/DIX 是 SCSI 标准的新版本,同时在 Red Hat Enterprise Linux 7.0 中也是技术预览。DIF/DIX 将通常使用的 512 字节磁盘块大小从 512 字节增大到 520 字节,添加了数据完整性字段(DIF)。DIF 在发生写入操作时为主机总线适配器(HBA)计算的数据库保存 checksum 值。该存储设备在收到 checksum 后确认,并同时保存该数据和 checksum。相反,当发生读取操作时,可在收到 HBA 后由该存储设备检查 checksum。详情请参考启用了 DIF/DIX 的块设备一节,网址《存储管理指南》

    ⁠支持平行 NFS

    平行 NFS(pNFS)是 NFS v4.1 标准的一部分,可让客户端直接且平行访问存储设备。pNFS 架构可为一些常规负载提高 NFS 服务器的可延伸性及性能。pNFS 定义了三种不同的存储协议或者布局:文件、对象和块。Red Hat Enterprise Linux 7.0 客户端全面支持文件布局,但块布局和对象布局只能作为技术预览使用。pNFS 的详情请参考 http://www.pnfs.com/。

    文件系统

    ⁠支持 XFS 文件系统

    目前使用 Anaconda 安装的 Red Hat Enterprise Linux 7.0 中使用的默认文件系统是 XFS,它替换了在 Red Hat Enterprise Linux 6 中使用的第四代扩展的文件系统(ext4)。ext4 和 Btrfs(B-Tree)文件系统可作为 XFS 的备选。XFS 是高度可扩展、高性能文件系统,最初由 Silicon Graphics, Inc 设计,目的是为了支持高达 16 艾字节(约 1600万TB)的文件系统,多达 8 艾字节(约 800万TB)以及包含数千万条目的目录结构。XFS 支持元数据日志,它可加快崩溃的恢复。XFS 文件系统还可在挂载且活跃的情况下进行清理碎片和扩展操作。有关 ext4 和 XFS 间常规任务所使用命令的不同请参考《安装指南》中的参考表格。

    ⁠支持 IBM System z 中的 libhugetlbfs

    目前支持 IBM System z 架构中的 libhugetlbfs 库。该库允许 C 和 C++ 程序中的大页面透明开发。应用程序及中间件程序可从其性能优点或者大页面中受益而无需进行更改或者重新编译。

    本系列文章来自 RHEL 7.0 的发行注记,完整内容请移步:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/index.html 

    来源:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/index.html

    Linux:RHEL 7特性说明(四):内核

    Red Hat Enterprise Linux 7.0 是 Red Hat 的下一代操作系统完整套件,旨在用于关键任务企业级计算以及顶级企业级软件和硬件零售商认证。

    Linux:RHEL 7特性说明(四):内核
    Linux:RHEL 7特性说明(四):内核

    内核

    Red Hat Enterprise Linux 7.0 采用 kernel 版本 3.10,该版本提供大量新功能,主要列举如下。

    ⁠支持大的 crashkernel 大小

    Red Hat Enterprise Linux 7.0 支持在有大内存(最大为 3TB)的系统中使用 kdump 崩溃转储机制。

    ⁠在一个以上 CPU 中使用 crashkernel

    Red Hat Enterprise Linux 7.0 启用在一个以上 CPU 中引导 crashnernel 的功能。这个功能作为技术预览支持。

    ⁠Swap 内存压缩

    Red Hat Enterprise Linux 7.0 引进了一个新功能,即 swap 内存压缩。Swap 压缩由 zswap 执行,这是一个用于 frontswap 的精简后端。采用 swap 内存压缩技术可保证显著减少 I/O 并提高性能。

    ⁠采用 NUMA 的调度和内存分配

    在 Red Hat Enterprise Linux 7.0 中,内核会在同一系统的不同 NUMA 节点间自动重置进程和内存以提高没有统一内存访问(NUMA)系统的性能.

    ⁠APIC 虚拟化

    通过利用新处理器的硬件功能支持高级程序中断控制器(APIC)注册的虚拟化以便提高虚拟机监视器(VMM)中断处理能力。

    ⁠vmcp 内嵌在内核中

    在 Red Hat Enterprise Linux 7.0 中,vmcp 内核模块内嵌在内核中。这可保证 vmcp 设备节点总会出现,同时用户可在不首先载入 vmcp 内核模块的情况下发送 IBM z/VM hypervisor 控制程序命令。

    ⁠硬件错误报告机制

    目前,Linux 的硬件报错机制还不完善,多数是由各种工具(mcelog 和 EDAC)造成,这些工具从不同源采用不同方法以及不同工具(比如:mcelogedac-utils 和 syslog)收集出错信息,报告出错事件。硬件报错问题可分为两个方面:

    • 收集各种数据,有时是重复数据的不同错误数据收集机制,
    • 以及在不同位置使用不同时间戳报告这些数据的不同工具,使其与事件关联变得困难。

    Red Hat Enterprise Linux 7.0 中的新硬件事件报告机制,也称 HERM 的目标是统一来自不同源的出错数据集合,并采用连续时间线和单一位置向用户控件报告出错事件。Red Hat Enterprise Linux 7.0 中的 HERM 引进了新的用户空间守护进程 rasdaemon,它可捕获并处理所有来自内核追踪架构的可依赖性、可用性及可服务性(RAS)出错事件,并记录它们。Red Hat Enterprise Linux 7.0 中的 HERM 还提供报告那些错误的工具,并可探测不同类型的错误,比如 burst 和 sparse 错误。

    ⁠全面 DynTick 支持

    nohz_full 引导参数将最初的无缝内核功能延伸到额外的情况,比如可以停止 tick 的时候,可以使用 per-cpu nr_running=1 设置的时候。即在 CPU 的运行队列中只有一个可运行的任务。

    ⁠将内核模块列入黑名单

    Red Hat Enterprise Linux 7.0 提供 modprobe 程序可让用户在安装时将内核模块放入黑名单。要禁用自动载入一个模块,请运行以下命令:

    modprobe.blacklist=module

    ⁠动态内核补丁

    Red Hat Enterprise Linux 7.0 引进了 kpatch,一个动态内核补丁管理程序作为技术预览。用户可使用 kpatch 管理二进制补丁集合,它可在不重启的情况下动态为内核打补丁。

    ⁠Emulex ocrdma 驱动程序

    Emulex ocrdma 驱动程序在 Red Hat Enterprise Linux 7.0 中是作为技术预览提供。该驱动程序为具体的 Emulex 适配器提供远程直接内存访问(RDMA)功能。

    ⁠dm-era 目标

    Red Hat Enterprise Linux 7.0 引进了 dm-era 设备映射器目标作为技术预览。dm-era 可跟踪在用户定义的时间段(即“era”)内写入的块。每个 era 目标事务可将当前 era 单调地增加到 32 位计数器。这个目标允许备份软件追踪自上次备份后有变化的块。它还允许在返回经销商快照后部分失效的缓存内容恢复缓存一致性。dm-era 目标主要与 dm-cache 目标配对。

     

    本系列文章来自 RHEL 7.0 的发行注记,完整内容请移步:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/index.html 

    来源:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/index.html

    Linux:命令行星期二 —— 第三篇

    今天,肖茨先生将带领我们游历文件系统的第一部分。我们将学到如何访问、列出目录内的文件,以及首次介绍一些选项的运用。OK,让我们开始学习这周的第一个命令。

    ls

    ls 是一个用来列出目录内文件的命令。通过添加选项来实现多种不同的用途。简单起见,你可以只需键入 ls 。但是,你也可以在命令后面添加一个选项,它会帮助你修饰你的命令。如果你想要随意摆弄一些信息时,这会帮到你的。举例来说,当你要从一个命令的大量输出中找寻指定信息,你可以用选项缩小范围来实现。

    这就是选项的基础概念。我们可以用下面书写格式表示:

    command(命令) -option(选项) argument(参数)
    

    命令,恩…,我们可以输入 pwd、 ls, 或者我们到目前为止所有学过的命令。

    以上我们已经阐述了选项的目的。但是我们需要注意一下书写格式:在前头添加一个破折号。所以,如果选项为 l, 你需要在命令后键入-l

    参数是一个命令的操作对象(在这个例子中,它是一个目录,我们将会学到如何浏览它们)。

    接着,让我们尝试在主目录里尝试用 ls 命令列出 /etc 目录内容。这次我们先不添加选项。

    Linux:命令行星期二 —— 第三篇
    Linux:命令行星期二 —— 第三篇

    就这样,列出了一大堆的文件。它们还根据颜色进行了分类。蓝色的是目录,白色的为普通文件,绿色的似乎是某种 shell 脚本文件。除此之外,还有其他不同的颜色来代表不同的文件类型。

    接下来,你可以在刚才的命令里添加 -l 选项。添加选项 -l 后也会列出同样的文件和目录,但是以长格式方式输出。如果你需要查看更多信息的话,这个选项将是不错的选择。

    Linux:命令行星期二 —— 第三篇
    Linux:命令行星期二 —— 第三篇

    长格式

    这样,用了长格式后,你可以看到更详细的信息,以及在每行开头类似-rw-r–r– 令人抓狂的标示。实际上,这只是一种组合,代表了各种意义的信息。

    Linux:命令行星期二 —— 第三篇
    Linux:命令行星期二 —— 第三篇

    (File Name)就是文件的名称。(Modification time)是文件最后修改的时间。(Size) 用 byte 计量的文件大小。(Group) 是组的名称,和拥有者一起构成文件权限。(Owner) 是文件拥有者的名称。最最重要的…

    …文件权限

    文件权限在长格式每一行的开端都显得非常的杂乱。第一个字符代表文件类型。如果是 ‘d’ , 意味着它是一个目录。如果是 ‘-‘ , 意味着它是一个一般文件。接下来的三个字符分别代表拥有者的可读, 可写 ,可执行的权限。再接着三个字符表示组成员的享有的文件权限,而最后三个字符表示其他人(既不是拥有者也不是同组)对文件的享有权限。

    例如,如果有个文件在长格式下显示为:-rw-r–r–, 这说明这是个普通文件(首字符 ‘-‘),拥有者享有可读可写权限,但是没有可执行权限,导致拥有者无法执行该文件(首字符’-‘后’rw-‘),用户组和其他用户只享有可读权限(你不难发现’r–‘字段在后面出现了两次 。如果用户组是 ‘rwx’ 而不是 ‘r-‘,则意味着它们可读,可写,可执行)。

    ls 的下个选项是 ls -la .. ,-a 它会列出所有的文件,包括隐藏文件。在通常情况下,隐藏文件是不可见的。用长格式列出当前工作目录下的父目录的所有文件。

    less

    less 是一个可以显示你的文本文件的命令。举例来说,你要在 /etc 下找寻名为 os-release 的文本文件。你可以使用 ls /etc 成功实现,而现在你想要阅读它的内容。

    你只需要使用 less /etc/os-release。

    Linux:命令行星期二 —— 第三篇
    Linux:命令行星期二 —— 第三篇

    ..就这样了。

    你要如何控制 less 呢?

    简单的, 你只需要动动键盘就行了!

    less 一次只会显示一个页面的文本。往前翻页你需要按 Page Up, 或者 ‘b’。往后翻页你可以按Page Down, 或者 空格。大写的G会跳转到文本的末尾,1G会跳转到文本的开端。/字符会在文本内搜索指定字符(例如,如果你输入 /suse ,它会找寻所有文本含有的 suse 并标记出来)。n 会重复执行你的搜索,h会显示所有的选项(h,即帮助的意思)。

    Linux:命令行星期二 —— 第三篇
    Linux:命令行星期二 —— 第三篇

    按q退出 less 命令。

    file

    file 会显示文件的类型,是否是你要找的 ASCII 文本,还是 jpg 图片,bash 脚本等。让我们用 /etc/os-release 执行练习。

    Linux:命令行星期二 —— 第三篇
    Linux:命令行星期二 —— 第三篇

    这样,如你所见,os-release 是一个 ASCII 文本文件。 请尝试其他文件,并观察结果。

    下回见了,记住…

    …一定要玩的开心啊!


    via: https://news.opensuse.org/2014/07/01/command-line-tuesdays-part-three/

    译者:Luoxcat 校对:wxy

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

    来源:https://linux.cn/article-3399-1.html

    Linux:自动补完不算什么,一键直达目录才是终极神器!

    在命令行中切换目录是最常用的操作,不过很少有比一遍又一遍重复“cd ls cd ls cd ls ……”更令人沮丧的事情了。如果你不是百分百确定你想要进入的下一个目录的名字,那么你不得不使用ls来确认,然后使用cd来进入你想要进的那一个。所幸的是,现在大量的终端和shell语言提供了强大的自动补全功能来处理该问题。但是,你仍然需要一直疯狂地敲击TAB键来干这事。如果你和我一样懒惰,你一定会对autojump感到惊喜。

    autojump是一个命令行工具,它允许你可以直接跳转到你喜爱的目录,而不用管你现在身在何处。

    Linux:自动补完不算什么,一键直达目录才是终极神器!
    Linux:自动补完不算什么,一键直达目录才是终极神器!

    在Linux上安装autojump

    在Ubuntu或Debian上安装autojump:

    $ sudo apt-get install autojump
    

    要在CentOS或Fedora上安装autojump,请使用yum命令。在CentOS上,你需要先启用EPEL仓库才行。

    $ sudo yum install autojump
    

    在Archlinux上安装autojump:

    $ sudo pacman -S autojump
    

    如果你找不到适合你的版本的包,你可以从GitHub上下载源码包来编译。

    autojump的基本用法

    autojump的工作方式很简单:它会在你每次启动命令时记录你当前位置,并把它添加进它自身的数据库中。这样,某些目录比其它一些目录添加的次数多,这些目录一般就代表你最重要的目录,而它们的“权重”也会增大。

    现在不管你在哪个目录,你都可以使用下面的语法来直接跳转到这些目录:

    autojump [目录的名字或名字的一部分]
    

    注意,你不需要输入完整的名称,因为autojump会检索它的数据库,并返回最可能的结果。

    例如,假定我们正在下面的目录结构中工作。

    Linux:自动补完不算什么,一键直达目录才是终极神器!
    Linux:自动补完不算什么,一键直达目录才是终极神器!

    那么下面的命令将直接让你跳到/root/home/doc下,不管你当前位置在哪里。

    $ autojump do
    

    如果你也很讨厌打字,那么我推荐你为autojump起个别名,或者使用默认的别名。

    $ j [目录的名字或名字的一部分]
    

    另外一个引人注目的功能是,autojump支持zsh和自动补完。如果你不确认哪里是不是你要跳转的地方,敲击TAB键就会列出完整路径。

    还是同样的例子,输入:

    $ autojump d
    

    然后敲击tab键,将会返回/root/home/doc或者/root/home/ddl。

    最后,对于高级用户,你可以访问目录数据库,并修改它的内容。可以使用下面的命令来手动添加一个目录:

    $ autojump -a [目录]
    

    如果你突然想要把当前目录变成你的最爱和使用最频繁的文件夹,你可以在该目录通过命令的参数 i 来手工增加它的权重

    $ autojump -i [权重]
    

    这将使得该目录更可能被选择跳转。相反的例子是在该目录使用参数 d 来减少权重:

    $ autojump -d [权重]
    

    要跟踪所有这些改变,输入:

    $ autojump -s
    

    这会显示数据库中的统计数据。而以下:

    $ autojump --purge
    

    命令将会把不再存在的目录从数据库中移除。

    简言之,autojump将会受到所有命令行高级用户的欢迎。不管你是在ssh进一台服务器,还是仅仅想要追随复古潮流,敲更少的键来减少导航时间总是件好事。如果你真的热衷于此类工具,你也肯定也想看看Fasd,它应该会给你一个惊喜——我们下次再介绍它。

    你觉得autojump怎么样?你会经常用它么?发表一下你的评论吧。


    via: http://xmodulo.com/2014/06/speed-up-directory-navigation-linux-terminal.html

    译者:GOLinux 校对:wxy

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

    来源:https://linux.cn/article-3401-1.html