rootkit hunter能检查一下系统是否被安装后门,听说很厉害。 去官网下载一个tar包,解压 安装 ./installer.sh --layout custom /opt/temp/rkhunter --install 这个是指定安装目录,日志都会打到/var/log/rkhunter.log 更新rootkit hunter的数据库 /opt/temp/rkhunter/bin/rkhunter --update 进行检查 /opt/temp/rkhunter/bin/rkhunter --checkall 然后查看结果 cat /var/log/rkhunter.log|grep "Warning\|Vulnerable" cat /var/log/rkhunter.log|grep -A 30 "System checks summary" 这个关键字可能不准确,具体看看总结,再细看检查的过程。

Continue

在用Grafana绘图,后端时序数据库用的InfluxDB。在进行绘图的时候用到取top n的数据。有一个top函数,但是里边不能有函数计算了。我是先group by tag 然后求和的。 查了好多看大部分都是top,开始搜的时候还搜的Grafana,后来想到这是influxdb的查询。找到官方文档,有一个limit和slimit. 这里是有区别的,slimit是相当于之前想法的limit,只去分组的top n。而limit是取每个分组下的top n。 但是order by 也不能 用聚合的字段来,还不知道排序怎么搞。 感觉influxdb还是很新的东西,好多东西太难搞了。也许是不了解。。

Continue

dockerd/daemon.go start() loadDaemonCliConfig(opts) 里 daemon.MergeDaemonConfigurations(config, flags, opts.configFile)将配置文件设置的参数和命令参数合并。 过了好多代码,感觉都是配置啥的就不看具体干啥了。 setDefaultUmask() 设置umask 0022,把goup和other的写权限干掉了。 daemon.CreateDaemonRoot(cli.Config) 先获取docker daemon根目录 默认/var/lib/docker setupRemappedRoot 根据配置映射容器用户和组的 这个参数默认是空的,也就是不映射 如果设置了这个参数 parseRemappedRoot就是解析参数的,有四种格式 username username:groupname uid uid:gid 然后解析/etc/passwd和/etc/group看看参数对不对。其中解析是否是defaultIDSpeci

Continue

东西太多了,大体过了一下,感觉会少了很多东西。有一些三方库,也没去看库怎么用。就看函数名大体猜一下功能。 完全就是从main函数一步一步往下看,这种看法就是缺少一个大局的认识,开始会有很多不理解的做法。 cmd/dockerd/docker.go reexec.Init() 必须要提前调用的方法,用来初始化。如果初始化过了就会返回true,main函数也退出了。 判断是否调用过,就是看看registeredInitializers里有没有os.Args[0]的key。 如果有调用value,没有直接返回false,接着走main函数 具体value是个啥函数,慢慢看.里边还有个Register(函数用来往registeredInitializers里添加值。 cmd := newDaemonCommand() cmd.Execute() 这里一看就跟client的结构一样,突然就感觉好看多了。。 daemonOptions daemon.NewConfig() 返回一个Config,所有配置应该都在这,太多了,也看不到啥意思先过了。 c

Continue

哈哈,找了个跨平台的游戏框架玩玩。 在mac平台上安装试了一下。下载需要注册,第一次启动也需要填注册的账号,所以还是注册了。 安装完启动输入账号,完成后创建一个项目。直接点击是使用的手机模拟器启动的。 官方给出的命令启动方法,-no-console YES是不显示debug信息。 "/Applications/CoronaSDK/Corona Simulator.app/Contents/MacOS/Corona Simulator" ~/CoronaApps/MyApp 作为桌面软件启动的时候,还是要先开模拟器编译通过后,菜单选择File → Build → macOS.填填选项。选择 Open application编译完启动,或者编译完手动启动也行。

Continue

今天手贱升级了一个pkg版本,从pkg-1.9.3升级到pkg-1.9.4_1。然后就不能用了。提示 /usr/local/lib/libpkg.so.3: Undefined symbol "openat" pkg命令不能用了。好像是内核版本太低了。就找了一下怎么解决。 有个pkg-static命令可以使用,,然后/var/cache/pkg里边缓存的包。执行命令: pkg-static install -f /var/cache/pkg/pkg-1.9.3.txz 强制换低版本的pkg。然后就好了。。没有这个包可以去freebsd官网下一个。

Continue

先看看上次没看完的client的初始化。 NewAPIClientFromFlags里 getServerHost(opts.Hosts, opts.TLSOptions),如果参数有指定用参数的,如果没指定用os.Getenv("DOCKER_HOST"). 设置customHeaders,环境变量如果有设置DOCKER_API_VERSION,设置api版本 newHTTPClient(host, opts.TLSOptions)返回一个http.client client.NewClient(host, verStr, httpClient, customHeaders)初始化一个新的Client对象,Client是啥, client/interface_stable.go package client // APIClient is an interface that clients that talk with a docker server must implement. type APIClient interface { CommonAPI

Continue

先看docker/cmd/docker/docker.go 主要就三行 dockerCli := command.NewDockerCli(stdin, stdout, stderr) cmd := newDockerCommand(dockerCli) if err := cmd.Execute(); err != nil { NewDockerCli( 在docker/cli/command/cli.go里返回一个DockerCli实例 type DockerCli struct { configFile *configfile.ConfigFile in *InStream out *OutStream err io.Writer keyFile string client client.APIClient hasExperimental bool defaultVersion string

Continue

这个本用了有半年了,mac pro最低配置的,感觉最紧的就是硬盘了。然后再是内存,开几个程序内存基本就满了。别的都挺好。 本来一直没升级,想清理空间的时候网上搜到一个图,后来发现是新版sierra里才有的硬盘分析工具。于是升级了系统版本。 新系统有个siri的功能,连看没看直接没启用,,因为我从来没用过GarageBand,感觉以后也不会用上,就也卸载了 Macintosh HD/Applications/GarageBand.app (1.16GB) Macintosh HD/Library/Application Support/GarageBand (995MB) Macintosh HD/Library/Application Support/Logic (880MB) Macintosh HD/Library/Audio/Apple Loops (up to 10GB)*xx 删掉这几个目录就可以了。使用工具邮件也清理了一下,瞬间释放好多硬盘空间。 等周末再把 不看的pdf移动到nas上 ,空间就足够搞别的了。应用程

Continue

直接从makefile入手找到hack/make.sh,具体怎么编译的不看,只找入口. 看make.sh要编译的东西主要应该就看俩就行了,一个是clien,一个是daemon。 binary-client binary-daemon dynbinary test-unit test-integration-cli test-docker-py cross tgz 其他一些测试用的,不管,还有一些不知道。以后再说。 然后往下翻发现都在hack/make/目录里边对应的文件。 俩文件样子差不多,binary-client 二进制名为docker ,binary-daemon为dockerd。源码目录分别对应 docker/cmd/docker,docker/cmd/dockerd 搞定,后边再接着看。

Continue