我正在将一些数据从旧服务器安装到新服务器。
由于我的旧服务器已经使用了很长时间,因此我有大量的遗留数据,其中最肯定的是遗留用户和组名。
提取时, tar 尽最大努力按名称匹配用户和组信息,并使用标识符作为后备或当前用户作为最后的手段。
我想做的是确保所有用户和组在我进行提取之前都存在。这样所有文件都会获得正确的 ID。
为此,我能想到的最好方法是列出在 tar 文件中找到的所有用户名和组名。我知道我可以使用该tar tvf backup.tar
命令列出所有文件,但是我必须想出一种方法来提取正确的两个名称。
我想知道是否有比使用该tv
选项更简单的方法。一些仅提取用户名和组名的工具或命令行选项,我可以使用它sort -u
来将列表减少为唯一条目。
有人知道这样的功能吗?
有趣的问题。通过快速浏览手册页(搜索“用户”,当没有出现结果时,搜索“所有者”)以下应该做到这一点:
显然,根据您的需要更改脚本。您可能需要
$TAR_UID
and$TAR_GID
而不是某些用例的名称。我还建议您阅读 ; 的
--owner-map
和--group-map
选项tar
。它们听起来可以极大地使您的用例受益,并且比提前创建所有用户和组要简单得多。快速组装:
团体:
用户:
用户/组对: