免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3249 | 回复: 0
打印 上一主题 下一主题

[学习求职] 用fsdb恢复JFS2文件系统已删文件学习记录二 [复制链接]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-01-07 12:59 |只看该作者 |倒序浏览

    如下步骤,节选自昨天做的rm -r 后恢复子目录中所有文件的实际操作过程。本文同样也是依据LOVEUNIX 技术专家projects的文章——http://www.loveunix.net/thread-94093-1-1.html,照猫画虎而来。
17:50:28
[email=root@ST-FREE:[/jfs2]#mkdir]root@ST-FREE:[/jfs2]#mkdir[/email]
dir1
17:50:34
[email=root@ST-FREE:[/jfs2]#ls]root@ST-FREE:[/jfs2]#ls[/email]
dir1        lost+found
17:50:35
[email=root@ST-FREE:[/jfs2]#cd]root@ST-FREE:[/jfs2]#cd[/email]
dir1
17:50:40
[email=root@ST-FREE:[/jfs2/dir1]#ls]root@ST-FREE:[/jfs2/dir1]#ls[/email]
17:50:41
[email=root@ST-FREE:[/jfs2/dir1]#date]root@ST-FREE:[/jfs2/dir1]#date[/email]
>a
17:50:45
[email=root@ST-FREE:[/jfs2/dir1]#date]root@ST-FREE:[/jfs2/dir1]#date[/email]
>b
17:50:49
[email=root@ST-FREE:[/jfs2/dir1]#ls]root@ST-FREE:[/jfs2/dir1]#ls[/email]
-l
total 16
-rw-r--r--   1 root     system           31 Jan 06 17:50 a
-rw-r--r--   1 root     system           31 Jan 06 17:50 b
17:50:50
[email=root@ST-FREE:[/jfs2/dir1]#cat]root@ST-FREE:[/jfs2/dir1]#cat[/email]
*
Tue Jan  6 17:50:45 BEIST 2009
Tue Jan  6 17:50:49 BEIST 2009
17:50:55
[email=root@ST-FREE:[/jfs2/dir1]#sync]root@ST-FREE:[/jfs2/dir1]#sync[/email]
17:51:01
[email=root@ST-FREE:[/jfs2/dir1]#cd]root@ST-FREE:[/jfs2/dir1]#cd[/email]
17:51:02
[email=root@ST-FREE:[/]#cd]root@ST-FREE:[/]#cd[/email]
/jfs2
17:51:09
[email=root@ST-FREE:[/jfs2]#ls]root@ST-FREE:[/jfs2]#ls[/email]
dir1        lost+found
17:51:10
[email=root@ST-FREE:[/jfs2]#rm]root@ST-FREE:[/jfs2]#rm[/email]
-r dir1
17:51:13
[email=root@ST-FREE:[/jfs2]#ls]root@ST-FREE:[/jfs2]#ls[/email]
lost+found
17:51:15
[email=root@ST-FREE:[/jfs2]#cd]root@ST-FREE:[/jfs2]#cd[/email]

17:51:35
[email=root@ST-FREE:[/]#ls]root@ST-FREE:[/]#ls[/email]
-id /jfs2
    2 /jfs2
17:51:39
[email=root@ST-FREE:[/]#r]root@ST-FREE:[/]#r[/email]
umount
umount /jfs2
17:53:57
[email=root@ST-FREE:[/]#fsdb]root@ST-FREE:[/]#fsdb[/email]
/jfs2
File System:                    /jfs2
File System Size:               523864  (512 byte blocks)
Aggregate Block Size:           4096
Allocation Group Size:          8192    (aggregate blocks)
> i 2
Inode 2 at block 33, offset 0x400:
[1] di_fileset:         16              [18] di_inostamp:       0x4963295c
[2] di_number:          2               [19] di_gen:            1
[3] di_size:    0x0000000000000100      [20] di_ixpxd.len:      4
[4] di_nblocks: 0x0000000000000000      [21] di_ixpxd.addr1:    0x00
[5] di_nlink:           3               [22] di_ixpxd.addr2:    0x00000021
[6] di_mode:            0x000141ed           di_ixpxd.address:  33
                0040755 drwxr-xr-x      [24] di_uid:            0
                                        [25] di_gid:            0
[9] di_atime.tj_nsec:   0x33cba81b      [26] di_atime.tj_sec:0x0000000049632a25
[10] di_ctime.tj_nsec:  0x2747ead0      [27] di_ctime.tj_sec:0x0000000049632991
[11] di_mtime.tj_nsec:  0x2747ead0      [28] di_mtime.tj_sec:0x0000000049632991
[12] di_otime.tj_nsec:  0x00000000      [29] di_otime.tj_sec:0x000000004963295c
[13] di_ea.flag:        0x00            [30] di_ea.len:         0
     EAv1                               [31] di_ea.addr1:       0x00
[15] di_ea.nEntry:      0x00            [32] di_ea.addr2:       0x00000000
[16] di_ea.type:        0x0000               di_ea.address:     0
                                        [34] di_ea.nblocks:     0
change_inode: [m]odify, [e]a, [t]ree, or e[x]it > t
Root D-Tree Node of inode 2
[1] flag        0x83            BT_ROOT  BT_LEAF  
[2] nextindex   1
[3] freecnt     7       Actual Free Count: 7
[4] freelist    2       type 'f' to walk
[5] idotdot     2
    stbl        {1,1,0,0,0,0,0,0}       type '#' for specific stbl entry
       Slots:   next    cnt     type 's' to modify slot
     slot[1]:   0       0
     slot[2]:   3       1
     slot[3]:   4       1
     slot[4]:   5       1
     slot[5]:   6       1
     slot[6]:   7       1
     slot[7]:   8       1
     slot[8]:   -1      1
dtree: Hit enter to see entries, [h]ex dump, p, [m]odify, [f]reelist,
        lot, [#], or e[x]it: h
Slot:      Inum              Next  NamLen    Name
00000000:  00000000 00000002 00000000 00000000   |................|
00000010:  83010702 00000000 01010000 00000000   |................|
00000020:  00000000 00000003 FF0A6C6F 73742B66   |..........lost+f|
00000030:  6F756E64 00000000 00000000 00000000   |ound............|
00000040:  03010000 00000020 FF046469 72310000   |....... ..dir1..|
00000050:  00000000 00000000 00000000 00000000   |................|
00000060:  04010000 00000000 00000000 00000000   |................|
00000070:  00000000 00000000 00000000 00000000   |................|
00000080:  05010000 00000000 00000000 00000000   |................|
00000090:  00000000 00000000 00000000 00000000   |................|
000000a0:  06010000 00000000 00000000 00000000   |................|
000000b0:  00000000 00000000 00000000 00000000   |................|
000000c0:  07010000 00000000 00000000 00000000   |................|
000000d0:  00000000 00000000 00000000 00000000   |................|
000000e0:  08010000 00000000 00000000 00000000   |................|
000000f0:  00000000 00000000 00000000 00000000   |................|
-hit enter for more-
00000100:  FF010000 00000000 00000000 00000000   |................|
00000110:  00000000 00000000 00000000 00000000   |................|
dtree: Press p, [#], or e[x]it > x
> i 32
Inode 32 at block 40, offset 0x0:
[1] di_fileset:         16              [18] di_inostamp:       0x4963295c
[2] di_number:          32              [19] di_gen:            694231674
[3] di_size:    0x0000000000000100      [20] di_ixpxd.len:      4
[4] di_nblocks: 0x0000000000000000      [21] di_ixpxd.addr1:    0x00
[5] di_nlink:           0               [22] di_ixpxd.addr2:    0x00000028
[6] di_mode:            0x000141ed           di_ixpxd.address:  40
                0040755 drwxr-xr-x      [24] di_uid:            0
                                        [25] di_gid:            0
[9] di_atime.tj_nsec:   0x26aed9a9      [26] di_atime.tj_sec:0x0000000049632991
[10] di_ctime.tj_nsec:  0x2747ead0      [27] di_ctime.tj_sec:0x0000000049632991
[11] di_mtime.tj_nsec:  0x26aed9a9      [28] di_mtime.tj_sec:0x0000000049632991
[12] di_otime.tj_nsec:  0x30d07c96      [29] di_otime.tj_sec:0x000000004963296a
[13] di_ea.flag:        0x00            [30] di_ea.len:         0
     EAv1                               [31] di_ea.addr1:       0x00
[15] di_ea.nEntry:      0x00            [32] di_ea.addr2:       0x00000000
[16] di_ea.type:        0x0000               di_ea.address:     0
                                        [34] di_ea.nblocks:     0
change_inode: [m]odify, [e]a, [t]ree, or e[x]it > m 5 1
Inode 32 at block 40, offset 0x0:
[1] di_fileset:         16              [18] di_inostamp:       0x4963295c
[2] di_number:          32              [19] di_gen:            694231674
[3] di_size:    0x0000000000000100      [20] di_ixpxd.len:      4
[4] di_nblocks: 0x0000000000000000      [21] di_ixpxd.addr1:    0x00
[5] di_nlink:           1               [22] di_ixpxd.addr2:    0x00000028
[6] di_mode:            0x000141ed           di_ixpxd.address:  40
                0040755 drwxr-xr-x      [24] di_uid:            0
                                        [25] di_gid:            0
[9] di_atime.tj_nsec:   0x26aed9a9      [26] di_atime.tj_sec:0x0000000049632991
[10] di_ctime.tj_nsec:  0x2747ead0      [27] di_ctime.tj_sec:0x0000000049632991
[11] di_mtime.tj_nsec:  0x26aed9a9      [28] di_mtime.tj_sec:0x0000000049632991
[12] di_otime.tj_nsec:  0x30d07c96      [29] di_otime.tj_sec:0x000000004963296a
[13] di_ea.flag:        0x00            [30] di_ea.len:         0
     EAv1                               [31] di_ea.addr1:       0x00
[15] di_ea.nEntry:      0x00            [32] di_ea.addr2:       0x00000000
[16] di_ea.type:        0x0000               di_ea.address:     0
                                        [34] di_ea.nblocks:     0
change_inode: [m]odify, [e]a, [t]ree, or e[x]it > x
> q
17:54:36
[email=root@ST-FREE:[/]#fsck]root@ST-FREE:[/]#fsck[/email]
-y /jfs2

The current volume is: /dev/fslv01
Primary superblock is valid.
*** Phase 1 - Initial inode scan
Inode 32 has incorrect link count (FIXED)
Superblock marked dirty because repairs are about to be written.
*** Phase 2 - Process remaining directories
*** Phase 3 - Process remaining files
*** Phase 4 - Check and repair inode allocation map
File system inode map is corrupt (FIXED)
*** Phase 5 - Check and repair block allocation map
Inodes not connected to the root directory
         tree have been detected.  Will reconnect.
File system is clean.
Superblock is marked dirty (FIXED)
All observed inconsistencies have been repaired.
17:54:52
[email=root@ST-FREE:[/]#mount]root@ST-FREE:[/]#mount[/email]
/jfs2
17:55:00
[email=root@ST-FREE:[/]#cd]root@ST-FREE:[/]#cd[/email]
/jfs2
17:55:03
[email=root@ST-FREE:[/jfs2]#ls]root@ST-FREE:[/jfs2]#ls[/email]
lost+found
17:55:04
[email=root@ST-FREE:[/jfs2]#cd]root@ST-FREE:[/jfs2]#cd[/email]
*
17:55:06
[email=root@ST-FREE:[/jfs2/lost+found]#ls]root@ST-FREE:[/jfs2/lost+found]#ls[/email]
-l
total 0
drwxr-xr-x   2 root     system          256 Jan 06 17:51 32
17:55:09
[email=root@ST-FREE:[/jfs2/lost+found]#cd]root@ST-FREE:[/jfs2/lost+found]#cd[/email]
32
17:55:12
[email=root@ST-FREE:[/jfs2/lost+found/32]#ls]root@ST-FREE:[/jfs2/lost+found/32]#ls[/email]
17:55:13
[email=root@ST-FREE:[/jfs2/lost+found/32]#cd]root@ST-FREE:[/jfs2/lost+found/32]#cd[/email]
17:57:30
[email=root@ST-FREE:[/]#umount]root@ST-FREE:[/]#umount[/email]
/jfs2
17:57:43
[email=root@ST-FREE:[/]#fsdb]root@ST-FREE:[/]#fsdb[/email]
/jfs2
File System:                    /jfs2
File System Size:               523864  (512 byte blocks)
Aggregate Block Size:           4096
Allocation Group Size:          8192    (aggregate blocks)
> i 32
Inode 32 at block 40, offset 0x0:
[1] di_fileset:         16              [18] di_inostamp:       0x4963295c
[2] di_number:          32              [19] di_gen:            694231674
[3] di_size:    0x0000000000000100      [20] di_ixpxd.len:      4
[4] di_nblocks: 0x0000000000000000      [21] di_ixpxd.addr1:    0x00
[5] di_nlink:           2               [22] di_ixpxd.addr2:    0x00000028
[6] di_mode:            0x000141ed           di_ixpxd.address:  40
                0040755 drwxr-xr-x      [24] di_uid:            0
                                        [25] di_gid:            0
[9] di_atime.tj_nsec:   0x266642ca      [26] di_atime.tj_sec:0x0000000049632a81
[10] di_ctime.tj_nsec:  0x2747ead0      [27] di_ctime.tj_sec:0x0000000049632991
[11] di_mtime.tj_nsec:  0x26aed9a9      [28] di_mtime.tj_sec:0x0000000049632991
[12] di_otime.tj_nsec:  0x30d07c96      [29] di_otime.tj_sec:0x000000004963296a
[13] di_ea.flag:        0x00            [30] di_ea.len:         0
     EAv1                               [31] di_ea.addr1:       0x00
[15] di_ea.nEntry:      0x00            [32] di_ea.addr2:       0x00000000
[16] di_ea.type:        0x0000               di_ea.address:     0
                                        [34] di_ea.nblocks:     0
change_inode: [m]odify, [e]a, [t]ree, or e[x]it > t
Root D-Tree Node of inode 32
[1] flag        0x83            BT_ROOT  BT_LEAF  
[2] nextindex   0
[3] freecnt     8       Actual Free Count: 8
[4] freelist    1       type 'f' to walk
[5] idotdot     3
    stbl        {2,2,0,0,0,0,0,0}       type '#' for specific stbl entry
       Slots:   next    cnt     type 's' to modify slot
     slot[1]:   2       1
     slot[2]:   3       0
     slot[3]:   4       0
     slot[4]:   5       0
     slot[5]:   6       0
     slot[6]:   7       0
     slot[7]:   8       0
     slot[8]:   -1      0
dtree: [h]ex dump, p, [m]odify, [f]reelist, lot, [#], or e[x]it: h
Empty tree.  Displaying all entries.
Slot:      Inum              Next  NamLen    Name
00000000:  00000000 00000003 00000000 00000000   |................|
00000010:  83000801 00000000 02020000 00000000   |................|
00000020:  02010000 00000021 FF016100 00000000   |.......!..a.....|
00000030:  00000000 00000000 00000000 00000000   |................|
00000040:  03000000 00000022 FF016200 00000000   |......."..b.....|
00000050:  00000000 00000000 00000000 00000000   |................|
00000060:  04000000 00000000 00000000 00000000   |................|
00000070:  00000000 00000000 00000000 00000000   |................|
00000080:  05000000 00000000 00000000 00000000   |................|
00000090:  00000000 00000000 00000000 00000000   |................|
000000a0:  06000000 00000000 00000000 00000000   |................|
000000b0:  00000000 00000000 00000000 00000000   |................|
000000c0:  07000000 00000000 00000000 00000000   |................|
000000d0:  00000000 00000000 00000000 00000000   |................|
000000e0:  08000000 00000000 00000000 00000000   |................|
000000f0:  00000000 00000000 00000000 00000000   |................|
-hit enter for more-
00000100:  FF000000 00000000 00000000 00000000   |................|
00000110:  00000000 00000000 00000000 00000000   |................|
dtree: Press p, [#], or e[x]it > x
> i 33
Inode 33 at block 40, offset 0x200:
[1] di_fileset:         16              [18] di_inostamp:       0x4963295c
[2] di_number:          33              [19] di_gen:            694231675
[3] di_size:    0x000000000000001f      [20] di_ixpxd.len:      4
[4] di_nblocks: 0x0000000000000001      [21] di_ixpxd.addr1:    0x00
[5] di_nlink:           0               [22] di_ixpxd.addr2:    0x00000028
[6] di_mode:            0x000081a4           di_ixpxd.address:  40
                0100644 -rw-r--r--      [24] di_uid:            0
                                        [25] di_gid:            0
[9] di_atime.tj_nsec:   0x34fce4c0      [26] di_atime.tj_sec:0x000000004963297f
[10] di_ctime.tj_nsec:  0x26aed9a8      [27] di_ctime.tj_sec:0x0000000049632991
[11] di_mtime.tj_nsec:  0x1e569262      [28] di_mtime.tj_sec:0x0000000049632975
[12] di_otime.tj_nsec:  0x1dbdf9a6      [29] di_otime.tj_sec:0x0000000049632975
[13] di_ea.flag:        0x00            [30] di_ea.len:         0
     EAv1                               [31] di_ea.addr1:       0x00
[15] di_ea.nEntry:      0x00            [32] di_ea.addr2:       0x00000000
[16] di_ea.type:        0x0000               di_ea.address:     0
                                        [34] di_ea.nblocks:     0
change_inode: [m]odify, [e]a, [t]ree, or e[x]it > m 5 1
Inode 33 at block 40, offset 0x200:
[1] di_fileset:         16              [18] di_inostamp:       0x4963295c
[2] di_number:          33              [19] di_gen:            694231675
[3] di_size:    0x000000000000001f      [20] di_ixpxd.len:      4
[4] di_nblocks: 0x0000000000000001      [21] di_ixpxd.addr1:    0x00
[5] di_nlink:           1               [22] di_ixpxd.addr2:    0x00000028
[6] di_mode:            0x000081a4           di_ixpxd.address:  40
                0100644 -rw-r--r--      [24] di_uid:            0
                                        [25] di_gid:            0
[9] di_atime.tj_nsec:   0x34fce4c0      [26] di_atime.tj_sec:0x000000004963297f
[10] di_ctime.tj_nsec:  0x26aed9a8      [27] di_ctime.tj_sec:0x0000000049632991
[11] di_mtime.tj_nsec:  0x1e569262      [28] di_mtime.tj_sec:0x0000000049632975
[12] di_otime.tj_nsec:  0x1dbdf9a6      [29] di_otime.tj_sec:0x0000000049632975
[13] di_ea.flag:        0x00            [30] di_ea.len:         0
     EAv1                               [31] di_ea.addr1:       0x00
[15] di_ea.nEntry:      0x00            [32] di_ea.addr2:       0x00000000
[16] di_ea.type:        0x0000               di_ea.address:     0
                                        [34] di_ea.nblocks:     0
change_inode: [m]odify, [e]a, [t]ree, or e[x]it > x
> i 34
Inode 34 at block 40, offset 0x400:
[1] di_fileset:         16              [18] di_inostamp:       0x4963295c
[2] di_number:          34              [19] di_gen:            694231676
[3] di_size:    0x000000000000001f      [20] di_ixpxd.len:      4
[4] di_nblocks: 0x0000000000000001      [21] di_ixpxd.addr1:    0x00
[5] di_nlink:           0               [22] di_ixpxd.addr2:    0x00000028
[6] di_mode:            0x000081a4           di_ixpxd.address:  40
                0100644 -rw-r--r--      [24] di_uid:            0
                                        [25] di_gid:            0
[9] di_atime.tj_nsec:   0x34fce4c0      [26] di_atime.tj_sec:0x000000004963297f
[10] di_ctime.tj_nsec:  0x26aed9a8      [27] di_ctime.tj_sec:0x0000000049632991
[11] di_mtime.tj_nsec:  0x11d5fae3      [28] di_mtime.tj_sec:0x0000000049632979
[12] di_otime.tj_nsec:  0x11d5fae2      [29] di_otime.tj_sec:0x0000000049632979
[13] di_ea.flag:        0x00            [30] di_ea.len:         0
     EAv1                               [31] di_ea.addr1:       0x00
[15] di_ea.nEntry:      0x00            [32] di_ea.addr2:       0x00000000
[16] di_ea.type:        0x0000               di_ea.address:     0
                                        [34] di_ea.nblocks:     0
change_inode: [m]odify, [e]a, [t]ree, or e[x]it > m 5 1
Inode 34 at block 40, offset 0x400:
[1] di_fileset:         16              [18] di_inostamp:       0x4963295c
[2] di_number:          34              [19] di_gen:            694231676
[3] di_size:    0x000000000000001f      [20] di_ixpxd.len:      4
[4] di_nblocks: 0x0000000000000001      [21] di_ixpxd.addr1:    0x00
[5] di_nlink:           1               [22] di_ixpxd.addr2:    0x00000028
[6] di_mode:            0x000081a4           di_ixpxd.address:  40
                0100644 -rw-r--r--      [24] di_uid:            0
                                        [25] di_gid:            0
[9] di_atime.tj_nsec:   0x34fce4c0      [26] di_atime.tj_sec:0x000000004963297f
[10] di_ctime.tj_nsec:  0x26aed9a8      [27] di_ctime.tj_sec:0x0000000049632991
[11] di_mtime.tj_nsec:  0x11d5fae3      [28] di_mtime.tj_sec:0x0000000049632979
[12] di_otime.tj_nsec:  0x11d5fae2      [29] di_otime.tj_sec:0x0000000049632979
[13] di_ea.flag:        0x00            [30] di_ea.len:         0
     EAv1                               [31] di_ea.addr1:       0x00
[15] di_ea.nEntry:      0x00            [32] di_ea.addr2:       0x00000000
[16] di_ea.type:        0x0000               di_ea.address:     0
                                        [34] di_ea.nblocks:     0
change_inode: [m]odify, [e]a, [t]ree, or e[x]it > x
> q
17:58:38
[email=root@ST-FREE:[/]root@ST-FREE:[/[/email]
]#
17:58:49
[email=root@ST-FREE:[/]#fsck]root@ST-FREE:[/]#fsck[/email]
-y /jfs2

The current volume is: /dev/fslv01
Primary superblock is valid.
*** Phase 1 - Initial inode scan
*** Phase 2 - Process remaining directories
*** Phase 3 - Process remaining files
*** Phase 4 - Check and repair inode allocation map
File system inode map is corrupt (FIXED)
Superblock marked dirty because repairs are about to be written.
*** Phase 5 - Check and repair block allocation map
Block allocation map is corrupt (FIXED)
Inodes not connected to the root directory
         tree have been detected.  Will reconnect.
File system is clean.
Superblock is marked dirty (FIXED)
All observed inconsistencies have been repaired.
17:59:14
[email=root@ST-FREE:[/]#mount]root@ST-FREE:[/]#mount[/email]
/jfs2
17:59:17
[email=root@ST-FREE:[/]#cd]root@ST-FREE:[/]#cd[/email]
/jfs2
17:59:20
[email=root@ST-FREE:[/jfs2]#ls]root@ST-FREE:[/jfs2]#ls[/email]
-l
total 0
drwxr-xr-x   3 root     system          256 Jan 06 17:50 lost+found
17:59:21
[email=root@ST-FREE:[/jfs2]root@ST-FREE:[/jfs2[/email]
]#
17:59:23
[email=root@ST-FREE:[/jfs2]#cd]root@ST-FREE:[/jfs2]#cd[/email]
*
17:59:27
[email=root@ST-FREE:[/jfs2/lost+found]#find]root@ST-FREE:[/jfs2/lost+found]#find[/email]
. -ls
    3    1 drwxr-xr-x  3 root      system         256 Jan  6 17:50 .
   32    1 drwxr-xr-x  2 root      system         256 Jan  6 17:51 ./32
   33    1 -rw-r--r--  1 root      system          31 Jan  6 17:50 ./33
   34    1 -rw-r--r--  1 root      system          31 Jan  6 17:50 ./34
17:59:45
[email=root@ST-FREE:[/jfs2/lost+found]#cat]root@ST-FREE:[/jfs2/lost+found]#cat[/email]
33
Tue Jan  6 17:50:45 BEIST 2009
17:59:49
[email=root@ST-FREE:[/jfs2/lost+found]#cat]root@ST-FREE:[/jfs2/lost+found]#cat[/email]
34
Tue Jan  6 17:50:49 BEIST 2009
17:59:52
[email=root@ST-FREE:[/jfs2/lost+found]root@ST-FREE:[/jfs2/lost+found[/email]
]#
========================================================================
任何形式的转载,请写明出处:
email:
beginner@yeah.net
blog:
http://www.aixchina.net/?1865
   
http://www.cublog.cn/u/739/
========================================================================


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/739/showart_1779394.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP