Debian Linux虚拟机安装VirtualBox增强功能

作者:荒原之梦

本文中使用的Debian是安装在VirtualBox中的虚拟机,具体参数如下:
Debian版本:Linux debian 4.9.0-4-amd64
VirtualBox版本:VirtualBox 5.2.6

Debian虚拟机安装VirtualBox增强功能的具体步骤如下:

1 前期准备

打开Debian虚拟机并登陆,依次点击VirtualBox的“设备->安装增强功能”。
这时我们可以在Debian的桌面上看到一个光盘图标,例如我的计算机上图标的名称是:
VBox_GAs_5.2.6

在VBox_GAs_5.2.6图标上右键选择“挂载卷”,之后我们就可以在“/media/cdrom0”路径下看到VBox_GAs_5.2.6中的内容了。

切换到/media/cdrom0路径下:

2 安装内核头文件(root用户下执行)

注:如果不执行这一步,直接执行下一步(第3步)可能会出现如下报错:
his system is currently not set up to build kernel modules.
Please install the gcc make perl packages from your distribution.
Please install the Linux kernel “header” files matching the current kernel
for adding new hardware support to the system.
The distribution packages containing the headers are probably:
报错的原因是没有安装内核头文件,因此,我们首先安装内核头文件。

获取系统内核版本信息:

例如在我的计算机上上述命令的执行结果是:

下一步命令我们需要使用这个参数。

安装内核头文件,命令:

例如在我的计算机上需要执行的命令就是:

3 安装VBox增强功能(root用户下执行)

进入/media/cdrom0路径:

开始安装:

4 重启

 

5

在VirtualBox的“设备”选项下依次将“共享粘贴板”和“拖放”设置成“双向”即可在虚拟机与物理机之间共享粘贴板并实现文件的互相拖放,Debian的显示分辨率也会自动调整。

Windows上使用Thunderbird与GPG发送和解密公钥加密的电子邮件

作者:荒原之梦

非对称加密的原理:

最先出现的加密方法是对称加密。在对称加密算法中是不区分公钥和私钥的,加密与解密使用的都是同一个密码。但是很显然,如果需要对信息进行加密与解密的不是同一个人,使用对称加密算法就存在密钥泄露的极大可能。因此,一种非对称加密的想法在1974年最先由Ralph C. Merkle提出。目前主要的非对称加密算法有:RSA、EIGamal、ECC、背包算法和D-H公钥加密算法等。

1.公钥加密信息的工作过程:

A使用公钥加密算法创建一个自己的公钥A-1和私钥A-2。私钥A-2由A自己保管,不对外公开。公钥A-1则通过一些可信的渠道公布出去,例如使用了HTTPS的网页(这里之所以强调“HTTPS”是因为HTTPS协议对传输的信息做了加密,如果将公钥放在使用HTTP协议的网页上,由于HTTP是明文传输网页数据的,因此在传输的过程中有可能因为遭遇中间人攻击等而出现公钥被修改的可能。前文提到“可信的渠道”也是出于此原因。)、公钥服务器或者面对面传递公钥。B在拿到A的公钥A-1后,如果B想给A发送加密信息就可以使用公钥A-1进行加密后再发送给AA收到加密信息后使用自己知道的,与公钥A-1对应的私钥A-2解密B发来的加密信息。

上述信息加密过程的一个应用就是本文接下来要介绍的发送使用公钥加密的电子邮件并用对应的私钥解密该邮件。公钥加密算法还有一个应用就是用于身份认证,即数字签名技术。

 

2.数字签名的工作过程:

传统的签名可以通过签字人笔迹的唯一性确定信息的所有者。在计算机系统中,我们使用公钥加密算法进行数字签名。首先,仍然是生成一对公钥和私钥,公钥公布,私钥私有,但是这一次私钥不是用来解密的,而是用于加密的。由于私钥的与公钥具有数学上的关联性(虽然公钥与私钥具有相关性,但是使用目前主流的非对称加密算法并且在密钥长度足够复杂的情况下还没有找到破解这种关联性的有效的方法。20180210日注),即一个公钥只对应一个私钥,只要一份文件可以通过一个公钥解密,那么在一般情况这份文件就是由这个公钥所对应的私钥的持有者加密的。这样就可以进行身份认证。

总结一下:

信息加密中,公钥加密,私钥解密;

