GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Cara Mendaftar Patch A -p0 Dari Setiap Direktori Kerja?

Saya memiliki tambalan dengan jalur absolut yang ingin saya gunakan. yaitu beberapa baris pertama adalah sebagai berikut.

--- /usr/share/apps/plasma/packages/org.kde.pager/contents/ui/main.qml  2014-10-10 18:47:23.000000000 +1100
+++ /usr/share/apps/plasma/packages/org.kde.pager/contents/ui/main.qml.mod  2014-11-11 09:44:17.786200477 +1100

Namun, itu gagal kecuali saya berada di direktori root.

~$ cd
~$ sudo patch -i /tmp/fix_kde_icons.patch -p0
Ignoring potentially dangerous file name /usr/share/apps/plasma/packages/org.kde.pager/contents/ui/main.qml
Ignoring potentially dangerous file name /usr/share/apps/plasma/packages/org.kde.pager/contents/ui/main.qml.mod
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
...
~$ cd /tmp
/tmp$ sudo patch -i /tmp/fix_kde_icons.patch -p0
... #same error as above
/tmp$ cd /usr
/usr$ sudo patch -i /tmp/fix_kde_icons.patch -p0
... #same error as above
/usr$ cd /
/$ sudo patch -i /tmp/fix_kde_icons.patch -p0
patching file /usr/share/apps/plasma/packages/org.kde.pager/contents/ui/main.qml

Apakah ada cara untuk membuat patch menggunakan jalur absolut dengan direktori kerja apa pun?

Jawaban yang Diterima:

Melihat kode sumber patch GNU, perilaku ini sudah ada sejak versi 2.7. Pada patch GNU 2.7.1, hanya jalur relatif yang tidak mengandung .. diterima, kecuali direktori saat ini adalah direktori root.

Untuk menerapkan tambalan yang berisi jalur absolut, Anda dapat menggunakan

(cd / && sudo patch -p0) <foo.patch

Pada patch GNU versi terbaru, Anda cukup

sudo patch -d/ -p0 <foo.patch

Linux
  1. Cara memutakhirkan Zabbix dari 3.4 ke 4.0 di Ubuntu 18.04:Cepat &Mudah

  2. Bagaimana cara menjalankan program dengan direktori kerja yang berbeda dari saat ini, dari shell Linux?

  3. Bagaimana cara membuat dan menerapkan tambalan SVN?

  1. Cara memeriksa apakah smtp berfungsi dari commandline (Linux)

  2. Bagaimana cara menjalankan skrip .sh dari jalur mana pun di terminal?

  3. Bagaimana saya bisa mengecualikan direktori dari perintah ls

  1. Bagaimana cara menggunakan Wget untuk mengunduh file secara rekursif dari direktori web?

  2. Bagaimana cara meningkatkan ke Debian 11 dari Debian 10

  3. Bagaimana cara menghubungkan boot dari grub ke syslinux?