「荒原之梦考研数学」文章

Git Push:error: Couldn’t set refs/remotes/origin/master;error: update_ref failed for ref ‘refs/remotes/origin/master’:

作者:荒原之梦

今天使用Git Push代码时产生错误:

Rename from 'XXXX/.git/refs/remotes/origin/master.lock' to 'XXX/.git/refs/remotes/origin/master' failed. 
Should I try again? (y/n)
输入y 还会重复出现上述提示,输入n 则会出现下面的错误提示:
error: Couldn't set refs/remotes/origin/master error: update_ref failed for ref 'refs/remotes/origin/master':
不过,虽然出现了如上错误提示,但是代码是可以正确Push到远程仓库的。

问题解决过程:

进入.git/refs/remotes/origin 目录:
cd .git/refs/remotes/origin
发现并没有master.lock 这个文件,所以想到是否可以通过创建master.lock 这个文件解决问题,输入:
echo ref: refs/remotes/origin >master.lock
创建master.lock .
经测试,问题解决。

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,输入命令:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
这样就将/proc/sys/net/ipv4/icmp_echo_ignore_all 文件里面的 0 临时改为了1 ,从而实现禁止ICMP报文的所有请求,达到禁止Ping的效果,网络中的其他主机Ping该主机时会显示“请求超时”,但该服务器此时是可以Ping其他主机的。
如果想启用ICMP响应,则输入:
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
注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协议,输入:
vim /etc/sysctl.conf
添加一条信息:
net.ipv4.icmp_echo_ignore_all = 1
保存并退出。
输入:
sysctl -p
使配置生效。
启用ICMP协议,输入:
vim /etc/sysctl.conf
将:
net.ipv4.icmp_echo_ignore_all = 1
修改为:
net.ipv4.icmp_echo_ignore_all = 0
如果没有net.ipv4.icmp_echo_ignore_all = 1 就添加:
net.ipv4.icmp_echo_ignore_all = 0
保存并退出。
输入:
sysctl -p
使配置生效。
注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,输入:
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
停止禁用Ping,输入:
iptables -D INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP

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

-A:添加防火墙规则.
INPUT:入站规则.
-p icmp:指定包检查的协议为ICMP协议.
--icmp-type 8:指定ICMP类型为8(关于ICMP类型与数值的对应关系和功能,见注3).
-s:指定IP和掩码,“0/0”表示此规则针对所有IP和掩码.
-j:指定目标规则,即包匹配则应到做什么,"DROP"表示丢弃.
注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

修改WordPress后台默认登陆地址提高网站安全性

作者:荒原之梦
 
安装完WordPress后,默认的登陆地址就是:
http://XXX.XXX/wordpress/wp-admin/
(其中”XXX.XXX”表示你的网站域名)
由于这个时候网站后台登陆地址相当于是公开的,所以就很容易受到攻击,例如暴力破解。
下面我们通过在WordPress的默认登陆地址后面添加一段标记代码的方法防止发生这种情况。
 

具体步骤如下:

 

1 打开当前使用的WordPress主题中的functions.php文件

 
在末尾加上代码:
 
add_action('login_enqueue_scripts','login_protection');  
function login_protection(){  
    if($_GET['master'] != 'hello')header('Location: https://XXX.XXX');  
}

2 保存并退出

 
1 其中master(标记信息) 、hello(标记信息) 和XXX.XXX(网址) 都可以自定义。
2 URL是区分大小写字母的,所以设置标记信息时大小写字母和数字都可以使用(参见:HTML and URLs )。
3 由于URL编码中特殊字符一般都有专用含义,所以如果标记信息中使用了特殊字符需要确认一下是否能正常登陆。
 
这样WordPress后台的登陆地址就变成了:

 

http://www.XXX.XXX/wordpress/wp-login.php?master=hello
 
由于网站安装目录不同,如果上述地址无法登陆,可以尝试使用下面的地址登陆

 

http://www.XXX.XXX/wp-login.php?master=hello
 
这样一来,如果登陆地址错误就会跳转到XXX.XXX .
如果https://XXX.XXX 是你的网站的首页,那么就会跳转到首页。

解决WordPress用户名密码都正确但点击登陆就清空密码的问题

作者:荒原之梦

问题产生的环境与问题描述:

今天我在浏览器的书签里将我保存的用于登陆WordPress的书签名字改了一下,之后再登陆WordPress就出现提示说Cookies被阻止,要启用Cookies,但是启用了Cookies后再输入账号和密码进行登陆却发现一点击“登陆”按钮,密码就会被清空而且无法登陆。

解决办法:

将登陆地址由:
http://zhaokaifeng.com/wordpress/wp-admin/
改为:
http://zhaokaifeng.com/wordpress/wp-admin/index.php
之后换了一个浏览器重新在:
http://zhaokaifeng.com/wordpress/wp-admin/
登陆,发现可以正常登陆。
至此,问题解决,尚未发现异常。

Windows上使用Git托管代码到Coding

作者:荒原之梦

Git简介:

Git是一款分布式版本控制系统,可用于项目的版本管理。Git可以管理本地代码仓库与远程代码仓库间的连接以及进行版本控制,使得我们可以在本地离线进行修改等操作,之后再将代码提交到远程代码仓库,方便团队协作。

Git官网:

https://git-scm.com/

Git百度百科:

https://baike.baidu.com/item/GIT/12647237?fr=aladdin

Git Github主页:

https://github.com/git

在使用Git与远程仓库进行代码交互的时候会遇到一些操作动作,如“克隆”、“推送”和“拉取”等,这些动作的英文名称以及对应的含义如下:

名称
功能
Clone(克隆)将远程仓库里面的代码复制一份到本地
Push(推送)将代码推送到远程仓库中
Fetch(获取)获取远程仓库中发生变化的代码
Merge(合并)将远程仓库中发生变化的代码与本地存储的没有发生变化的代码合并以使本地仓库和远程仓库代码保持一致
Pull(拉取)功能等同于“fetch+merge”
Commit(提交)将修改推送到本地仓库中
Fork将代码从别人的远程仓库复制到自己的远程仓库
Pull request将自己远程仓库中的代码复制一份到别人的远程仓库(该操作将会询问对方是否接受)

如果要将修改Push到别人的远程仓库,必须首先Fork别人的代码到自己的远程仓库,修改完再Push. 而不能直接Clone别人的代码到本地,这样再想Push到别人的远程仓库是不行的。另外,经实践发现,直接Clone自己的远程仓库到本地再Push到自己的远程仓库也是不行的。

具体步骤如下:

1 下载并安装Git

如无自定义需要,使用默认配置安装即可。

2 在Coding上添加一个项目

在荒原之梦网(zhaokaifeng.com)的这篇文章 使用Coding Pages托管网站中有在 Coding 上添加一个项目的介绍,可以参考。

3 配置SSH

生成SSH公钥,输入:

ssh-keygen -t rsa -C XXX@XXX.XXX

XXX@XXX.XXX 为注册Coding时使用的邮箱。

之后会提示输入用于保存公钥的文件:

Enter file in which to save the key (/c/Users/Master/.ssh/id_rsa):

这里直接回车,使用默认的文件id_rsa 保存即可。

接下来会提示:

Enter passphrase (empty for no passphrase):

这里是提示我们是否要为提交代码的操作设置密码。 如果设置密码则在提交项目时就需要使用密码。回车表示密码为空,即不设置密码。

之后提示:

Enter same passphrase again:

再次回车或输入刚才设置的密码。

之后会看到公钥成功创建的提示:

Your public key has been saved in /c/Users/Master/.ssh/id_rsa.pub.

查看公钥,输入:

cat /c/Users/Master/.ssh/id_rsa.pub

将公钥复制下来,登陆Coding,在我的账户->SSH公钥 处粘贴刚才生成的公钥,之后点击添加 。

如果粘贴后公钥末尾有空白行或空格要删掉它们。

4 创建本地代码仓库并Clone远程代码仓库

在本地新建一个文件夹A。

 “A”为远程仓库的仓库名

进入A,右键点击Git Bash Here .

初始化仓库,输入:

git init

之后会在A里面产生一个.git 隐藏文件夹。

Clone远程仓库(远程仓库中没有代码也可以这样执行),在本地仓库中输入:

git clone A https://git.coding.net/XXXXXX.git

“A”为远程仓库的仓库名

其中https://git.coding.net/XXXXXX.git  为远程仓库的HTTPS地址,可以在项目的代码 标签处找到:

Windows上使用Git托管代码到Coding | 荒原之梦
图 1

之后会弹出登录凭证验证窗口:

Windows上使用Git托管代码到Coding | 荒原之梦
图 2

输入Coding的用户名(一般为邮箱)和登陆密码点击确定 即可。

如果远程仓库里面有代码,Clone执行完毕后我们就可以在本地看到远程仓库中的代码了。

5 将本地代码仓库的更改推送到远程代码仓库

现在假设我们在本地代码仓库新建了一个文件1.txt . 下面演示如何将这个更改推送到远程代码仓库:

进入本地代码仓库中,查看代码状态,输入:

git status

这时Git会用红色字体显示1.txt ,说明这个文件是和远程仓库中的内容不一致的。