数字签名中,私钥加密,公钥解密;

无论信息加密还是数字签名都是:公钥公开,私钥保密。

 

前期准备:

  1. 下载和安装Thunderbird。

Thunderbird下载地址:https://www.mozilla.org/en-US/thunderbird/

  1. Thunderbird上登陆一个电子邮件帐号。
  2. 如果想对电子邮件加密技术有一个大致的了解,可以参考我的这篇博文:电子邮件加密技术初探

本文要用到的工具的介绍:

1.Thunderbird

这是一个邮件客户端,有很多插件可以使用,支持WindowsLinuxmacOS.

2.GPG

GPGGnuPG,是由自由软件基金会Free Software Foundation 开发的用于替代商业软件PGP的一款免费软件,可以用来加密数据以及进行数字签名。PGP中使用了具有专利的算法,不能免费使用,而GPG中则没有使用具有专利的算法,可以免费使用。

3.Enigmail
EnigmailThunderbird的一个插件,可以对将要发送的邮件进行GPG公钥加密或对收到的使用GPG加密的邮件进行解密。

发送公钥加密的电子邮件的过程如下:

1.下载安装GPG并创建密钥对
GPG
官网下载地址:https://www.gnupg.org/download/index.html

或者也可以使用Gpg4winGpg4win官网:https://www.gpg4win.org/index.html

本文中使用的是Gpg4win.

Gpg4win安装完成后在默认情况下会打开Kleopatra,点击“创建密钥对”。

输入名字和邮箱,依次点击:下一步>创建

创建的过程中会要求设置一个密码以保护将要生成的私钥,这样可以防止私钥被越权使用。
稍等一会我们就可以看到“密钥对已成功创建”的窗口提示。在该窗口里我们还可以看到密钥指纹(密钥指纹可以用来验证密钥在传输的过程中是否被修改。指纹的另一个重要用途就是,由于公钥服务器并不会对上传的公钥进行身份验证,因此任何人都可以以你的名义上传公钥,为了防止这种情况发生,你可以在你的个人主页上公布自己的密钥指纹,以提供给下载了你的公钥的人用于验证公钥的真伪。)以及“生成您的密钥对副本”、“通过电子邮件发送公钥”和“将公钥上传到目录服务”(如果将公钥上传到了公钥服务器,不同的公钥服务器之间会相互交换公钥,最终你上传到一台公钥服务器上的公钥会遍布全网所有公钥服务器。之后,任何人都可通过该公钥对应的电子邮件地址或者密钥ID查找对应的公钥,从而向我们发送加密信息)这三个选项。

密钥对创建完成后,我们可以在Kleopatra中看到刚才创建的项目,选中该项目可以导出“.asc”格式的公钥,右键可以进行“更改到期日期”等更多操作。

2.在Thunderbird中搜索安装插件Enigmail并配置密钥文件
关于在Thunderbird中安装插件的步骤,可以参考我的这篇文章Windows上设置Mozilla Thunderbird邮件客户端后台运行

 

打开Thunderbird的设置,依次找到 Enigmail->Key Management->File->Import Keys from File 可以导入某个邮箱地址的公钥文件或者在搜索框中通过输入邮箱地址或密钥ID在公钥服务器上搜索对应的公钥。如果已使用GPG创建密钥对的电子邮件地址已经登陆了Thunderbird可以直接在Key Management里看到相关信息,不需要进行密钥文件配置。

安装Enigmail后,如果我们的Thunderbird上的一个邮箱账户没有设置GPG公钥,当我们使用该账户发信时就会弹出如下的警报:

这种情况下,除非对该账号设置GPG公钥或者卸载Enigmail,否则就无法在发送邮件时解除该警报,也无法在Thunderbird上使用该账号发送邮件。

3.发送加密电子邮件
假设我们需要向AAA@AAA.AAA这个电子邮件地址发送GPG加密邮件,首先应该使用第二步介绍的方法导入AAA@AAA.AAA对应的公钥文件(该文件将用于加密邮件),或者通过邮件地址AAA@AAA.AAA或对方的密钥ID在公钥服务器上搜索其公钥,搜索到的公钥需要进行指纹验证以确保该公钥不是伪造的。
当我们第一次使用一个已经设置
GPG公钥的电子邮件地址向另外一个具有GPG公钥的电子邮件地址发送邮件时会弹出确认提示:

