2012-08-27 28 views
0

我正在創建一個將從另一個包中替換文件的debian。我讀過dpkg-divert是處理這種情況的正確方法,但是我看到的唯一選項是--add,它替換了我的現有文件。我想在現有文件的最後添加幾行(我不知道里面有什麼,我不想改變它)。 我是否必須在預先手動進行手動操作?有一個直接的解決方案嗎?我的方法錯了嗎?dpkg-divert中是否有任何選項將行添加到現有文件而不是完全替換它?

謝謝!

+1

聽起來像你的目標文件是一個配置文件。這些通常在生成後應該不會被觸及。沒有更多的信息,很難說更多,除了是的,它聽起來像你正在嘗試錯誤的方法。我們在談論什麼類型的文件?哪個包擁有它? – tripleee

+0

'dpkg'並不是真的被設計來做到這一點。這就是爲什麼分割配置目錄的原因如此之多,因此軟件包可以簡單地將自己的配置文件放在目錄中(例如/etc/xorg.conf.d/)。 – jordanm

+0

我想更改lighttpd web服務器的一些常規選項。替換原來的配置文件對我來說聽起來都不太好,但似乎dpkg-divert是專門爲此設計的:http://www.debianadmin.com/manpages/dpkgdivertmanpage.htm所以我認爲它可能是通常的做法(我對debian的創造很新) –

回答

0

嗯,這跟無關。

如果它是一個confeile(例如發貨在/etc你確實一定不能改變它)。使用ucf從模板(/usr/share/packagename/)中創建它就是去那裏的方法。

否則,不幸的是,dpkg-divert也不是這樣做的方式。但是你可以使用postinsttrigger是這樣的:在postinst

  • ,轉移原始文件了,用
  • postinst去除prerm當然,引發了原始文件寫入時,與串聯它你修改
相關問題