页次: 1
起因
在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)
离线
这是硬链接,看第二列的链接计数。也可以 ls -li 看 inode 编号。
离线
哈哈,原来这个字段是硬链接的意思.
平时没怎么用过硬链接,不太了解这个知识,网上查了一下,现在明白了.
离线
页次: 1