点击 Configure ,选中 Enable OpenPGP support (Enigmail) for this identity ,点击 OK . 之后会弹出窗口询问我们是想使用GPG进行加密还是进行身份认证以及使用哪种GPG加密方式:

这里我们选择 Encrypt Message  Use PGP/MIME ,点击 OK .

在发送邮件之前,我们可以通过点击工具栏上的小锁在加密与不加密之间切换。

 

4.解密收到的加密电子邮件

假设我们的一个邮箱地址BBB@BBB.BBB接收到一封GPG加密的电子邮件(该邮件使用的是BBB@BBB.BBB的公钥进行的加密),那么,我们就可以在安装有GPG软件的电脑上(且该电脑上存储有BBB@BBB.BBB的私钥)使用邮件客户端,通过输入BBB@BBB.BBB的私钥加密密码的方式解密该邮件。在网页端登陆邮箱,需要配合插件来解密GPG加密的邮件。

1:前面设置密钥对时设置的密码并不是私钥,而是加密私钥的密码,仅仅使用该密码是不可以解密邮件的,必须配合私钥文件一起才能解密。

2GPG加密的邮件并不会加密邮件地址和标题。

RedHat 7.0及CentOS 7.0禁止Ping的三种方法(附:ICMP数值类型与功能表)

作者:荒原之梦
前言:
“Ping”属于ICMP协议(即“Internet控制报文协议”),而ICMP协议是TCP/IP协议的一个子协议,工作在网际层。ICMP协议主要用于传输网络是否连通、主机是否可达以及路由是否可用等控制信息。Ping可以回显TTL生存时间,网络延迟等信息,而且响应Ping请求也会消耗服务器资源。因此,在服务器上禁用ICMP响应可以尽可能的隐藏服务器在Internet上的踪迹,降低受攻击面。本文介绍三种方法禁用(或启用)ICMP响应,即禁止(或允许)Ping.

操作环境:

RedHat 7.0(CentOS 7.0的操作方法与此一致)

方法一 临时禁用ICMP协议

修改文件 /proc/sys/net/ipv4/icmp_echo_ignore_all 的值。
切换到root,输入命令:
这样就将 /proc/sys/net/ipv4/icmp_echo_ignore_all 文件里面的 0 临时改为了 1 ,从而实现禁止ICMP报文的所有请求,达到禁止Ping的效果,网络中的其他主机Ping该主机时会显示“请求超时”,但该服务器此时是可以Ping其他主机的。
如果想启用ICMP响应,则输入:

 

注0:由于 /proc/sys/net/ipv4/icmp_echo_ignore_all 这个文件是只读的,即使我们使用root用户登陆,vim打开 /proc/sys/net/ipv4/icmp_echo_ignore_all ,将里面的 0 该为 1 之后使用 qw! 强制保存也无法完成修改。因此上面这个方法只是临时的,一旦服务器重启就又会回到默认的 0 状态(假设修改前 /proc/sys/net/ipv4/icmp_echo_ignore_all 里面的值就是 0 )。如果想永久修改(当然也可以改回来,只是不再受服务器关机或重启的影响)请使用方法二或方法三。

方法二 永久禁用ICMP协议:

禁用ICMP协议,输入:

 

添加一条信息:
保存并退出。
输入:
使配置生效。
启用ICMP协议,输入:

 

将:

 

修改为:

 

如果没有 net.ipv4.icmp_echo_ignore_all = 1 就添加:
保存并退出。
输入:
使配置生效。
注1:如果想启用ICMP响应,不能直接在 /etc/sysctl.conf 里删除 net.ipv4.icmp_echo_ignore_all = 1 之后 sysctl -p . 这样做仍然是禁止Ping的状态,此时使用命令: vim /proc/sys/net/ipv4/icmp_echo_ignore_all 查看发现其值仍然是 1 , 即仍处于拒绝ICMP响应的状态。

方法三 配置IPTABLES防火墙

Iptables防火墙是集成于Linux内核的IP信息包过滤系统。方法三不能和上面的方法一和方法二组合使用。即,在使用方法三时不能已经使用方法一或方法二禁止了Ping.
禁止Ping,输入:

 

停止禁用Ping,输入:

 

上面两条命令的简要解释:


 

