学习linux无人职守安装时看到redhat系列有一个工具system-config-kickstart很好用,在ubuntu上面apt-get安装后不能运行,有如下报错:
(system-config-kickstart.py:2596): libglade-WARNING **: Could not load support for `gnome': libgnome.so: 无法打开共享对象文件: 没有那个文件或目录
Traceback (most recent call last):
File "/usr/share/system-config-kickstart/system-config-kickstart.py", line 92, in <module>
kickstartGui.kickstartGui(file)
File "/usr/share/system-config-kickstart/kickstartGui.py", line 135, in __init__
self.packages_class = packages.Packages(xml, self.kickstartData)
File "/usr/share/system-config-kickstart/packages.py", line 107, in __init__
import packageGroupList
File "/usr/share/system-config-kickstart/packageGroupList.py", line 69, in <module>
comps_file = apt_comps()
File "/usr/share/system-config-kickstart/packageGroupList.py", line 46, in __init__
availparse = apt_pkg.ParseTagFile(availfile)
AttributeError: 'module' object has no attribute 'ParseTagFile'
把下面的patch文件保存为test.patch:
--- /usr/share/system-config-kickstart/packageGroupList.py.bak 2014-05-21 11:36:50.236478915 +0400
+++ /usr/share/system-config-kickstart/packageGroupList.py 2014-05-21 12:47:21.976475840 +0400
@@ -43,10 +43,10 @@
os.execlp("apt-cache", "apt-cache", "dumpavail")
os.waitpid(pid, 0)
availfile.seek(0)
- availparse = apt_pkg.ParseTagFile(availfile)
- while availparse.Step() == 1:
- if availparse.Section.has_key("Task"):
- task = availparse.Section["Task"]
+ availparse = apt_pkg.TagFile(availfile)
+ while availparse.step() == 1:
+ if availparse.section.has_key("Task"):
+ task = availparse.section["Task"]
if not self.groups.has_key(task):
if apt_group_names.has_key(task):
taskname = apt_group_names[task]
sudo patch -b -p1 < test..patch
要是问给哪个文件打patch,照下面输入即可;
File to patch: /usr/share/system-config-kickstart/packageGroupList.py
现在可以使用system-config-kickstart了。
|