从干净的 ubuntu 安装中下载单个文件

从干净的 ubuntu 安装中下载单个文件

互联网上是否有资源,我可以在哪里下载我在 ubuntu 服务器安装中所需的单个文件?

在这种情况下,我需要一个适用于 Ubuntu 服务器 12.04 的干净版本/etc/grub.d/00_header。有时,我希望获取适用于特定 Linux 版本的文件的干净版本。

除了在其他地方再次安装 ubuntu 并从那里复制文件之外,我该如何获取我需要的文件?


我做了一个尝试apt-get upgrade,希望新版本的 grub 能够替换有问题的版本,但出现了这个错误。据我了解,更新后的 grub 应该会替换旧版本(我选择使用软件包维护者版本的 /etc/defualt/grub),因此解析后出现的错误与新版 grub 有关,而不是我的本地版本。这样对吗?

Replacing config file /etc/default/grub with new version                                                                                                                             
/usr/sbin/grub-setup: warn: Sector 32 is already in use by FlexNet; avoiding it.  This software may cause boot or other problems in future.  Please ask its authors not to store data in the boot track.
/usr/sbin/grub-setup: warn: Sector 33 is already in use by FlexNet; avoiding it.  This software may cause boot or other problems in future.  Please ask its authors not to store data in the boot track.
Installation finished. No error reported.
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.2.0-29-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-29-generic-pae
Found linux image: /boot/vmlinuz-3.2.0-25-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-25-generic-pae
Found linux image: /boot/vmlinuz-3.2.0-23-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-23-generic-pae
Found memtest86+ image: /boot/memtest86+.bin
error: syntax error.
error: Incorrect command.
error: syntax error.
error: line no: 32
Syntax errors are detected in generated GRUB config file.
Ensure that there are no errors in /etc/default/grub
and /etc/grub.d/* files or please file a bug report with
/boot/grub/grub.cfg.new file attached.
done

答案1

虽然 @cjc 为包管理提供的一般文件提供了一种低级方法,但对于配置文件,还有一种更简洁的方法。这里的关键是选项,--force-confmiss如答案中所述这个问题

这是该文件的一个示例/etc/dnsmasq.conf

确定其所属的二进制包

例如运行/etc/dnsmasq.conf

# dpkg -S /etc/dnsmasq.conf
dnsmasq: /etc/dnsmasq.conf

这意味着您必须获取该dnsmasq包裹。

下载正确的 .deb 包

例如:

$ aptitude download dnsmasq
Get:1 http://ftp.nl.debian.org/debian/ squeeze/main dnsmasq all 2.55-2 [14.2 kB]
Fetched 14.2 kB in 0s (190 kB/s)

$ ls
dnsmasq_2.55-2_all.deb

让 dpkg 替换你想要的文件

首先删除需要重置为默认值的文件。

# rm /etc/dnsmasq.conf
# dpkg -i --force-confmiss dnsmasq_2.55-2_all.deb

答案2

获取该文件的 deb 文件。它在grub-common包中。获取后,您可以运行dpkg-deb以提取包。

因此,类似于:

$ wget http://us.archive.ubuntu.com/ubuntu/pool/main/g/grub2/grub-common_1.99-22ubuntu2_i386.deb`
$ mkdir tmp
$ dpkg-deb -x grub-common_1.99-22ubuntu2_i386.deb ./tmp
$ ls tmp/etc/grub.d/
00_header        10_linux         30_os-prober     41_custom        
05_debian_theme  20_linux_xen     40_custom        README           

相关内容