注2:由于方法三是对防火墙进行的设置,所以使用方法三禁止Ping后只会阻止来自外网的Ping请求,内网主机的Ping请求仍然会正常响应。使用方法一和方法二禁止Ping后不仅会阻止外网的Ping请求也会阻止内网的Ping请求。
注3:ICMP数值类型与功能表
Type
Code
Description
Query
Error
0
0
Echo Reply
x
3
0
Network Unreachable
x
3
1
Host Unreachable
x
3
2
Protocol Unreachable
x
3
3
Port Unreachable
x
3
4
Fragmentation needed but no frag. bit set
x
3
5
Source routing failed
x
3
6
Destination network unknown
x
3
7
Destination host unknown
x
3
8
Source host isolated (obsolete)
x
3
9
Destination network administratively prohibited
x
3
10
Destination host administratively prohibited
x
3
11
Network unreachable for TOS
x
3
12
Host unreachable for TOS
x
3
13
Communication administratively prohibited by filtering
x
3
14
Host precedence violation
x
3
15
Precedence cutoff in effect
x
4
0
Source quench
5
0
Redirect for network
5
1
Redirect for host
5
2
Redirect for TOS and network
5
3
Redirect for TOS and host
8
0
Echo request
x
9
0
Router advertisement
10
0
Route solicitation
11
0
TTL equals 0 during transit
x
11
1
TTL equals 0 during reassembly
x
12
0
IP header bad (catchall error)
x
12
1
Required options missing
x
13
0
Timestamp request (obsolete)
x
14
Timestamp reply (obsolete)
x
15
0
Information request (obsolete)
x
16
0
Information reply (obsolete)
x
17
0
Address mask request
x
18
0
Address mask reply

Windows上设置Mozilla Thunderbird邮件客户端后台运行

作者:荒原之梦

操作系统:

Windows 10

Thunderbird版本:

52.6.0(32-bit)

Thunderbird官网页面:https://www.mozilla.org/zh-CN/thunderbird/

目前版本的Thunderbird本身并没有可以使我们在点击了关闭按钮后进入后台运行的选项,一旦我们关闭了Thunderbird可能就无法及时获得新邮件提醒。但是,如同Mozilla的Firefox浏览器一样,Mozilla Thunderbird也有很多插件可以使用,本文就通过安装插件的方法使Thunderbird可以进入后台运行模式。

一 打开Thunderbird,点击右上角的“Display the Thunderbird Menu”按钮

1

 

二 点击” Add-ons->Plugins”

2

 

三 在搜索框输入“minimize”

查找可以使Thunderbird进入后台运行的插件。

3

 

四 点击“See all 245 results”

这里我们选择搜索结果的第一个插件 Minimize To Tray results ,根据介绍它可以Minimize windows into the system tray, 正好符合我们的要求。但是该插件后面并没有显示 Add to Thunderbird 按钮,而是显示一个警示信息:

This add-ons is not compatible with your version of Thunderbird.

4

 

点击该插件会打开浏览器。

5

这时我们发现,该插件支持的Thunderbird版本是 31.0-50.* ,而我们使用的是 52.6.0 版本的Thunderbird. 不过没关系,该插件在 52.6.0 版本的Thunderbird上仍然可以使用,只是我们需要手动安装它了。

 

五 下载插件

点击 Download for Windows 下载该插件。

6

 

六 安装插件

重复第二步,在Thunderbird中打开 Add-ons Manager 页面,点击 Plugins->小齿轮->Install Add-on From File .

7

 

之后选中刚才下载的插件,依次点击 打开->Install Now , 随后会提示我们重启Thunderbird,点击 Restart Now .

七 设置插件工作模式

重启Thunderbird后我们就可以在 Extensions 里找到 Minimize To Tray revived(MinTrayR) 这个插件了,点击 Options 可以对其进行设置。这里我们选择Minimize to tray的工作模式是Instead of closing, 也就是Minimize to tray instead of closing. 这时我们再点击Thunderbird的关闭按钮时Thunderbird就会进入后台运行,有新邮件时我们就可以及时收到提示。

在VirtualBox中安装BlackArch Linux

作者:荒原之梦

安装前的准备

下载系统映像:BlackArch Linux官网下载页面

