Debian

為什麼 /etc/machine-id 在重啟時會發生變化?

  • February 7, 2016

/etc/machine-id我最近安裝的 Debian Jessie 每次啟動都會發生變化。

文件說它不應該:

機器 ID 通常是在系統安裝期間從隨機來源生成的,並且在所有後續引導中保持不變。可選地,對於無狀態系統,如果發現它是空的,它會在早期啟動時在執行時生成。

(除非我的系統是“無狀態的”。不知道那是什麼。)

我意識到了這一點,因為它每天在我的/etc儲存庫中使用etckeeper.

mount 命令確認它不是持久的:

# mount | grep machine-id
tmpfs on /etc/machine-id type tmpfs (ro,relatime,size=811524k,mode=755)

這是一個問題嗎?我應該對此做些什麼嗎?

我可以添加它來.gitignore避免無用的送出,但我很想知道它為什麼會首先發生。

編輯:dfmount輸出

完全不確定這是否重要,但這裡是:

我正在使用軟體 RAID1。/dev/sda並被/dev/sdc鏡像到一個 3 個分區卷中:/dev/md0p1is swap、/dev/md0p2is / 和/dev/md0p3is /home。

/dev/sdb是用於備份的舊 HD。

$ df
Sys. de fichiers blocs de 1K   Utilisé Disponible Uti% Monté sur
/dev/md0p2          28703672   5011248   22211316  19% /
udev                   10240         0      10240   0% /dev
tmpfs                 811524      9360     802164   2% /run
tmpfs                2028804       836    2027968   1% /dev/shm
tmpfs                   5120         4       5116   1% /run/lock
tmpfs                2028804         0    2028804   0% /sys/fs/cgroup
/dev/sdb1          615189496 506132424   77784164  87% /mnt/bak
/dev/md0p3         928490588 506207060  375095888  58% /home
tmpfs                 405764         4     405760   1% /run/user/119
tmpfs                 405764        16     405748   1% /run/user/1000

$ mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=504119,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,relatime,size=811524k,mode=755)
/dev/md0p2 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
tmpfs on /etc/machine-id type tmpfs (ro,relatime,size=811524k,mode=755)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=22,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
/dev/sdb1 on /mnt/bak type ext4 (rw,relatime,errors=remount-ro,data=ordered)
/dev/md0p3 on /home type ext4 (rw,relatime,data=ordered)
rpc_pipefs on /run/rpc_pipefs type rpc_pipefs (rw,relatime)
tmpfs on /run/user/119 type tmpfs (rw,nosuid,nodev,relatime,size=405764k,mode=700,uid=119,gid=127)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=405764k,mode=700,uid=1000,gid=1000)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)

試試這個讓你目前的機器 ID 永久化:

# mount --bind / /mnt
# cp /etc/machine-id /mnt/etc/machine-id
# reboot

這應該擺脫 tmpfs mount over /etc/machine-id

引用自:https://unix.stackexchange.com/questions/260367