利用容器技术在一个宿主机上运行OpenWrt(LEDE)

在阅读本文之前,可以先了解下另外一篇文章容器核心技术详解

容器技术所用到的技术主要是Linux Namespace和cgroup,目前最成功的方案就是Docker,我们也来试着利用Linux kernel的 Namespace来简单实现docker的部分功能,这里称之为假Docker。

本文相关的代码在这里 fake_docker,文章中对于比较长的代码会省略,可以在代码仓库中查看。

安装ubuntu17.10后的相关软件问题

字体

1
2
3
sudo apt-get install ttf-wqy-microhei  #文泉驿-微米黑
sudo apt-get install ttf-wqy-zenhei  #文泉驿-正黑
sudo apt-get install xfonts-wqy #文泉驿-点阵宋体

自带google的思源黑体 Noto Sans CJK

WPS

1.到优麒麟下载wps64位,dpkg -i安装。 2.apt-get install -f修复依赖 3.到debian网站下载libpng12,安装 4.下载网上专为wps做的字体包安装 5.apt-get安装文泉驿字体

Python 调用C/C++

Python3 中提供了 ctypes 模块,它支持与 C 兼容的数据类型,可以用来加载 C/C++ 动态库。

C代码

test.h

1
extern int add(int, int);

test.c

容器核心技术详解

最近看了docker用到的技术,于是在公司分享了一下,对于Linux内核比较关心的同学肯定早就知道这些知识了,但是我一直对内核不怎么了解,这些对我来说算是新知识,寻思着后面看看内核相关的书。

Linux Namespace

a feature of the Linux kernel that isolate and virtualize system resources of a collection of processes. 注:linux kernel的一个特性,可以隔离并且虚拟化一组进程的系统资源。

名称 宏定义 隔离内容 发布版本
IPC CLONE_NEWIPC System V IPC, POSIX message queues since Linux 2.6.19
Network CLONE_NEWNET network device interfaces, IPv4 and IPv6 protocol stacks, IP routing tables, firewall rules, the /proc/net and /sys/class/net directory trees, sockets, etc since Linux 2.6.24
Mount CLONE_NEWNS Mount points since Linux 2.4.19
PID CLONE_NEWPID Process IDs since Linux 2.6.24
User CLONE_NEWUSER User and group IDs started in Linux 2.6.23 and completed in Linux 3.8
UTS CLONE_NEWUTS Hostname and NIS domain name since Linux 2.6.19

Connecting Android Devices with Linux

结合自身的实际,在Linux上连接Android的需求其实可以分为一下几类:

  1. 手机的通知可以在Linux上弹窗提示
  2. 能方便的在手机和Linux之间传输文件、甚至同步粘贴板
  3. 能将手机画面同步到Linux上,并且还能直接操作
  4. 将手机作为另外一个屏幕,共享Linux的鼠标键盘,直接操作Android系统
  5. 仅仅将手机作为Linux的扩展屏

接下来我就来介绍几个软件,看看它们都能实现哪些需求

重新迁回阿里云

历史

细细数来,最开始在大学开始买了阿里云9.9的学生机,后来毕业之后就没有这优惠了,用了好几个月的45元的阿里云。然后有了个读研的GF,准备来个学生认证继续用阿里云,可惜认证没通过,不过在腾讯云认证通过了,就转移到腾讯云。可最近腾讯云要求域名备案,http的链接都已经被拦掉了,https依然可以,但毕竟不友好。我的域名在阿里云备过,还要重复再备一次,好麻烦,于是思索看阿里云能用不,所幸阿里云学生认证可以通过支付宝获取数据,于是又转回阿里云。

【翻译】http status code 304

在研究http2的是时候,无意中发现http code为304,对此不解,故搜之,发现该文,顺便翻译一下。奈何英文水平有限,词不达意,望阅者见

md5使用问题记录

java后端用到md5来生产token,于是在网上找个了示例,跑了一下,看起来没什么问题。服务的调用方是python,一起测了一下,也没啥问