在本文中我使用的是BlackArch Linux的Live ISO,这样可以减少安装时下载系统的时间。BlackArch的Live ISO文件有7.5G,我们可以使用BT种子来下载,这里BlackArch 2017.12.11 版本的BT种子,同时也是本文中使用的BlackArch版本。

另外,BlackArch Linux官网还提供有 BlackArch 2017.06.18 版本的OVA Image下载,该文件下载完成后可以直接使用VirtualBox或VMware打开使用,文件大小为18G,启动系统后默认的用户名和密码为: root:blackarch ,BlackArch OVA Image的BT种子可以在这里下载

注:较新版本的BlackArch中只提供有64位的版本,BlackArch Linux官网不再提供新版本BlackArch的32位版本。

BlackArch简介

BlackArch官网:https://blackarch.org/index.html

BlackArch Linux是一个基于Arch Linux的主要用于渗透测试的操作系统,集成超过1900种工具。BlackArch是一个志愿项目,由志愿者维护开发,如图是部分志愿者的信息:

图 1

 

BlackArch安装

1 打开VirtualBox,新建一个虚拟电脑

图 2

 

内存:2G

硬盘:64G

 

2 添加ISO映像

点击 启动 ,在 选择启动盘 对话窗口添加我们已经下载的Live ISO. 之后点击 启动 :

图 3

 

3 开始安装

这时就进入安装程序了,选中第一项,回车:

图 4

 

之后输入用户名和密码就登陆进系统了:

 

由于我们使用的是Live ISO,可以不用联网就完成安装,但是在这里我们还是先连上网再进行安装,联网方法:

图 5

 

这样就打开了网络连接的图形化界面,点击 Connect 就可以自动联网了。

图 6

 

连上之后是这样的:

图 7

 

右键选择 terminals ,选择一种颜色的终端输入:

 

 

显示可以 Ping 通:

图 8

 

在之前版本的BlackArch中为了检查网络是否已经连接,在脚本中采用的是 ping www.google.com 的方式进行判断的,本文中使用的这个版本则将用于判断网络是否正常连接的网址更换成了 http://github.com :

输入命令:

vim /bin/blackarch-install

图 9

 

如果你的网络能连接 http://github.com 就不需要做任何更改,否则就需要换成一个你的网络状态下可以访问的网址。

输入命令:

blackarch-install

输入 2 :

图 10

 

输入 1 :

图 11

 

这里让我们选择键盘类型,一般在中国大陆销售和使用的计算机键盘都是美式全键盘,因此这里输入 us :

图 12

 

这里让我们设置一个主机名,根据自己的想法设置就可以:

图 13

 

这里设置将BlackArch安装在哪块硬盘上,由于我的虚拟机里只挂载了一块硬盘,这里也就只显示了 sda ,输入 sda :

图 14

 

输入 y 使用 cfdisk 创建 root 、 boot 和 swap 三个分区:

图 15

 

安装脚本询问我们是否从内存的第0位分区表开始,输入 y :

图 16

 

选择 dos 并回车:

图 17

 

下面开始分区了。

开始创建Boot引导分区

选中 New 并回车:

图 18

 

输入 500M 并回车:

图 19

 

选中 primary 并回车:

图 20

 

选中刚才创建的分区并选中 Bootable 并回车:

图 21

 

图 22

 

至此,Boot引导分区创建成功。

 

开始创建Swap交换分区

选中空闲空间之后选中 New 并回车:

图 23

 

输入 512M 并回车:

图 24

 

选中 primary 并回车:

图 25

 

在这个分区里我们需要指定一个不同的分区类型。选中 Type 并回车:

图 26

 

选中82对应的 Linux swap / Solaris 并回车:

图 27

 

至此,Swap交换分区创建成功。

 

开始创建Root根分区

仍然是选中空闲空间,选中 New 并回车:

图 28

 

这一次不需要输入分区大小了,就按默认的,也就是将剩下的全部磁盘空间都划分到Root根分区:

图 29

 

选中 primary 并回车:

图 30

 

至此,Root根分区创建成功。

现在,我们需要保存分区表。选中 Write 并回车:

图 31

 

输入 yes 确认所做的更改:

图 32

 

现在可以退出磁盘分区了,选中 Quit 并回车:

图 33

 

接下来安装脚本会询问我们是否加密整个Boot分区,如果没有敏感信息可以选择不加密:

图 34

 

现在开始定义文件系统的类型

第一个是Boot分区,在 /dev/sda1 ,输入:

 

