免费SSL证书——Let’s Encrypt

刚架这个博客的时候就顺便弄了 SSL 证书,用的 StartCom,申请之后除了一年一续,也没去多管。前几天续了证书以后发现 Chrome 仍然不认,查了一下才知道原来 StartCom 作死,已经被 Chrome 和 Firefox 拉黑了。

于是乎又是一番搜索,发现了现在用的 Let’s Encrypt。

和 StartCom 不同的是,Let’s Encrypt 提供了一个可以在服务器上运行的程序,签发证书,自动配置 HTTPS(虽然并没有成功),方便了很多。

根据官方文档,下下来跑一遍就可以了

    wget https://dl.eff.org/certbot-auto
    chmod a+x certbot-auto
    ./certbot-auto

但是并不认我Nginx的配置,于是只能先拿证书,再手动配置了。

    ./certbot-auto certonly

过程中会提示输出域名和 wwwroot 地址等信息,一步一步来就可以了。具体可以参考官网(https://letsencrypt.org/),总的来说还算是轻松愉快的。

新电脑

11年夏,为了准备出国,新购入一台戴尔 XPS15 笔记本,一直使用至今。其间屏幕硬盘电池电源都未能经得住岁月的摧残纷纷罢工,但总归不是什么大问题,于是每次都是修修换换,便接着用了,不知不觉也已经整整5年了。

不过当时的高端配置放在今日早已过时,于是便萌生了换新电脑的想法。

自小学家里的586退役以后,家里一直都是用的笔记本电脑,虽然携带方便但是性能欠佳,正好最近生活还算稳定,我便将目标锁定在台式机。

调查研究,购买组装,终于在今天彻底完工,也没有遇到很大的麻烦,总的来说算是一次很有意思的体验。

CentOS更新软件包重复错误

这两天在用yum更新CentOS的时候,出现了软件包重复现错误。虽然已经不是第一次遇到这个问题,但距上次遇到时已经过了很久,早已忘记当时是如何解决的了,结果又花了好久才得以解决,这次吸取教训记下来,以免再忘。。。

错误信息大致如下:

继续阅读CentOS更新软件包重复错误

Linux学习笔记(十二)——vim编辑器详解

在 Linux 下最常用的文本编辑器莫过于 vim,而这篇文章就会介绍 vim 编辑器的使用方法。vi 是 Visual Interface 的缩写,而 vim (VI iMproved) 则是其增加版本。

与其他编辑器不同,vim 编辑器拥有三种模式

  • 编辑模式(命令模式)
  • 输入模式
  • 末行模式

每种模式都有其各自的用途与操作方式。

继续阅读Linux学习笔记(十二)——vim编辑器详解

Linux学习笔记(一):命令类型与常用命令

内部命令与外部命令

内部命令是 shell 程序的一部分,其中包含的是一些比较简单的 linux 系统命令,这些命令由shell程序识别并在 shell 程序内部完成运行,通常在 Linux 系统加载运行时 shell 就被加载并驻留在系统内存中。内部命令是写在 bash 源码里面的,其执行速度比外部命令快,因为解析内部命令 shell不需要创建子进程。比如:exit, history, cd, echo等。 外部命令是 Linux 系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调用内存。通常外部命令的实体并不包含在 shell 中,但是其命令执行过程是由 shell 程序控制的。shell 程序管理外部命令执行的路径查找、加载存放,并控制命令的执行。外部命令是在 bash 之外额外安装的,通常放在/bin, /usr/bin, /sbin,/usr/sbin 等位置。 使用type命令可以区分内部命令

继续阅读Linux学习笔记(一):命令类型与常用命令

Linux学习笔记(十一)——sed命令

sed 是 Linux 下的一种流编辑器(Stream Editor),用以处理编辑输入流(文件、管道等)。在使用时,sed 将输入流逐行读进一个叫做模式空间的缓存区,进行编辑处理后再输出。
sed 的命令语法如下
sed [options] ‘AddressCommand’ FILE

参数
-n 静默模式,不显示模式空间中的内容
-i 直接修改源文件
-e SCRIPT 执行脚本,可以同时执行多个( -e SCRIPT -e SCRIPT …)
-f /PATH/TO/SCRIPT/ 从文件读取脚本
-r 使用扩展正则表达式 在引号间,可以使用以下定址来决定处理哪些行

  • StartLine,Endline    从startLine到Endline之间的行数,$代表最后一行
  • /RegExp/  成功匹配RegExp的行
  • /Pattern1/,/Pattern2/ 第一次匹配Pattern1开始到第一次匹配Pattern2间的行
  • LineNumber 指定行
  • StartLine,+N 从StartLine开始向后N行

在定址之后,便可以用命令来决定如何处理刚刚选定的行
d: 删除符合条件的行
p: 显示符合条件的行
a \string: 在符合条件的行后追加内容为 string 的新行
i \string: ~前
r FILE 将指定文件的内容添加到符合条件的行后
w FILE 将地址指定的行另存到指定文件中
s/pattern/replacement 查找并替换,默认只替换每一行第一次被匹配到的字符串修饰符g: 全局替换i: 忽略大小写

Linux学习笔记(十)——bash脚本编程:变量、条件判断、算数运算

Shell

shell是指一种提供了访问操作系统内核服务界面的应用程序。Ken Thompson的sh是第一种Unix Shell,而Windows Explorer则是一个典型的图形界面Shell。而Shell脚本(shell script),是则是指为shell编写的脚本程序。

和其他脚本程序一样,Shell脚本只许一个解释器就可以运行。在Linux下,默认安装了Shell解释器,而其中最为流行的就是bash。
继续阅读Linux学习笔记(十)——bash脚本编程:变量、条件判断、算数运算

Linux学习笔记(九)——grep与正则表达式

grep

grep是Global search regular expression(RE) and Print out the line的缩写,全面搜索匹配正则表达式的内容并输出。

grep家族包括了grep、egrep和fgrep三个命令。其中egrep和fgrep的命令只跟grep有很小的不同。egrep(Extended grep)是grep的扩展,支持更多的正则元字符,而 fgrep(Fixed grep或Fast grep)则把所有的字母都看作单词。

grep [OPTIONS] PATTERN [FILE…]
常用参数
-i 忽略大小写
–color 匹配到的文字高亮显示
-v 显示没有被匹配的行
-o 只显示被匹配到的字符串

继续阅读Linux学习笔记(九)——grep与正则表达式

Linux学习笔记(八)——管道和I/O重定向

计算机的五大部件分别是运算器、控制器(这两部分合称CPU)、存储器(RAM)输入设备和输出设备。

而在CPU里有三种总线分别实现不同的功能。
  • 地址总线:内存寻址
  • 数据总线:传输数据
  • 控制总线:控制指令

这三种总线在机器内部这是复用的,因此就需要寄存器暂时储存数据和指令。

  • 寄存器:CPU暂时存储器

此外,就是I/O设备来实现数据的输入和输出了。

  • INPUT设备
  • OUTPUT设备

继续阅读Linux学习笔记(八)——管道和I/O重定向

《食戟之灵》夏里亚宾牛排盖饭

某日在网上闲逛,看到食戟之灵中的各种美食的菜谱,而其中的夏里亚宾牛排盖饭的主要食材只需要牛排和洋葱,正好家里都有,工序又十分简单,于是便照着菜谱做了一份。

家里没有梅子,因此米饭就只是单纯的米饭而已。因为懒,牛排也没有腌足半小时。

味道还不错。

夏里亚宾牛排盖饭