当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 5 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [已猜测]initrd.gz 里的 lzop 是哪里来的?我全盘搜索都没找到这个文件名
帖子发表于 : 2017-09-30 20:12 

注册: 2013-05-26 6:58
帖子: 2212
系统: Debian 9
送出感谢: 910
接收感谢: 32
initrd.gz 里的 lzop 是哪里来的?我全盘搜索都没找到这个文件名
貌似跟busybox有关
但initrd解压后lzop并非符号链接,而是文件.
代码:
$ lsinitramfs ./initrd.img-4.9.0-3-686 |grep lzop
bin/lzop
bin/lzopcat
bin/unlzop


代码:
$ find -xdev -name '*lzop*' 2>/dev/null
./usr/share/mime/application/x-lzop.xml
./usr/share/bash-completion/completions/lzop


Sat Sep 30 22:18:27 CST 2017补充:
原来是硬链接
代码:
$ stat ./lzop
  File: ./lzop
  Size: 625828       Blocks: 1224       IO Block: 4096   regular file
Device: 802h/2050d   Inode: 1701751     Links: 205
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-09-30 18:38:40.829733896 +0800
Modify: 2016-04-17 23:37:24.000000000 +0800
Change: 2017-09-30 18:38:30.733567307 +0800
 Birth: -

Sat Sep 30 22:47:38 CST 2017补充:
理论上lzop是链接到busybox的硬链接
但是:
代码:
$ lsinitramfs -l /boot/initrd.img-4.9.0-3-686-pae | grep 625828
-rwxr-xr-x 205 root     root       625828 Apr 17  2016 bin/chvt
$ lsinitramfs -l /boot/initrd.img-4.9.0-3-686-pae | grep busybox
-rwxr-xr-x 205 root     root            0 Apr 17  2016 bin/busybox

只有chvt有大小,似乎连接到chvt上了?尽管chvt和busybox的md5sum是一样的
代码:
$ md5sum ./chvt ./busybox
bba2dfaf2332e06b5961393a7a90f304  ./chvt
bba2dfaf2332e06b5961393a7a90f304  ./busybox

根据这个介绍:
http://blog.csdn.net/longerzone/article ... s/23870297
似乎硬链接和原始文件没有办法进行有效区分
故此猜测可能是cpio处理时把chvt当成第一个或"原始"文件了.


_________________
Linux桌面优化综合贴[2017.09.18](欢迎各位补充或指正误区)
[2016.03.10]会C语言但看不懂英文文档的点这里,一个用C语言编写的简陋学习工具
单硬盘通过iso文件实机安装Debian的方法
重启或操作fcitx时失去响应的一个解决方法,不妨试试看


最后由 科学之子 编辑于 2017-09-30 23:07,总共编辑了 5 次

页首
 用户资料  
 
2 楼 
 文章标题 : Re: initrd.gz 里的 lzop 是哪里来的?我全盘搜索都没找到这个文件名
帖子发表于 : 2017-09-30 20:53 
头像

注册: 2008-09-18 13:11
帖子: 2951
送出感谢: 1
接收感谢: 495
你咋不看看文件在initrd.gz中的大小?
代码:
lsinitramfs -l ./initrd.img-4.9.0-3-686 |grep lzop


或者你看看解压后的大小,有没有和其他文件一样的?



_________________
评价: 3.7% 科学之子
 
页首
 用户资料  
 
3 楼 
 文章标题 : Re: initrd.gz 里的 lzop 是哪里来的?我全盘搜索都没找到这个文件名
帖子发表于 : 2017-09-30 22:26 

注册: 2013-05-26 6:58
帖子: 2212
系统: Debian 9
送出感谢: 910
接收感谢: 32
astolia 写道:
你咋不看看文件在initrd.gz中的大小?
代码:
lsinitramfs -l ./initrd.img-4.9.0-3-686 |grep lzop


或者你看看解压后的大小,有没有和其他文件一样的?

原来lzop是硬链接
不过为什么lsinitramfs -l 显示的busybox大小是0?
通过搜索文件大小看chvt才有大小?
代码:
$ lsinitramfs -l /boot/initrd.img-4.9.0-3-686-pae | grep 625828
-rwxr-xr-x 205 root     root       625828 Apr 17  2016 bin/chvt
$ lsinitramfs -l /boot/initrd.img-4.9.0-3-686-pae | grep busybox
-rwxr-xr-x 205 root     root            0 Apr 17  2016 bin/busybox


_________________
Linux桌面优化综合贴[2017.09.18](欢迎各位补充或指正误区)
[2016.03.10]会C语言但看不懂英文文档的点这里,一个用C语言编写的简陋学习工具
单硬盘通过iso文件实机安装Debian的方法
重启或操作fcitx时失去响应的一个解决方法,不妨试试看


页首
 用户资料  
 
4 楼 
 文章标题 : Re: [已猜测]initrd.gz 里的 lzop 是哪里来的?我全盘搜索都没找到这个文件名
帖子发表于 : 2017-10-05 13:59 
头像

注册: 2008-09-18 13:11
帖子: 2951
送出感谢: 1
接收感谢: 495
自己做个实验不就明白了?

代码:
$ mkdir /tmp/test
$ cd /tmp/test
$ echo test > a
$ ln a b
$ ls *
a  b
$ ls * | sort -r
b
a
$ ls * | cpio -o --format=newc > /tmp/a
1 block
$ ls * | sort -r | cpio -o --format=newc > /tmp/b
1 block
$ cpio -tv < /tmp/a
-rw-rw-r--   2 xxx      xxx             0 Oct  5 13:55 a
-rw-rw-r--   2 xxx      xxx             5 Oct  5 13:55 b
1 block
$ cpio -tv < /tmp/b
-rw-rw-r--   2 xxx      xxx             0 Oct  5 13:55 b
-rw-rw-r--   2 xxx      xxx             5 Oct  5 13:55 a
1 block

往cpio里面喂的时候,谁在后面谁有实际大小



_________________
评价: 3.7% 科学之子
 
页首
 用户资料  
 
5 楼 
 文章标题 : Re: [已猜测]initrd.gz 里的 lzop 是哪里来的?我全盘搜索都没找到这个文件名
帖子发表于 : 2017-10-05 14:20 
头像

注册: 2008-09-18 13:11
帖子: 2951
送出感谢: 1
接收感谢: 495
另外也和cpio时选的format有关系。其他格式有可能第一个有,也有可能全都有


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 5 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译