Boot分区的文件系统类型设置为 Ext4 ,输入:

ext4

第二个是Root分区,在 /dev/sda3 ,输入:

 

Root根分区的文件系统类型设置为 Ext4 ,输入:

 

第三个是Swap交换分区,在 /dev/sda2 ,输入:

 

Swap交换分区不用指定文件系统类型。

 

这一步询问分区是否正确,输入 y :

图 35

 

是否确认格式化分区,输入 y :

图 36

 

安装正式开始了,Grab a coffee or make sex:

图 37

 

等待一段时间后就开始设置登陆账户了,首先设置root账户密码:

图 38

 

现在输入 y 创建一个普通账户:

图 39

 

设置普通账户的密码:

图 40

 

输入 y 选择时区:

图 41

 

输入 UTC 选择世界标准时间:

图 42

 

完蛋了,Game Over了……

图 43

这只是一个小玩笑,输入 reboot 重启后就可以进入安装好的BlackArch Linux系统了:

图 44

BlackArch安装(译文)

翻译:荒原之梦

原文地址:BlackArch Install

以下是译文:

该教程将会向你展示如何使用ISO和blackarch-installer安装BlackArch Linux. 这个教程中使用的是VirtualBox,但是如果你更喜欢其他虚拟化软件也可以使用它们。

我们假设你已经在USB或者DVD上完成了烧制并且你已经准备好进行安装了。当你引导Image映像时会看到类似下图所示的内容。选中选项并按下回车。【例如: BlackArch Linux(x86_64)for 64bit 】

如果你想使用VirtualBox 安装BlackArch,请确保你选择了正确的ISO。检查你的硬件是否支持虚拟化。如果支持虚拟化,那么就在你的UEFI/BIOS的设置里启用虚拟化。如果不支持虚拟化,你必须使用32位的ISO. 使用KVM的Qemu模拟处理器已经测试成功并可以代替VirtualBox使用。

图 1

 

等到请求登陆BlackArch的登录提示 BlackArch login 出现。BlackArch的默认登录凭证是:

 

为了开始安装,你必须执行BlackArch的安装脚本。为了避免可能导致你重新开始安装的任何问题,请确保在你想安装BlackArch的机器上有可用的网络连接。你可以使用这个命令:

ip a

列举出可用的网络连接。如果你想用Wifi或者只有使用Wifi这一个选择,你可能需要阅读BlackArch的wiki文档了解如何设置无线连接。(即: wifi-menu/netctl )如果你的键盘和默认的键盘(美式全键盘)不同,你可以设置对应于你的语言或国家的keymap按键映射。例如,你可以输入命令:

 

按照两位的国家代码选择你的键盘类型。

执行命令:

 

开始BlackArch的安装脚本。