将所有更改都加入到暂存区域,准备上传:

git add .

也可以使用

git add 文件名

指定加入到暂存区域的文件。

但是当我们输入:

git commit

准备提交代码时,回车却出现了下面的警示信息:

*** Please tell me who you are.

Run

git config --global user.email "you@example.com"

git config --global user.name "Your Name"

to set your account's default identity.

Omit --global to set the identity only in this repository.

根据上述提示,输入:

git config --global user.email "you@example.com"

回车。

输入:

git config --global user.name "Your Name"

回车。

再次执行:

git commit

这次没有出现错误提示,而是打开了一个文本。按下i 开始输入所提交代码的备注,之后保存并退出。

之后输入:

git push origin master

这时我们在浏览器上再刷新Coding账号中的该项目就可以看到刚才推送过来的1.txt 文件了。

输入:

git status

会看到:

nothing to commit, working directory clean

至此,本地更改已经全部推送到远程仓库。

使用Coding Pages托管网站

作者:荒原之梦

Coding官网:https://coding.net

Coding Pages官网页面:https://coding.net/pages/

具体过程如下:

1 注册Coding账户

可以先使用邮箱注册,之后再绑定手机号(如果不想升级成银牌会员也可以不绑定手机号)。

2 完善资料,升级成银牌会员

普通会员没有自定义域名的权限,银牌会员可以绑定自定义域名。

3 创建一个项目

使用 Coding Pages 托管网站 | 荒原之梦
图 1

项目名称一栏填写:

username.coding.me

其中username 必须是当前Coding账号的用户名。

项目属性设置为私有 。

勾选启用README.md文件初始化项目 复选框。

点击创建项目 。

4 上传网页文件

点击代码->上传文件 开始上传网页文件。

选中并打开网页文件。

填写提交说明 。

点击提交到master分支 。

提交代码时,不会上传文件夹。因此如果本地中在一个文件夹里面还有其他文件夹,要注意单独上传这些文件夹里面的内容,如果其他文件中引用了该文件夹中的内容要注意修改路径。

5 开启Coding Pages服务

Pages服务提供有“静态Pages”和“动态Pages”两种模式,下面的过程使用的是静态Pages.

点击Pages服务 。

部署来源 中选中master分支点击保存 。

这时我们就可以看到Coding Pages成功运行的提示:

使用 Coding Pages 托管网站 | 荒原之梦
图 2

6 绑定自定义域名

在域名注册商的域名管理页面将自己购买的域名的CNAME 记录到pages.coding.me .

使用 Coding Pages 托管网站 | 荒原之梦
图 3
使用 Coding Pages 托管网站 | 荒原之梦
图 4

添加解析记录时要添加@www 两个主机纪录,绑定域名时也要绑定XXX.XXX 和WWW.XXX.XXX 两个。这是为了保证无论用户在输入我们的网址时是否输入了www. 都可以打开网站。如果不添加www 主机纪录,输入WWW.XXX.XXX 是打不开我们的网站的。

使用 Coding Pages 托管网站 | 荒原之梦
图 5

Pages服务 页面分别将XXX.XXX 和WWW.XXX.XX 输入自定义域名 框,点击绑定 。

使用 Coding Pages 托管网站 | 荒原之梦
图 6

www.daohanggou.wang 是“完全限定域名FQDN”(即“网址”),而dohanggou.wang 是“域名”。

7 开启强制HTTPS访问

使用HTTPS加密传输网站文件可以在很大程度上防止中间人攻击。为了最大程度的确保全站HTTPS加密,网站中使用的外链也应该是HTTPS加密的URL,例如图片的URL。

8 添加Hosted by Coding Pages信息

Hosted by Coding Pages有文字版和图片版两种,文字版代码如下:

<p>Hosted by <a href="https://pages.coding.me" style="font-weight: bold">Coding Pages</a></p>

如果没有购买Coding会员,可以将上面的代码(或Hosted by Coding Pages图片)添加到网站首页,之后选中已放置 Hosted by Coding Pages 复选框就会自动提交审核,如果审核通过则我们的Coding Pages在被访问时就不会加载Pages跳转页。

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

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

root:blackarch

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

右键->network->wicd-gtk
图 5

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

图 6

连上之后是这样的:

图 7

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

ping www.baidu.com

显示可以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 ,输入:

/dev/sda1

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

ext4

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

/dev/sda3

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

ext4

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

/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的默认登录凭证是:

Login:root

Password:blackarch

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

ip a

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

loadkeys

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

执行命令:

blackarch-install

开始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这块硬盘并且想知道它的大小和可选的文件系统(如果有的话),那么就输入:

