您尚未登录。

#1 2023-06-02 18:53:58

justin_wu_cn
会员
注册时间: 2023-06-02
帖子: 3

关于archlinux软件打包的问题,可能是打包的失误

起因

在N1上安装了aarchlinux,发现安装包里的gcc软件包,其实就是PC版的aarch64-linux-gnu-gcc软件包, 因为N1是ARM64架构,默认的gcc编译器,应该是使用aarch64-linux-gnu-gcc没错.

因为N1只有8G存储空间,所以一直在想办法怎么减少系统的体积.

最近发现系统里面有的应用程序不是使用软链接实现,而是每个文件都有一份复制体.

比如下4个文件,其实都是同一个文件,但是在系统里却保存了4份复制.

-rwxr-xr-x 4 root root  1371672 May 29  2022 aarch64-unknown-linux-gnu-c++*
-rwxr-xr-x 4 root root  1371672 May 29  2022 aarch64-unknown-linux-gnu-g++*
-rwxr-xr-x 4 root root 1371672 May 29  2022 c++*
-rwxr-xr-x 4 root root 1371672 May 29  2022 g++*

gcc应用程序也存在同样的情况.

-rwxr-xr-x 3 root root  1363512 May 29  2022 aarch64-unknown-linux-gnu-gcc*
-rwxr-xr-x 3 root root  1363512 May 29  2022 aarch64-unknown-linux-gnu-gcc-12.1.0*
-rwxr-xr-x 3 root root  1363512 May 29  2022 gcc*

查看x86平台

查看x86平台archlinux, gcc软件包,也有同样的情况.

-rwxr-xr-x  3 root root        1951728  4月30日 18:11 gcc*
-rwxr-xr-x  3 root root        1951728  4月30日 18:11 x86_64-pc-linux-gnu-gcc*
-rwxr-xr-x  3 root root        1951728  4月30日 18:11 x86_64-pc-linux-gnu-gcc-13.1.1*

-rwxr-xr-x  4 root root        1955824  4月30日 18:11 g++*
-rwxr-xr-x  4 root root        1955824  4月30日 18:11 c++*
-rwxr-xr-x  4 root root        1955824  4月30日 18:11 x86_64-pc-linux-gnu-c++*

对比ubuntu

lrwxrwxrwx  1 root root             6  8月  5  2021 gcc -> gcc-11*
lrwxrwxrwx  1 root root            23  1月 16 18:17 gcc-11 -> x86_64-linux-gnu-gcc-11*
lrwxrwxrwx  1 root root             6  8月  5  2021 x86_64-linux-gnu-gcc -> gcc-11*
-rwxr-xr-x  1 root root        862976  1月 16 18:17 x86_64-linux-gnu-gcc-11*

所有的gcc只有一份本体,其他别名都是使用软链接.



猜想原因

gcc软件包,应该是编译时,生成的都是软链接,但是在打包时,进行了一个拷贝操作,这个拷贝操作把软链接拷贝成了实体文件.



其他软件包

另外一个软件包mkfs也存在同样的情况, mkfs.ex2, mkfs.ex3, mkfs.ex4, 是同一个文件,使用md5sum计算得到同样的md5值.

最近编辑记录 justin_wu_cn (2023-06-02 18:57:34)

离线

#2 2023-06-03 11:14:12

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,916
个人网站

Re: 关于archlinux软件打包的问题,可能是打包的失误

这是硬链接,看第二列的链接计数。也可以 ls -li 看 inode 编号。

离线

#3 2023-06-05 15:32:23

justin_wu_cn
会员
注册时间: 2023-06-02
帖子: 3

Re: 关于archlinux软件打包的问题,可能是打包的失误

哈哈,原来这个字段是硬链接的意思.
平时没怎么用过硬链接,不太了解这个知识,网上查了一下,现在明白了.

离线

页脚