在本教程中,你可能会想在安装BlackArch的同时执行一些shell脚本。(你可以在不停止安装脚本的情况下于任何时候通过同时使用 ctrl + alt + f2 来切换TTY终端(f1是你运行blackarch-install脚本的默认键(如果你不在其他TTY终端执行它的话……),f2,f3,f4,f5或f6将会打开一个新的TTY终端,这样你就可以执行任何你需要的命令。这仅仅是一个以防你不知道这些的提示)。

译者注:“TTY”直译为“电传打字机”,在早期计算机中出现带有显示屏的终端之前,TTY是一种常用的终端设备,就是将计算机需要显示的内容和操作者输入的内容都打印到纸上以显示出来。

图 2

 

现在应该显示出来的三个选项

1 使用Pacman软件包管理器从存储仓库安装

这是选择通过网络安装ISO的推荐选项,这可以从Arch和BlackArch的官方存储仓库中获取所需的安装包。

2 从Live-ISO安装

如果你下载了Live ISO文件而且你选择以这种方式安装的话,那么在安装的过程中就不需要网络连接。然而,为了获取系统更新,在安装完成后,一旦到达安装环境(在你引导进入新的安装之后)使用 pacman-Syyu 开始一个通用的更新。

3 使用blackman从安装源安装

这种安装方法不推荐刚开始接触BlackArch的人使用,和pacman直接从存储仓库获取已经编译好的安装包不同的是,这种安装方法将从安装源获取源代码之后再进行编译。这和emerge在可用于Gentoo系统上的方法类似(blackman只是从源代码编译,emerge有更高级的灵活性而且提供了大量的特性)

图 3

 

你可能已经选定了你想要的keymap按键映射。如果你的键盘是一个全键盘,你可以继续使用美式键码,然而,情况可能并非总是如此。如果你无法确定,你可能需要在BlackArch中通过选择 2 来列举出所有可用的按键映射。大多数时候,都是使用的英语国家的代码。对于法国的AZERTY键盘,按键映射的代码是 fr ,对于西班牙语则是 es 等等。如果你知道按键映射,选择 1

图 4

 

你需要按照上面的解释写下按键映射的代码

图 5

 

主机名称基本上是在你的本地网络上你想给你的计算机的名字。计算机将解析成你给定的名称。你可以选择一个任何你喜欢的名字,并且你可以在任何时候通过编辑 /etc/hostname 这个文件来改变你的主机名。

图 6

 

一个可用的网络接口列表将被显示。正如之前的解释,如果可能的话,你需要设置你的以太网接口,安装脚本不提供针对Wifi的支持。但是使用Wifi仍然是可能的,只是你需要自己设置它。

图 7

 

1 自动DHCP(如果你在厨房工作就使用这个)

这是一个简单的而且被推荐的方法去自动设置你的网络信息。(这将从你的DHCP服务器或者路由设备上请求或租赁一个IP。)

2 手动(如果你是1337的话可以使用这个方法)

如果你选择手动的方法,你必须知道你的网络的信息(你的网关,局域网IP地址,子网掩码等等。)

3 跳过(如果你已经连上网了可以使用这个方法)

如果你的网络接口已经设置好了而且可以连上网,那么就使用这个选项。

在一些情况下,例如VirtualBox或者Qemu这样的虚拟化环境, 你的一些防火墙规则将可能会阻碍ICMP报文,这将会禁止使用ping并在脚本退出后阻止安装,这个时候你就要考虑你的网络接口的配置是否正确。你可以通过编辑位于 /usr/bin/blackarch-install 这个文件中以 if ! ping -c 1 github.com > /dev/null 2>&1 开头的第545行到第548行来解决这个问题,你必须检查每一行的条件或者移除它。一旦编辑完成并且保存好了,就重新开始运行 blackarch-install 脚本进行安装。

图 8

 

Pacman软件包管理器现在已经更新了每个Repo,下载并且安装了一些为进行下一步安装BlackArch所需要的基本系统包。如果你的下载速度很慢,这将会花费一些时间,不如先去喝一杯咖啡吧!

图 9

 

一旦准备工作就绪,脚本运行完毕,你就需要在你安装BlackArch的设备上设置分区了。你将需要选择使用2个或者3个分区。

1) Boot启动分区

2)Root根分区

3)Swap交换分区*

*交换分区是可选的,如果在虚拟机上你可以不设置交换分区。

我们仍然推荐你设置一个小一点的交换分区,这可以避免由于内存潜在的问题导致的系统崩溃。

为了防止有两块硬盘被列出而你不确定你想将BlackArch安装在哪一块硬盘上,你可以使用 fdisk 来显示目标硬盘的大小,例如,如果你已经列出了sda这块硬盘并且想知道它的大小和可选的文件系统(如果有的话),那么就输入:

图 10

 

当脚本问你是否想使用cfdisk创建分区时,如果你想创建就使用 y ,否则就使用 n 停止安装。

图 11

 

如果你的存储设备已经具有标签类型,你就不会看到这个,否则就选择 dos

图 12

 

现在你可以设置分区了。示例给出的是一个基本的而且在大多数时候都可以使用的分区方案。你需要至少创建两个分区(Boot启动分区和Root根分区),但在本示例中我们将会创建包括交换分区在内的3个分区。让我们从第一个分区,Boot启动分区开始吧。

图 13

 

使用方向键,选中 New ,按下回车键并输入 500M ,对于大多数使用者而言这些空间已经足够了,因为你不会同时拥有超过3个不同的内核。

图 14

 

选中 primary 并按下回车:

图 15

 

你需要将此分区标记为可引导分区。选中 bootable 选项并按下回车。屏幕上会出现这个 * ,之后进入第二个分区,按下向下的方向键选择空闲空间,之后选中 New

图 16

 

这就是我们的交换分区了。按下回车键,输入 512M .再次按下回车键并选择 primary 。

