Random Posts
Tags
Categories
Recent Comments
- 小肥 on GDB 从裸奔到穿戴整齐
- flandre on 异步事件模型的 Self-pipe trick
- inv on 异步事件模型的 Self-pipe trick
- skywind on 异步事件模型的 Self-pipe trick
- skywind on 异步事件模型的 Self-pipe trick
Links
Meta
Monthly Archives: November 2018
常用公有云的替换方案
多年的教训换来一句话:“你的数据,你掌握”。归根结底,对于重要数据,最安全的做法不是把它交到别人手中,而是自己保管。 文件云服务:百度盘,DropBox,iCloud,OneDrive 经历了 2015 年末国内网盘服务大面积关停以及百度网盘上面文件被管理员删除,iCloud 私密照片泄露的问题后,我意识到,重要文件应该自己管理,公有云服务做一个补充备份。 OwnCloud:老牌开源文件服务,支持移动端,网页版,Win/Mac/Ubuntu 桌面版: NextCloud:OwnCloud 核心团队出走后新做的项目,改了很多老bug,加了新特性: 我更喜欢 NextCloud,文件同步很方便,放视频或者照片上去会帮你自动做成缩略图,再 Web 上方便查看,移动版也可以在线播放上面的音视频,而不必下载本地。 上图是相册插件,集中管理网盘内所有图片,还有更多有意思的插件值得花时间好好探索。我做过个镜像,可以用下面的 Docker compose 配置文件一键安装:
提高效率从编写 init.sh 开始
有部分人不太愿意定制自己的终端配置,因为:“服务器太多,怎么可能每台都去定制,所以都用默认配置,习惯了就好”。其实道理很简单,算笔账就清楚了,除非你是 SA 每天管理上千台服务器,程序员的话,每天接触的开发服务器也就五台以内。既然 90% 的利益都在那三五台机器上,还在纠结 10% 的事情,这就叫不明智。 还有人担心这 10% 的时间偶尔到裸环境下不适应了,所以拒绝 90% 的时间使用高级配置。这是我听过最荒谬的理由,我天天自己开车上下班,偶尔骑下自行车我也不会忘记怎么骑车。更不因为偶尔需要时怕不会骑了而把汽车卖了每天都坚持骑单车,或者干脆就拒绝学汽车驾驶,拒绝提高自己的车技。我路由器上连 bash 都没有,只有个 busybox 的残缺 shell ,照着理由我要去迁就路由器么?这种说法要不就是看不清楚自己核心利益在哪里,要不就是没体验过汽车快起来可以比单车快几倍。 何况不管是程序员还是 SA,做好配置的同步工作也就行了。如果可以花固定的时间,让终端工作效率提升一倍以上,这种一次性的投资为何不做呢?所以接下来讨论下终端环境下各种配置应该如何管理,如何同步的。
千万别混淆 Bash/Zsh 的四种运行模式
Bash/Zsh 有四种不同运行模式,你的 bash 配置写错地方的话,不但会拖慢 bash 的速度,还会发生明明写了登陆配置但是就是没生效的情况。 第一个维度:interactive mode / non-interactive mode Bash 的 交互模式(interactive mode) 是指你直接输入: bash 以后 bash 出现一个 “$>” 的 PROMPT,等待用户不断的输入指令,输入 “exit” 或者按了 CTRL+D 才会结束。你 ssh 登陆到一台电脑,或者命令行下面打 bash ,后面没有参数的话,进入的都是交互模式。 而 非交互模式(non-interactive mode) 是指你用 bash 运行一个命令或者脚本,运行完 bash 就退出那种: bash … Continue reading
自带语法高亮的 cat – ccat
cat 源代码时如果带上语法高亮,会不会让工作效率更高一些呢?我们来做一个吧: function ccat() { local style=”monokai” if [ $# -eq 0 ]; then pygmentize -P style=$style -P tabsize=4 -f terminal256 -g else for NAME in $@; do pygmentize -P style=$style -P tabsize=4 -f terminal256 -g “$NAME” done fi } … Continue reading
KVM 虚拟化环境搭建 – ProxmoxVE
送大家一套完全开源免费的 VmWare / vSphere 的代替方案,代价是稍微动一下手,收获是你再也不需要任何商用付费的虚拟机软件了。KVM 整套解决方案一般分三层: KVM:内核级别的虚拟化功能,主要模拟指令执行和 I/O QEMU:提供用户操作界面,VNC/SPICE 等远程终端服务 Libvirtd:虚拟化服务,运行在 Hypervisor 上提供 TCP 接口用于操作虚拟机的创建和启停 第一个是 Linux 内核自带,后两个是各大发行版自带的标准组件。这里的 qemu 不是原生的 Fabrice 的 qemu,而是定制的 kvm 版本的 qemu 。 你当然可以用 qemu-system-x86 程序写很长的一串参数来启动你的虚拟机,但是这样十分不友好,所以有了 Libvirtd 这个东西,将物理机的所有资源:存储/网络/CPU 管理起来,并且提供统一的服务接口。 那么 KVM + Libvirtd 有几种不同层次的玩法: 初级:在 /etc/libvirtd/qemu … Continue reading