[记录]Gitlab 在安装完成后才启用 HTTPS 记得重新清理 assets

不然浏览器就会提示:

与 git.fengqi.me 的连接采用 128 位加密技术。但是,此页中包含其他不安全的资源。他人能在传输过程中查看这些资源,攻击者也可以进行修改,从而改变网页的外观。

该连接使用 TLS 1.2。


该连接使用 AES_128_GCM 进行加密和身份验证,并使用 ECDHE_RSA 作为密钥交换机制。

重新清理生产 assets 就好了:

cd /home/git/gitlab
sudo -u git -H bundle exec rake assets:clean assets:precompile cache:clear RAILS_ENV=production

刷新浏览器.

[转载]释放 Linux 系统预留的硬盘空间

原文链接: 释放 Linux 系统预留的硬盘空间

大多数文件系统都会保留一部分空间留作紧急情况时用(比如硬盘空间满了),这样能保证有些关键应用(比如数据库)在硬盘满的时候有点余地,不致于马上就 crash,给监控系统和管理员一点时间去察觉。不过有时候这部分预留的硬盘空间不用的话有点浪费。如何释放这部分系统预留的空间呢?

在 Linux ext2/ext3/ext4 文件系统上通常默认预留5%的硬盘空间,如果硬盘是 4TB 的话就意味着有 200GB 的空间就这样浪费了,我们可以通过 tune2fs 来改变5%的默认设置,比如只预留1%的空间。可不可以设成0%呢?当然可以,但是不推荐。

查看当前硬盘空间情况:

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_cloud22-lv_root
                       32G  1.1G   30G   4% /
tmpfs                  24G     0   24G   0% /dev/shm
/dev/sda1             485M   68M  392M  15% /boot
/dev/mapper/vg_cloud22-lv_home
                      3.2G   70M  2.9G   3% /home
/dev/sdd1            1008G  161G  797G  17% /var/cloud

调整 /dev/sdd1,只预留1%的空间:

# tune2fs -m 1 /dev/sdd1
tune2fs 1.41.12 (17-May-2010)
Setting reserved blocks percentage to 1% (2684381 blocks)

调整后查看释放后的硬盘空间,发现多出了 838-797=41GB 的空间:

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_cloud22-lv_root
                       32G  1.1G   30G   4% /
tmpfs                  24G     0   24G   0% /dev/shm
/dev/sda1             485M   68M  392M  15% /boot
/dev/mapper/vg_cloud22-lv_home
                      3.2G   70M  2.9G   3% /home
/dev/sdd1            1008G  161G  838G  17% /var/cloud

如果硬盘被塞满了,想清理硬盘那是另外一回事,可以参考:什么吃掉了我的硬盘?

[总结]Svn本地忽略功能

总是有人问, 写成blog好了, 谁问法给谁.

svn批量提交时, 不提交某些文件, 这个需要用到svn的changelist命令(Gui下可以每次手动勾选不提交...), 原理是把改动的文件放到非默认changlist, svn每次提交默认起到忽略的作用:

> svn changelist 'Local ignore' config/config.inc.php
> svn status
--- Changelist 'Local ignore':
M       config/config.inc.php

注: Local ignore是可以随便输入的, 等于给列表起一个名字, 同时changelist可以简写成cl.

[总结]svn更换新仓库地址, 以及UUID不同的解决方式

shell 命令:

svn relocate svn://svn_old svn://svn_new

一般会提示:

svn: E195009: The repository at 'svn://svn_old' has uuid
'bdbd6e13-965c-4da7-a4da-d4840425081e', but the WC has
'9dcab4f9-d1ff-49d9-8b8d-a11efef133c1'

uuid是仓库创建的时候生成的, 本地客户端也会拿它来对比是否是同一个svn仓库, 解决方法有两种:
1: 重新checkout
文件太多, 我受不了

2: 修改本地uuid

sqlite3 .svn/wc.db
sqlite> select * from REPOSITORY; #一般是只有一条记录, 修改后会有两条
sqlite> update REPOSITORY set uuid="bdbd6e13-965c-4da7-a4da-d4840425081e" where id=1;
sqlite> .exit

svn update即可

[转载]linux下使用rsync同步文件到exfat分区的问题

原文地址: rsync to an exFAT partition in Linux

今天在备份东西的时候,使用rsync,提示: rsync: chcon "..." failed: Function not implemented (38).

很奇怪的提示, 搜索下才知道, 是权限的问题,我的rsync参数带o p g参数, 这3个参数的作用分别是保持文件所有者,属组,属性的.

-p, --perms 保持文件权限
-o, --owner 保持文件属主信息
-g, --group 保持文件属组信息

大致意思是exfat支持问题,去掉就ok了, 例如:

rsync -rltDv /from /to