fdisk -l -o device,size /dev/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的开发人员/贡献者都是志愿者。所有这些工作都是在他们的空闲时间完成并免费提供的。你可以通过捐赠来帮助我们,所有捐赠款项都将只用于该项目。

Kali Linux安装Google中文输入法(只需5步)

作者:荒原之梦

前言:

之前我在kali上安装过中文输入法,并且写了一篇博文(Kali Linux安装中文输入法全纪录),这篇博文里的步骤是当时一边摸索一边记录下的,思路有点混乱,而且还同时安装了两种输入法。今天又安装了一次中文输入法,使用的是Google拼音输入法,总共只有五步,下面是安装步骤。

一 添加更新源

命令:

leafpad /etc/apt/sources.list

Kali的国内更新源可以查看我的这篇博文(2017年Kali Linux更新源)。

二 更新系统

命令:

apt-get update

三 安装fcitx

命令:

apt-get install fcitx

四 安装Google拼音输入法

apt-get install fcitx-googlepinyin

五 重启系统

命令:

reboot

注:可以使用“Ctrl+空格”在中英文输入间切换。

Fedora Linux安装deb包

作者:荒原之梦

前言:

我们知道,在Linux系统上有两种主要的软件包格式,分别是RPM和deb.

RPM是“RPM Package Manager(RPM软件包管理器)”的递归缩写。RPM是一种用于软件打包、安装、卸载和升级的管理工具,其生成的文件扩展名为“.rpm”. RedHat Linux、OpenLinux和Turbo Linux等Linux发行版中都使用了RPM.

deb是基于Debian的操作系统(如Debian、Ubuntu和Kali)中软件包格式的扩展名(.deb). “deb”的名称来源和“Debian”一样,都是取自Debian的创始人Lan Murdock的妻子Debra Murdock. 处理deb包经常使用的工具是dpkg.

有时,我们可能会需要在使用了RPM的Linux上使用deb包。这时候我们可以使用Alien工具将deb包转换成RPM包。

下面介绍将deb包转换成RPM包的方法以及如何在Fedora上安装RPM包。

一 安装Alien

安装Alien需要使用root权限,如果我们是以普通用户的身份登陆的Fedora,那么我们就需要首先切换到root用户再进行接下来的操作或者使用命令:

sudo

临时获取root权限(我在Fedora中使用“sudo”命令时发生了无法使用的问题,解决方法请查看我的博文 Fedora Linux中解决“xxx不在sudoers文件中”)。

输入命令:

yum install alien

安装Alien。

输入命令:

alien -h

如果能在终端返回Alien的帮助信息则表明Alien安装成功。

二 将deb包转换成RPM包

首先建立一个新的文件夹,将deb安装包放在这个文件里,之后右键,选择“在终端打开”,切换到root用户,输入命令:

alien -r xxx.deb

转换完成后我们就可以看到以“.rpm“为扩展名的RPM包了。

三 安装RPM包

使用命令:

rpm -i xxx.rpm

这样安装可能会出现很多依赖关系需要解决。为了能使软件安装过程中自动解决依赖关系,我们可以使用命令:

yum -y localinstall xxx.rpm

在安装的同时自动解决有关依赖关系。

Fedora中解决“YourUserName不在sudoers文件中。此事将被报告”的问题

作者:荒原之梦

问题描述:

在Fedora中执行一些操作时需要使用root权限,当我使用命令:

sudo

想在普通用户中临时获得root权限时,却被提示:

“xxx 不在 sudoers 文件中。此事将被报告。”

注:其中“xxx”为一个普通用户的用户名。

解决办法:

输入:

su

之后输入root密码,切换到root用户。

输入:

visudo

注:“vi”和“sudo”之间没有空格。

移动光标找到:

“root    ALL=(ALL)       ALL”

将光标停留在这一行,之后按下“o”键在这一行的下面插入一个空白行,输入:

“xxx     ALL=(ALL)       ALL”

注:其中“xxx”为一个普通用户的用户名。

保存并退出。

之后输入:

sudo chmod 440 /etc/sudoers

将“sudoers”的权限改为440.

至此该问题解决。

使用WordPress搭建的网站如何使URL中不出现”wordpress”

作者:荒原之梦

问题描述:

当我们在服务器中安装WordPress时,通常,WordPress默认是将WordPress的文件安装到了一个名为“wordpress”的文件夹里。这样在一般情况下,如果我们要打开网站首页或者其他页面,则URL中必须有“wordpress”才能打开相应的网页。就像在刚安装完成WordPress后我们需要使用像这样的URL:“http://www.zhaokaifeng.com/wordpress”才能访问荒原之梦的首页,那么如何直接使用“http://www.zhaokaifeng.com”就可以访问首页呢?

