分类 教程 下的文章

在服务器上安装完CentOS 系统,启动过程非常慢,一直刷新下面的错误提示

blk_update_request: I/O error, dev sda

根分区是ext4格式,底层是使用MegaRAID构建的Raid1系统盘。出现上面上面的问题,初步怀疑是raid驱动问题或者是磁盘硬件问题,更新不同版本的megaraid_sas的驱动,以及更换硬盘都不能解决该问题。

- 阅读剩余部分 -

大多数情况下,笔记本都有两块网卡,一块无线网卡,一块有线网卡。
有些时候,我们需要将windows的网络共享给其他设备,比如将有线网络共享给无线网卡,以便其他移动设备(手机/路由器/HUB/笔记本/Pad),或者将当前连接的内部无线网络共享给有线设备。

- 阅读剩余部分 -

systemd是一个全新的init系统和系统管理器,兼容传统的基于SysV init系统的所有主要的Linux发行版。
systemd兼容SysV和LSB init脚本,它作为SysV init系统的直接替代品。
systemd是内核启动并保持PID 1的第一个进程,它是系统运行后的所有进程的的父进程,Fedora 15是第一个支持systemd发行版。

systemctl是用于管理systemd守护程序/服务命令行实用程序和主要工具,例如(start, restart, stop, enable, disable, reload & status)。
systemd使用.service文件而不是bash脚本(SysV init使用)。systemd将所有守护进程排序到他们自己的Linux cgroup中,你可以通过搜索/cgroup/systemd文件来查看系统层次结构。

- 阅读剩余部分 -

准确的计时已成为现代软件部署的关键组成部分。无论是确保以正确的顺序记录日志还是正确应用数据库更新,不同步的时间都可能导致错误,数据损坏和其他难以调试的问题。

最新基于systemd的发行版本都有内置的时间同步功能,由systemd-timesyncd服务接管。下面是一些相关的操作,帮助我们快速解决时间同步问题。

设置时区(timezone)

通过date命令我们可以快速查看服务器的时间信息,这里现实的是UTC(Coordinated Universal Time)时间,当您的基础架构跨越多个时区时,一致地使用UTC时间可以减少系统交互之间的混乱。

date

Tue Sep  4 17:51:49 UTC 2018

- 阅读剩余部分 -

经常编写markdown需要引入一些代码块,需要定义Markdown支持的语言列表,这里列一下,需要的时候方便查找

NameMarkdown Label
.NET Consoledotnetcli
ASP.NET (C#)aspx-csharp
ASP.NET (VB)aspx-vb
AzCopyazcopy
Azure CLIazurecli
Azure PowerShellazurepowershell
C++cpp
C++/CXcppcx
C++/WinRTcppwinrt
C#csharp
C# in browsercsharp-interactive
Consoleconsole
CSHTMLcshtml
DAXdax
Dockerdockerfile
F#fsharp
Gogo
HTMLhtml
HTTPhttp
Javajava
JavaScriptjavascript
JSONjson
Kusto Query Languagekusto
Markdownmd
Objective-Cobjc
ODataodata
PHPphp
PowerApps (dot decimal separator)powerapps-dot
PowerApps (comma decimal separator)powerapps-comma
PowerShellpowershell
Pythonpython
Q#qsharp
Rr
Rubyruby
SQLsql
Swiftswift
TypeScripttypescript
VBvb
XAMLxaml
XMLxml

- 阅读剩余部分 -

某些Http Proxy或者Http Server不支持Patch操作,这时我们就可以使用Http Post操作来模拟Http Patch操作,仅仅需要在Http Header中添加 X-HTTP-Method-Override Header来指定目标Http Method即可, 例如:

使用jQuery通过Post模拟Patch接口:

$.ajax({
  headers: {
    'X-HTTP-Method-Override': 'Patch'
  },
  method: 'Post'
  // more parameters...
});

- 阅读剩余部分 -

最近开始准备整理一份完整的Linux/FreeBSD的PXE安装教程,先从基础设施VirtualBox安装开始,便于我们模拟在真实场景下远程装机的功能.

1.下载软件

建议直接从官网下载软件,下载软件的同时可以关注下官方一些文档,以及最近的版本情况,甚至你还可以关注下目前版本对PXE的支持情况

(1).Windows下载地址

https://download.virtualbox.org/virtualbox/6.0.4/VirtualBox-6.0.4-128413-Win.exe

安装过程没太多需要注意的,一步一步确认就好了.

VirtualBox安装

(2).Linux下载地址

https://www.virtualbox.org/wiki/Linux_Downloads

- 阅读剩余部分 -

我个人电脑使用的是Gentoo Linux, 其他Linux发行版本同样适用下面的方法.

在我们开始备份之前,我们需要对备份的环境做一些说明,开源社区一般都建议将Linux系统做如下分区:

  • /boot 使用独立分区也可以不分区(分区的好处是根分区有问题的话, 内核相关的启动代码不会丢失)
  • / 根分区使用独立分区
  • /opt 使用独立分区
  • /home 使用独立分区
  • /var使用独立分区

使用社区建议能最大限度保存你环境, 做好备份的话, 能很快恢复系统, 即使硬盘有坏道的情况下.

- 阅读剩余部分 -

很长时间没有升级Gentoo Linux了, 手痒执行了一次全系统更新, 发现比以前的升级编译的时间长了非常多.

看了下log, 花时间最多的地方在gcc/mesa/llvm这三个包, 顺带研究了下gcc/llvm的关系,又使用equery 检查了下llvm包的依赖关系, 整个系统只有mesa一个包直接依赖llvm,对于个人用户, 建议还是果断将 -llvm use 标记添加到/etc/portage/make.conf, 减少升级编译的时间.除非你的工作确实需要llvm.以下是我优化后的mesa包的use标记列表:

下面是我的/etc/portage/make.conf中的USE变量配置的内容,我比较喜欢mate的简单,所以qt/kde等等都被移除了.

USE="${USE} systemd -samba ipv6 -cups -qt4 -ldap -gnome -kde jpeg jpeg2k tk -llvm"

- 阅读剩余部分 -