图 17

 

在这个分区里你需要一个不同的文件系统类型。使用方向键选中 Type 并按下回车。这时将会显示一个列表。

选中 Linux swap, solaris 并按下回车键。让我们开始最后一个分区的设置吧。这个过程和我们之前做过的一样,选择一个没被使用的空闲空间,之后选中 New 并按下回车键。这一次你不需要输入任何东西了。我们希望能使用所有可被使用的空闲空间。简单的按下两次回车就可以了。

图 18

 

在你退出cfdisk之前你必须保存分区表。选中 Write 并按下回车。它将会询问你是否确认你所做的更改。输入 yes 并按下回车键,现在你可以退出了。

图 19

 

你可以选择使用LUKS对你的Root根分区进行完全加密。如果你有一些敏感数据而且你想对任何人都保持这些数据的私有状态,我们推荐你输入 y (防止你的电脑被盗或者被某个机构拿走……)。不要做太容易的事,因为结果可能会很残酷。

请注意,如果你忘记了密码那么将无法解锁使用LUKS加密的分区,数据和密码都可以被恢复,一个好的举措就是在一张纸上写下你的密码,之后把它藏在一个安全的地方。这可以防止你忘记密码,把你从麻烦中解救出来。

如果你有一个SSD硬盘,并且你使用LUKS加密了SSD硬盘上的数据,这将会大幅减少SSD硬盘的使用寿命。加密存储数据需要大量的硬盘写入操作(解密也是如此),你可以通过在bootloader中添加 root_trim=yes 作为一个选项来解决这个问题。

对于Grub,你需要寻找当前使用的内核中的这一行,类似下面这样:

linux /vmlinuz ... root=/dev/mapper/ ... root_trim=yes

(把它加在这一行的结束)

图 20

 

每个分区的文件系统都必须被定义。因为Ext4是最新的文件系统,所以默认是Ext4.第一步,Boot启动分区在 /dev/sda1 ,选择Ext4文件系统,第二步,Root根分区在 /dev/sda3 ,选择Ext4文件系统。最后一个是交换分区,在 /dev/sda2 ,如果你没有创建交换分区,就按一下回车键就可以了。

图 21

 

(如果你选择了使用LUKS加密)安装脚本会询问你三次以确认。最后一次必须以 YES 来确认(需要使用大写字母)。

如果你选择了加密整个Root根目录的选项,你必须设置一个密码。在引导完加载程序之后,将在每个引导程序中显示一次请求密码的提示。

当你确认你的密码时,Root根分区将被立即加密。当该分区被完全加密后,安装脚本需要挂载硬盘,这个时候你需要输入密码来解密Root根分区,这样安装脚本才可以挂载硬盘并完成安装。

图 22

 

现在安装脚本将为你的系统下载最新的必要安装包。这需要一点时间,具体取决于你的网速。当这个安装任务完成时,你将会被要求设置一个root账户的密码。

图 23

 

下一步你需要创建一个普通账户,将root账户作为唯一的账户是错误的并且你不应该这么做。

图 24

 

当安装脚本询问你选择一个镜像时,(使用默认的就可以)你可以在稍后做出更改。

图 25

 

从现在开始,最后的这三个步骤是可选的。脚本会询问你是否想拥有X display(图形化环境,一个桌面),在你选择 y 并按下回车键之前,请确保没有人看着你的显示器,这很重要。

图 26

 

你需要在是否下载VirtualBox guest additions/tools上做出选择,如果你对此不感兴趣,输入 n 并按下回车。如果你想要BlackArch tools,那么就输入 y 从BlackArch Repo下载和安装超过1500种工具,如果你想要的话,也可以之后获取。这是一个可以跳过的选项。

图 27

 

如果你想知道这是什么意思,这只是开发人员给你开的一个“玩笑”。换句话说,这意味着安装已经结束了。你可以重启并登陆你的全新的BlackArch Linux操作系统。

图 28

 

如果你选择了加密整个Root根分区,每次引导的时候都会提示你输入使用LUKS加密的该分区的密钥。

图 29

 

享用BlackArch Linux吧,而且要记得BlackArch的开发人员/贡献者都是志愿者。所有这些工作都是在他们的空闲时间完成并免费提供的。你可以通过捐赠来帮助我们,所有捐赠款项都将只用于该项目。