下面就是解决步骤。

  1. 将WordPress安装目录中的” index.php”文件放到名为“wordpress”的文件夹外面(“index.php”一般默认在“/wordpress”路径下)。

2.将“index.php”里面的

require( dirname( __FILE__ ) . '/wp-blog-header.php' );

修改成

require( dirname( __FILE__ ) . '/wordpress/wp-blog-header.php' );

3.在“设置-常规”中将“站点地址(URL)”中的“wordpress”删除。

注:千万不要更改” WordPress地址(URL)”对应的配置信息,否则wordpress的控制面板就打不开了。

之后保存更改。

至此就可以直接通过域名访问网站首页了。

CentOS安装命令行Web浏览器Links

作者:荒原之梦

前言:

Links是一个运行在命令行模式下的Web浏览器,只能查看字符。Links的官网是Click here

安装Links

yum install links

使用Links

links URL

首次使用Links,例如,我们输入:

links www.zhaokaifeng.com

会看到Links的欢迎界面:

图 1

Links的基本操作

Esc键:调出Links顶部菜单。

方向键:选择不同的项目,展示下拉菜单或者翻页。

Q键:退出Links:

计算机组装:台式机更换CPU

作者:荒原之梦

前言:

由于想在一台WindowsXP操作系统的台式机上使用虚拟机,但是这个台式机原装的CPU(Intel 奔腾 E2200)不支持虚拟化,所以我找了一颗支持虚拟化的CPU(Intel 酷睿 E8500)准备安装上之后开虚拟机。但是,这次更换CPU是没有成功的,因为这个台式机的主板芯片组是Intel 945G,这个主板不支持E8500 CPU。本文就算是对我首次安装CPU的记录吧。

原硬件平台

CPU

Intel 奔腾 E2200:

主频:2.20GHz

二级缓存:1M

不支持CPU虚拟化

Intel官方技术参数:Click here

主板芯片组

Intel 945G:

Intel官方技术参数:Click here

准备更换的CPU

Intel 酷睿 E8500:

主频:3.16GHz

二级缓存:6M

支持CPU虚拟化

Intel官方技术参数:Click here

更换安装CPU的过程

1 准备一个螺丝刀:

图 1

2 拆开主机机箱的侧盖:

图 2

拿掉后盖后是这个样子的,CPU就在那个黑色散热器的下方:

图 3

3 用螺丝刀拧开固定散热器的螺丝:

图 4

拧螺丝时最好按对角线交替着拧,每个螺丝每次拧松一点,这样能基本保证散热器被拧下来前不会出现过大的倾斜,避免单个固定点受到过大的压力。

4 拆下散热器后就看到CPU了:

图 5

5 用手按住CPU压杆:

图 6

6 松开压杆:

图 7

7 掀开保护盖:

图 8

这下我们就完整的看到CPU了,图中的CPU槽边沿有一些碎屑,应该是由于年代久远,从CPU表面掉下来的散热硅脂。如果我们要清理CPU槽最好把CPU放在槽上在清理,防止灰尘等进入CPU槽中央的针脚区。

来看一张Intel 奔腾 E2200的近照:

图 9

8 取下CPU后就可以看到CPU卡槽全貌了:

图 10

9 取出准备安装的Intel 酷睿 E8500:

图 11

10 将E8500放到CPU卡槽里:

图 12

放置CPU时要注意根据“金三角”方向标识防止CPU,此外CPU上还有两个缺口,这两个缺口和CPU卡槽上的两个突出部位是对应的,如果CPU放错了是放不进去的。CPU轻轻的放到CPU卡槽上即可,不要按压,以免压坏针脚等。

11 放下CPU保护盖,扣紧压杆:

图 13

12 放上CPU散热风扇,拧上螺丝:

图 14

拧螺丝时和拆螺丝时一样,按对角线循环着拧紧螺丝。

下图是CPU散热风扇的底部:

图 15

13 最后装上机箱侧盖:

图 16

荒原之梦网全部内容均为原创,提供了涵盖考研数学基础知识、考研数学真题、考研数学练习题和计算机科学等方面,大量精心研发的学习资源。

豫 ICP 备 17023611 号-1 | 公网安备 - 荒原之梦 豫公网安备 41142502000132 号 | SiteMap
Copyright © 2017-2024 ZhaoKaifeng.com 版权所有 All Rights Reserved.

Copyright © 2024   zhaokaifeng.com   All Rights Reserved.
豫ICP备17023611号-1
 豫公网安备41142502000132号

荒原之梦 自豪地采用WordPress