odoo.py auto-reload dev自动重启服务ENOSPC系统错误解决

Odoo8
正常环境下直接–auto-reload参数运行缺库错误

pyinotify是一个Python模块,用来监测文件系统的变化
pyinotify依赖于Linux内核的inotify功能,是一个事件驱动的通知器,其通知接口通过三个系统调用从内核空间到用户空间
pyinotify结合这些系统调用,并提供一个顶级的抽象和一个通用的方式来处理这些功能

安装
pip install pyinotify

运行时错误:

Odoo9
正常环境下直接–dev参数运行日志警告

Watchdog是一个跨平台的Python库和shell工具,可以监视文件系统事件。超级好用,并且容易上手

安装
pip install watchdog

运行时错误:

Node
想起来当初刚玩node时也时常会遇到这个错误
不过大多直接sudo运行就可解决,简单理解权限问题也没有深究
但是odoo不能这么搞,源码限制:

还好从odoo9的报错信息里显而易见问题出自底层inotify对一般用户的限制
简单学习了下,得知其有个max_user_watches的内核参数限制普通用户一次最多关联监控个数。一般默认值8192,对于odoo这种大工程或稍大一点的node项目来说明显是不够用的

先通过如下方式验证:

然后通过su切换root身份动态更新配置值放大64倍

接着用不同版本的启动参数运行即可看到AutoReload watcher running成功了

最后还需要将动态修改的参数通过静态配置方式固化下来,否则每次重启还需要重复修改
Centos7下我不建议直接修改/etc/sysctl.conf文件配置,而是通过sysctl.d目录新建独立配置

然后重新启动或者使用

sysctl命令system参数立刻生效

Linux centos yum install odoo rpm postinstall scriptlet

众所周知,odoo官方提供了非常方便的yum安装源用于一键安装
只需先根据版本配置源

odoo8

odoo9

之后即可一键自动解决依赖安装

相信源码安装过的同学都一定很好奇
这么繁琐复杂的细节居然可以全部包装到一个rpm包里透明掉了
还有那么多依赖库,怎么可能yum里全部都有
带着这种疑问认真研究了下
才知道rpm包内除了相应的程序,还可能有pre和post install两个shell脚本
分别对应安装前和安装后执行
以下为8.0版本latest rpm包为例,其中文注释为本人补充方便整体理解

可见诸多内幕与细节全都在这段脚本里完美体现了
知己知彼,剖析清楚每一行代码后,对基于源代码的个性化定制安装部署又有了新的认识

Linux Centos7 ThinkPad X1C无线网卡问题解决记录

折腾了两天,总结下问题
不知是2015款才有的问题还是前面几代内置无线网卡型号不同而不同

话说刚装Centos7系统时
安装向导顺利适配无线网卡并顺畅连接无线网络完成整个安装过程
然而在正常启动登录后,网卡是不适配的,当然除此之外其它驱动都完美适配

初步判断是安装向导自带很多无线驱动
但这些不是全都默认安装的,不过好歹知道是肯定支持的就放心了

查阅大量相关社区讨论及文档阅读后
最终发现这款型号Intel Wireless-N 7265 BN的驱动官方yum源就有:

由于无网络连有线口都没,只好先去台式机用yum只下载不安装

得到iwl7265-firmware-22.0.7.0-36.el7.noarch.rpm安装包后通过U盘拷贝到小C本地安装

重启后无线网络的小图标久别重逢了
但是好景不长就发现网络虽能连接但及其不稳定
掉包效超高,断线率也不少,经常动不动就全没了
回想安装向导时那驱动还是很稳定服务的,只能怀疑驱动版本问题了,毕竟小C内置的不是双频AC网卡,当然这要在Windows下肯定是一个大驱动全包了

接着又搜寻了许久,最终在
https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi
找到了传说中Intel全系列Linux Wireless Driver下载集中地

然后根据Centos7 Kernel 3.10旧内核版本比较其实都不匹配
最终比对了下之前yum源安装的驱动

发现刚好就是iwlwifi-7265-ucode-22.24.8.0.tgz和iwlwifi-7265-ucode-25.228.9.0.tgz里的两同名文件
那要么先升级内核要么病马当活马医
立即下载解压覆盖重启解决所有问题
稳定顺畅的网络总算在新设备新系统的折腾上划了一个圆满的句号