Posts
debian 系统迁移
将一个老系统上的aptitude安装的软件导出列表,然后在新系统上完整的复制过去这个配置。
参考如下
http://serverfault.com/questions/737/ubuntu-how-to-setup-a-new-machine-like-an-existing-one
debconf-get-selections
debconf-set-selections
~
aptitude-create-state-bundle
aptitude-run-state-bundle –unpack
~
dpkg –get-selections “*” >myselections
“*” makes myselections include package entries for “purge” too.
试了一下,加*与不加好像没区别
on a new machine
# apt-get update
# dpkg –set-selections <myselections # apt-get -u dselect-upgrade 有以上三套方案可选 我倾向与用 aptitude-create-state-bundle aptitude-run-state-bundle –unpack 这个 先aptitude-create-state-bundle my_bundle 然后把my_bundle 考到新机器上 aptitude-run-state-bundle my_bundle
Posts
debian apt-mirror
很早之前配的apt-mirror
最近有些修改,做一下记录
比如 一台机器为 mirror.dna.com
先装 apt-mirror
编辑 /etc/apt/mirror.list
set base_path /srv/apt-mirror # 我这里给单分了一个区,否则默认用/var里,得用个百十来G
deb http://mirrors.163.com/debian stable main contrib non-free
deb-src http://mirrors.163.com/debian stable main contrib non-free
deb http://mirrors.163.com/debian squeeze-updates main contrib non-free # 这个是安装更新列表里的,否则如果用这个源安装新系统会说找不到安装源
deb http://mirrors.163.com/debian squeeze main/debian-installer # 这个很重要,否则这个源只能更新,不能安装新系统
然后配置nginx 添加一个新站点 mirrors.dna.com
location / {
root /srv/apt-mirror/mirror/mirrors.163.com;
index index.html index.htm;
autoindex on;
}
配置完毕
然后装新系统时,选择安装源时,手动输入 mirrors.dna.com(先配置好dns将这个域名指向正确的ip)
然后路径选择 debian 即可
Posts
google拼音输入法scim
scim-googlepinyin
下载这个包,解包
或者git clone git://github.com/tchaikov/scim-googlepinyin.git
进去之后运行autogen.sh
要是提示找不到scim, 装 scim-dev
还需要 autoconf 包的支持,这个包里带几个需要的依赖
装完之后 ./configure; make; make install
之后 pkill scim
scim -d
我这不管用,scim 不能启动。
重启之后好了,总之能用。
Posts
rails3 update_attributes时不能更新date类型
有个模型Primer的属性是over_date 类型是date
从 nil 更新为 ‘2011-05-06’ 可以
从有 到 无,就不能了
update_attribute update_attributes save
加上叹号,都返回true
但是就是不更新为 NULL
发现 datetime 类型的也有同样的问题
但是在 rails c
命令行下更新就没问题,十分头疼!
最后没辙只好用 update_all 来更新,就是没法调用 before_update 的方法
找出原因,是自己扩展的一个 NillClass的 method_missing方法影响了这个操作
去掉了这个方法就好了。唉,自己作的。
Posts
action_mailer的 view里不能调用helper里的方法
action_mailer的 view里不能调用自定义helper里的方法
但是原生的方法就可以,比如link_to
其他后来定义的方法,比如ApplicationHelper里定义的就会说找不到方法
是用delayedJobs发送的邮件,不知道有没有什么联系
Posts
ruby websocket
最近有空体验了一下websocket
服务端用的是websocket-rack
客户端用的是jquery 的 gracefulWebSocket
jquery本来还有另一个websocket的插件不过可以发送消息到服务端,但是没能成功接收数据,可能是我哪的参数没用对。
Posts
ruby合并pdf
项目里有个功能需要动态合并很多静态的pdf文件为一个大的pdf文件
没找到好的ruby内置的功能,找了个系统工具pdftk,算是还挺简单的。
http://stackoverflow.com/questions/85459/is-it-possible-to-combine-a-series-of-pdfs-into-one-using-ruby
Posts
ROR中我无法解决的问题
目前已经有两个rails3的系统部署下去使用了,遇到了如下一些问题,至今无法解决。
一个是observer问题
这个observer是记录很多表数据的创建用户用的
class RecordUserObserver < ActiveRecord::Observer include UserSessionsHelper observe Client, ClientEmail, Company, PrintLabel, ReSynthesis, Synthesis, Aminolysis, PageElectrophoresis, Desalt, Drain, Checkout, CheckoutOrder, CheckoutSign, Invoice, InvoiceSign, Cash, BadDebt, User, Role, Price, DeletionLogger, CheckoutPrimer, Order # 记录当前用户 def before_create(record) record.user_id = current_user.id end end 其中用到的 UserSessionsHelper如下 module UserSessionsHelper private # 当前用户的session def current_user_session return @current_user_session if defined?(@current_user_session) @current_user_session = UserSession.find end # 当前登录用户 def current_user return @current_user if defined?(@current_user) @current_user = current_user_session && current_user_session.
Posts
rails3 sso单点登录
rails3 的单点登录
网上搜说要用什么什么插件,多次实验后发现不用
参考了这个
http://logicsoul.com/2010/rails-3-enabling-cross-sub-domain-sso/
在config/initializers/session_store.rb里
修改
MyApp::Application.config.session_store :active_record, :key => ‘_sso_session’, :domain => ‘.superwf.com’
在多个网站中,把:key和:domain 改成一致的,就可以了,session跨数据库共享参见另一篇