Author: Uranus Zhou

CentOS 6编译Intel Beignet OpenCL

关于 Intel Beignet OpenCL 之前在 Linux 上为了测试 Intel 核显安装了 Intel 官方闭源的 OpenCL Drivers 库,也解决了 CentOS 6 系统下 C++ 程序的问题,不过换了一台设备之后发现该 OpenCL 库却与 i3-3220 CPU 自带的 HD Graphics 2500 核显不兼容,OpenCL 不能正确加载核显设备。 由于 Intel 闭源的 OpenCL Drivers 现在基本上不再更新了,因此我想着可以试试 Intel 官方的开源 Beignet OpenCL 实现,其 GitHub 项目主页: https://github […]

Linux修改ELF解决glibc兼容性问题

Linux glibc 问题 相信有不少 Linux 用户都碰到过运行第三方(非系统自带软件源)发布的程序时的 glibc 兼容性问题,这一般是由于当前 Linux 系统上的 GNU C 库(glibc)版本比较老导致的,例如我在 CentOS 6 64 位系统上运行某第三方闭源软件时会报: CentOS 6 自带的 glibc 还是很老的 2.12 版本,而下载的第三方程序依赖 glibc 2.17 版本,这种情况要么自己重新编译程序,要么只能升级系统的 glibc 版本。由于我使用的程序是第三方编写并且是闭源软件无法自己编译,升级 glibc 固然可能能解决问题,但是 glibc 做为最核 […]

Linux C++程序使用Intel OpenCL的问题

Intel OpenCL 问题 最近想在 Linux 环境下使用 Intel 核显测试我们的某个程序,该程序是用 C++ 写的,主要调用 OpenCL 库使用 GPU 进行运算。之前我用 AMD 和 NVIDIA 的显卡都测试过没有问题,还以为会比较顺利,结果在程序刚开始调用 clGetPlatformIDs 检测 OpenCL platform 的时候就直接报错退出了。 我的测试环境使用的是 Intel i3-6100 CPU,该处理器自带 Intel HD Graphics 530 核显,操作系统则是 CentOS 6.9 64 位(比较老,为了和使用环境一致),安装的也是 Intel 官 […]

新玩具 Acer Chromebook 14

Acer Chromebook 14 这两年非工作场合下我的主力电脑已经切换到 Chromebook,一直用的是 Dell Chromebook 11 这款小屏幕的笔记本,习惯了 Linux 之后 Chrome OS 用起来还是比较舒心的。 只是当我发现 Google 新推出的 Android Apps on Chrome OS 不再支持 Dell Chromebook 11 之类的老设备时(基本上所有使用赛扬 2955U 处理器的 Chromebook 都被排除了,具体可以参考 Chrome OS Systems Supporting Android Apps),虽然觉得有点不爽,但还是下定 […]

在Docker容器中使用FUSE文件系统

容器使用 FUSE 的问题 我们一般使用的 Docker 容器都是非特权容器,也就是说容器内的 root 用户并不拥有真正的 root 权限,这就导致很多属于系统管理员的操作都被禁用了。 最近有个在 IBM Bluemix 容器内部挂载 FUSE 文件系统的需求,例如我使用 davfs2 挂载 WebDAV 服务器不出意外地会报错: mount.davfs 命令报错表示无法打开 fuse 设备,而 fuse 设备实际上是存在的(说明 fuse 模块也已经加载了): 从容器内部可以查看到 cgroup 实际允许访问的设备,并没有包含 fuse 设备: 手工允许 fuse 设备自然也是不可行的: […]

广电宽带DNS访问某些国内网站的问题

问题说明 有段时间没有更新博客了,最近全国都处于重要的开会期间,不出所料常用的爬墙路线都被各种封锁,而我在的住处使用的广电宽带也出幺蛾子了。前两周我发现突然无法访问 www.ip138.com、www.chinaz.com 之类的国内网站,浏览器上的表现似乎是没有正常打开连接就中断了。 通过在本地运行 nslookup 命令解析这些域名我才发现,这些网站在我的电脑上根本没有解析到任何有效的 IP 地址,难怪无法正常访问了。 为此我登录到 OpenWRT 路由器,直接在路由器系统上运行 nslookup 命令解析这些无法访问的域名,从返回的结果才看出端倪: 可以看到百度域名可以返回正确的结果,因 […]

使用Software Collections编译最新Linux kernel

关于 Software Collections 使用 Software Collections(SCL)的契机是最近我需要在 CentOS 6 系统上编译最新版本的 Linux kernel,主要用于测试 Btrfs 的数据校验对于 AVX2 指令的支持情况。然而大家都知道 CentOS 6 自带的软件包版本都是非常老的,glibc 维持在 2.12 版本,老的 gcc 4.4 版本则根本就不支持 AVX2 指令,这样编译 Linux kernel 时会自动关闭 async xor 对 AVX2 的支持。 如果要自己动手编译新版本 gcc,这感觉还是有点吃力不讨好,幸好 Red Hat 也注意 […]

WordPress 3.8开启Google AMP的问题

关于 AMP Accelerated Mobile Pages(简称 AMP)是 Google 带领开发的开源项目,主要为了提升移动设备对网站的访问速度,大概包括 AMP HTML、AMP JS 和 AMP Cache 三部分,非常适合博客及新闻展示类的静态网站。 有关 AMP 的详细介绍可以参考其官方网站: https://www.ampproject.org/zh_cn/ AMP 网页只能使用 AMP HTML 中允许的有限的标签,不允许使用 AMP Runtime、AMP Components 之外的 JS,而且 AMP Runtime、Components 都必须从 cdn.amppr […]

OpenWRT实现OpenVPN按ipset自动分流

接着上面一篇介绍 Windscribe 免费 VPN 的文章,住处的网络通过 OpenVPN 连接 Windscribe 之后虽然速度不快,但好歹广电宽带下没有之前用的几个 VPS 经常超时的问题了。因此想着最好能部署到现在用的 newifi mini 路由器上(毕竟已经刷了 PandoraBox 固件),目标就是能在路由器上用 OpenVPN 连接 Windscribe 并自动分流翻墙访问某些特殊的网站。 OpenWRT 安装使用 OpenVPN 首先在路由器上安装 OpenVPN 客户端: 把上篇文章中生成的 Windscribe OpenVPN 配置文件上传到 /etc/openvpn […]

使用OpenVPN连接Windscribe免费VPN

前言 最近换了住处之后,我还是没想到平时上网的宽带问题会成为一大痛点:现在住的地方基本上只能办理南京的广电宽带。广电宽带不但有着臭名昭著的速度慢游戏卡以及墙中墙问题,而且由于其 IP 地址资源有限,访问一些网站经常出现 IP 全国各地乱飞的情况,最要命的是其出国线路与我之前用的移动宽带完全没法比。 我观察到的南京广电宽带基本出国都是走联通线路,使用的是内蒙古包头之类的奇葩 IP 地址。之前在住处用于翻墙的 AlphaRacks VPS 和 Arukas 容器搭建的 Shadowsocks 服务器现在基本都处于不可用的状态,Google 搜索勉强能打开,Gmail 经常卡的不要不要的,YouTu […]