Home avatar

Wings

整数表示

众所周知, 数据在计算机里是由二进制存储的, 所以在表示整数, 尤其是负数的时候, 需要编码Encoding, 因为计算机不能直接写一个负号. 编码可以理解为一个可逆函数, 输入是数学定义下的数字(也叫 真值), 输出是该数字在计算机中的表示.

使用 git hooks 自动部署博客

裸仓库文件被以修改的方式保存在数据库中, 如果我要使用这些文件, 比如部署博客, 还需要 clone 和 pull. 手动运行的话非常麻烦. git 提供了 hooks, 可以解决这个问题.

恢复 dpkg info 目录

事情是这样的, 大概去年 11 或者 12 月份的时候, 忘记在折腾啥东西, 看到网上说要把 /var/lib/dpkg/info 里的东西备份一下, 然后什么什么的, 之后他还提了一句, 就算把 info 里的东西全删了也完全不影响系统, 于是, 我一个手贱, 删了…… 虽然说平常用着确实没有大的影响, 但是, 每次装包 dpkg 都会给一万个 warning. 终于, 我受不了了, 开始解决这个烦人的东西.

一开始我是一头雾水的, dpkg 明明知道我安装了什么, 为啥安装其他包的时候, 他要说我没有安装? 后来发现, 这玩意直接查 info 文件夹里有没有安装过的包的信息. 那自然, 我都给删了, 肯定没有了… 我的期望是, 既然你知道我装了什么, 那肯定能恢复我的信息吧? 结果搜了半天, 答案是, 不能. info 里保存了包的安装信息:

  • .conffiles 记录了软件包的配置文件列表
  • .list 保存软件包中的文件列表, 用户可以从 .list 的信息中找到软件包中文件的具体安装位置.
  • .md5sums 记录了软件包的 md5 信息, 这个信息是用来进行包验证的.
  • .prerm 脚本在 Debian 报解包之前运行, 主要作用是停止作用于即将升级的软件包的服务, 直到软件包安装或升级完成.
  • .postinst 脚本是完成 Debian 包解开之后的配置工作, 通常用于执行所安装软件包相关命令和服务重新启动.

这么重要的信息, 你和我说删了也没关系??? CSDN 真完全不能信了 (我原来以为只是良莠不齐, 仔细筛是能够筛出好东西的, 现在想想, 算了, 涉及到 “删除” 的操作, 除了官方文档, 任何说法都保持怀疑态度好了)…

新年新气象(雾)

还在学校的时候, 总觉得当时用的被我改得不成样子的 Dream 主题用着不舒服, 想搞一些特性结果自己无从下手. 索性打算自己写一个, 要啥有啥, 结果折腾了大半个月, 还是用了别人写好的主题, 真香!