Gentoo 上恢复 GCC

最近好久没升级 Gentoo,冒出一堆新 profile,于是手贱的 eselect profile set xxx,呃,选了一个 no-multilib。

奇妙的是,我居然按照提示重新编译了整个 world。

懵逼了,回不去 multilib 了,手贱要剁手。

Gentoo 什么都好,就是一旦完成了 no-multilib,就再也无法简单的切换到 multilib 了。

不过,天无绝人之路,办法总是有的。stage 3 中就有现成的 GCC 的二进制版,我们需要的只是打包一下,copy 到原系统安装。

ThinkPad X230 安装黑苹果

ThinkPad X220 跟人家替换了 ThinkPad X230,也有一段时间了,这不,快年底了,终于闲下来,然而耐不住骚动的心,又开始入了黑苹果的坑。

首先要说明的是,X230 以后,就不存在 BIOS 白名单了,所以,要么上烧录夹硬刷 BIOS 芯片,要么就换个白名单中在黑果上免驱的无线网卡。我采用的是后者,淘宝上淘了块 ar9285 无线网卡。

一. BIOS 设置

首先,直接去官网下载最新版的 BIOS 来升级:BIOS Update Utility V2.67

然后按照如下 BIOS 设置:

Systemd 232 导致 Docker container 启动问题

问题

近期又一次在 Gentoo 下做了一个升级维护,期间遇到了一个问题,Docker container 死活启动不起来,有点懵逼。

回想近期做的维护更新,无非 kernel 从 4.4.* LTS 升级到 4.9.* LTS,docker 从 1.11 升级到 1.13,还有一些系统级的维护。发生这个问题,有点让人猝不及防。问题总是要解决的,于是一点点排查起来。

$ docker-compose up -d
Creating redis

ERROR: for redis  Cannot start service redis: containerd: container not started
ERROR: Encountered errors while bringing up the project.

查看一下日志 systemctl status docker

Docker 容器使用小结

目前也已经将生产环境中所有服务运行在 Docker 容器中,从一年前就一直想写一篇有关 Docker 的文章,可是年初以来一直没有时间,趁着这个中秋节假期,终于开始着笔。

介绍

Docker 是一个开源的应用容器引擎,使用轻量级的容器虚拟化技术,开发者可以方便的打包他们的应用以及依赖包到一个可移植的容器中,来发布到任何流行的 Linux 发行版上。

  • 命名空间: Docker 引擎采用 namespaces 来提供一个隔离的工作区,通过 kernel 的 pid、net、ipc、mnt、uts 等 namespaces 实现对进程、网络、消息、文件系统以及 HostName/DomainName 的隔离。
  • 资源配置:通过 cgroups 来控制容器的硬件资源。
  • 文件系统:利用 UnionFS,通过创建图层来实现对容器的轻量与快速更新。Docker 引擎可以使用多个 UnionFS 的变种,包括 AUFS、btrfs、vfs 与 DeviceMapper。
  • 容器格式:Docker 引擎结合 namespaces、cgroups、UnionFS 一起组成 libcontainer 容器格式,将来或许会支持更多的譬如 BSD Jails、Solaris Zones 容器格式。

Docker 已经成熟并被大量的应用到生产环境,所以概念部分就不阐述了,针对与 Virtual Machines 的区别说一下。

解决 Windows Thin PC 中无法更新的问题

虚拟机几乎已经变成必备工具,只不过,开启虚拟客户机的次数越来越少,到最后,唯有在网银支付的时候才会开启虚拟机应付一下。之前我的虚拟客户机 Windows XP 切换到 Windows 10,看着这个笨重的家伙,固态盘上占用的恐怖的体积,促使我寻找一个轻量级的虚拟客户机。

不得不承认,老了就跟不上时代了,通过搜索才发现,原来 Microsoft 早就提供了一款专门面向虚拟桌面基础架构消费者的操作系统 Windows Thin PC,该系统是 Windows 7 的超轻量级版本,主要面向企业客户。

闲话少说,MSDN 版下载:

ed2k://|file|en_windows_thin_pc_x86_697681.iso|1576980480|2D0E6A048EB3F314F556B4F0834A95E2|/