GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo aplicar un parche -p0 desde cualquier directorio de trabajo?

Tengo un parche con rutas absolutas que deseo usar. es decir, las primeras líneas son las siguientes.

--- /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

Sin embargo, falla a menos que esté en el directorio raíz.

~$ 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

¿Hay alguna manera de hacer patch? usar la ruta absoluta con cualquier directorio de trabajo?

Respuesta aceptada:

Mirando el código fuente del parche GNU, este comportamiento está integrado desde la versión 2.7. A partir del parche 2.7.1 de GNU, solo las rutas relativas que no contengan .. se aceptan, a menos que el directorio actual sea el directorio raíz.

Para aplicar un parche que contenga rutas absolutas, puede usar

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

En versiones recientes del parche GNU, simplemente puede

sudo patch -d/ -p0 <foo.patch

Linux
  1. Cómo actualizar Zabbix de 3.4 a 4.0 en Ubuntu 18.04:rápido y fácil

  2. ¿Cómo ejecuto un programa con un directorio de trabajo diferente al actual, desde el shell de Linux?

  3. ¿Cómo hacer y aplicar el parche SVN?

  4. ¿Cómo ejecutar un script .sh desde cualquier ruta en una terminal?

  5. ¿Cómo mover todos los archivos del directorio actual al directorio superior?

Cómo crear un video a partir de imágenes en Linux

¿Cómo imprimir el directorio de trabajo usando el comando pwd de Linux?

¿Cómo agregar un directorio virtual desde SolidCP?

¿Cómo agregar un directorio virtual desde WebsitePanel 2.1?

Cómo migrar el directorio HOME en Linux

¿Cómo enumerar los archivos eliminados recientemente de un directorio?