0%

一个问题浪费两次时间,真是一个悲伤的故事。

问题出在对于按时间归档的 Appender 的理解失误上,在网上找啊找啊,都是千篇一律的抄来抄去,完全不符合要求。明明记得在不久以前处理过这个问题,但却就忘了提交了呢。宝宝心里苦啊。

我这里要求是按时间生成文件名,也就是文件名是按当时的时间去确定的。当是库上的版本却用了 DailyRollingFileAppender 这个。这个的在确的意思是,多长时是一归档,当然归档会有一个文件名的规则。
而这里的问题正确应该用:TimeBasedRollingFileAppender

下面是一个例子:

1
2
3
4
5
6
7
8
9
log4cplus.appender.OTS_H=log4cplus::TimeBasedRollingFileAppender
log4cplus.appender.OTS_H.MaxHistory=10
log4cplus.appender.OTS_H.FilenamePattern=%d{yyyy-MM-dd-HH-mm}_OTS.csv
log4cplus.appender.OTS_H.layout=log4cplus::PatternLayout

log4cplus.appender.OTS_H.layout.ConversionPattern=%m%n
log4cplus.appender.OTS_H.RollOnClose=false
log4cplus.appender.OTS_H.Schedule=DAILY
log4cplus.appender.OTS_H.CreateDirs=true

升级4.X以后,出现这个问题,一直卡在加载程序的地方,取消掉这个选项就没有问题。
解决的方法是:不要使用默认的终端程序,使用 xterm

Under Tools-Options-Environment-General, change the terminal value from x-terminal-emulator -e to /usr/bin/xterm -e.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
tar
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件


这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出

下面的参数-f是必须的

-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思

# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-x是解开的意思

压缩
tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux
zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux

解压
tar –xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar –xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip

总结
1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar –xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压

  1. 检查/etc/mdadm/mdadm.conf,内容是对的,但重启后,还是md127.
  2. 在网上看到这个:

查看md0的UUID:
sudo mdadm –detail /dev/md0
拷贝下来UUID 7f59975e:9e637932:dce17021:f68cb000
然后:sudo vim /etc/mdadm/mdadm.conf
在文件的靠前位置,加入这一行:
ARRAY /dev/md0 UUID=7f59975e:9e637932:dce17021:f68cb000
:wq!强制保存后退出vim,下一步很重要!You need to update initramfs so it contains your mdadm.conf settings during boot.
sudo update-initramfs -u
否则,重启系统,mdadm会自动将raid1生成/dev/md127,而不是/dev/md0。

update-initramfs 后,确实管用。

经过5+小时的尝试,终于找到了方法。参考了这个文章:http://www.newsmth.net/nForum/#!article/DigiHome/419729

  1. 找一张TF卡,我的是2G的。
  2. 启动盘准备的时候,我能进到Linux中,但是用grub-install死活也装不好,浪费了好多时间,各种参数。最后没有办法,使用了这个文章准备的grub镜像,直接用win32diskImager写的启动盘。
  3. 但这个启动盘能进grub,但不能启动我的系统,我和文章的不一样的,我的sata5位置是我安装好的xunbuntu。
  4. 去掉所有的盘,只留一个sata5的系统盘,进入系统。在安装好的系统盘中,找到/boot/grub/grub.cfg,复制这个文件替换掉Tf卡里的这个文件。
  5. 重新开机吧,setup里面选择U盘启动。再插其它的硬盘,总会是从sata5启动的。

自己的mac屏幕太小,外接了一个显示器,发现颜色偏白,有点晃眼,调来调去搞不好。网上的方法也是各种方法。

其实Apple自己的显示器设置里面就能搞好。

系统偏好设置-》显示器-》颜色-》校准

然后看着效果一步一步来,就能调整到自己满意的效果。

服务器文件大调整,盒子上看文件发现需多不对了,重启一下就好了:
用下面的命令:

sudo /etc/init.d/minidlna force-reload 

在xcode上开发IOS程序,可以将一个项目编译模拟器和真机,对应着又分别有debug和Release, 相应的别人提供的库也可能按这样给的,代码中要怎么加载呢?

xcode中可以直接配置:

打开工程配置文件,选择 “TARGETS”,找到“Build Settings”选项卡,然后找到“Search Paths”,设置“Library Search Paths”。根据不同的平台选择相应的库的路径就可以了。

问题

编译一个开源书辑时,运行 bundle install 命令报错,让安装 json -v ‘1.8.1’,但报错。

sudo gem install json -v '1.8.1'

Building native extensions.  This could take a while...
ERROR:  Error installing json:
    ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from extconf.rb:1:in `<main>'

Gem files will remain installed in /var/lib/gems/1.9.1/gems/json-1.8.1 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/json-1.8.1/ext/json/ext/generator/gem_make.out

`</pre>

## 解决

添加 ruby1.9.1-dev包就可以解决这个问题了。

<pre>`sudo apt-get install ruby1.9.1-

Git 基础使用

结合这两天的基本使用情况,进行总结:

创建分支

$ git checkout -b dev # 创建并切换

`</pre>

这样就创建了一个名字叫着 dev 的分支。

注意到这里的 checkout 命令名,他和切换分支是一个命令,只不带了一个 b 参数。

## 切换分支

<pre>`$ git checkout dev  # 切换

`</pre>

不带参数,这就是切换到了dev分支。

## 合并分支

<pre>`$ git merge dev # 从dev分支合并

`</pre>

把dev分支的修改合并到当前的分支

## 查看分支

<pre>`$ git branch

`</pre>

如果你安装了 oh-my-zsh的git支持的话,查看分支其实很少用,补全太强大了,在需要查看分支的地方,可以临时补全显示出来,选择需要操作。

## 版本回退
  • 回退版本

    `$ git reset --hard HEAD^     #回滚上一个版本
    
    $ git reset --hard HEAD^^    #回滚上上一个版本
    
    $ git reset --hard HEAD~100  #回滚上100个版本
    
    `

    这里和SVN的更新到某个版本不一样,svn这时你去看log,自己确实处理中间的某一个版本,而在Git上,此时 Git log,最上面的版本就是回退后的版本。

    撤消版本回退

    回到未来的版本可以用下面的命令:

    `$ git reset --hard 3628164

后面的数字是Git的版本号,可以使用 git log, git reflog 去找这个版本号,也可以从 gitlab, github这样的服务器上去取,当然你要是从这些服务器上 clone 过来。