Este es el parche de comando que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
parche: una herramienta de mantenimiento de parches
SINOPSIS
parcheador [-n ] [ ]
Editar como parte del parche .
patcher -r Actualizar el parche actual.
patcher [-f] -b Retrocede un parche al anterior.
parche [-f] -b
Retroceda en serie hasta que estemos en .
parche [-f] -b
Retroceder parches en serie.
patcher -a Aplicar el siguiente parche de la serie.
parche -a Aplique todos los parches de la serie hasta que lleguemos a .
parche -a Aplicar siguiente parches de la serie.
parche -n [-pag ] -I
Importar un archivo diff externo en el parche . Banda niveles
de los nombres del directorio. Tenga en cuenta que el parche permite '-p1', pero nosotros
solo '-p 1'.
parche [-f] [-n ] [-pag ] -I
Importar un archivo diff externo en el parche . Banda niveles
de los nombres del directorio. Tenga en cuenta que el parche permite '-p1', pero nosotros
solo '-p 1'.
CONCEPTO
Patcher es un script de Perl que utilizo para administrar parches. Es bastante poderoso, fácil de
uso y rápido.
Patcher realiza un seguimiento de los archivos que cambia. A continuación, puede generar parches a partir de su
cambios, no es necesario que maneje la herramienta de diferencias manualmente.
Puede tener más de un registro de cambios de archivo, a esto lo llamamos parche. Un parche es
algo que el parche(1) se puede aplicar el comando.
Los parches se pueden apilar en serie, definen el orden en que deben aplicarse. Patcher
mantiene información de la serie, así como información sobre qué parches se han aplicado y qué
no.
DESCRIPCIÓN
Más tarde tendremos una caminata, pero permítanme primero explicar los modos de operación básicos de
parcheador:
Edición archivos
Cuando llame al parche con un nombre de archivo, el parche hará una copia de seguridad de este archivo (si el archivo
existe). Ahora puede crear o cambiar el archivo. Más tarde, puede pedirle al parche que cree un
diff unificado con todos sus cambios.
Creamos unificado diferencias
Simplemente llame a "patcher -r" y obtendrá una diferencia unificada de todas sus adiciones, modificaciones
y eliminaciones. La diferencia se almacenará en .patches / .parche. Es en una forma que
permite la aplicación directa a través de parche(1) o, por supuesto, a través de "patcher -i".
Siempre que haga "patcher -r" su .patches / El archivo .patch se actualiza.
Atras out a parche
Para revocar sus cambios e ir a la versión anterior, simplemente ingrese "patcher -b". Patcher
se asegurará de que no pierda sus cambios pidiéndole que cree una diferencia si
algo ha cambiado desde la última actualización. Puede usar -f (o --force) parche para ir
de todos modos.
Puede retroceder más de un parche especificando un número y un nombre de parche después de -b.
Aplicar de nuevo a parche
Con "parche -n -a "se puede aplicar un parche administrado ya existente. A
parche administrado es un parche que ya está almacenado en el directorio .patches y se menciona
en el archivo .patches / series. Patcher prueba si el parche se aplicaría sin problemas y
lo aplica. Si el parche fuera rechazado, puede usar -f (o --force) para aplicar el parche
de todos modos.
Puede aplicar más de un parche especificando un número y un nombre de parche después de -a.
Importador externo parches
A veces tienes un parche externo. Eso es lo opuesto a un parche administrado, el parche es
no almacenado en el directorio .patches. Al importarlo, se convertirá en un parche administrado.
Importe el parche simplemente con -i . Puedes usar -p para especificar el directorio
nivel, similar a la -p opción de parche(1). Pero tenga en cuenta que necesitamos un
espacio entre -p y el número.
Normalmente, solo se importarán los parches limpios. Para importar un parche que crea rechazos, utilice
-f (o --force). Verá una lista de archivos en los que el parche no se aplicó correctamente, corrija el
problemas manualmente.
Más tarde, puede usar "patcher -r" para crear un parche limpio.
INSTALACIÓN
Simplemente coloque el parche en algún lugar de su camino. Eso es todo.
Para cada proyecto, Patcher requiere un directorio especial llamado ".patches". Va a
busque este directorio. Si no existe, el parche lo crea automáticamente.
INTERNOS
Todo el trabajo ocurre con un solo árbol de directorios. Todos los comandos se invocan dentro de la raíz de
ese árbol (TODO: esto puede y debe cambiar). Patcher gestiona una "pila" de parches.
Cada parche es un conjunto de cambios contra el árbol base más los parches anteriores.
Todos los parches se enumeran, en orden, en el archivo ".patches / series". Patcher agrega parches a
este archivo, pero nunca elimina las entradas. Puede editar este archivo con un editor de texto, pero
hágalo solo si el parche que borra no se aplica actualmente.
Los parches aplicados actualmente se enumeran en el archivo ".patches / apply". El parche administra
este archivo, no es necesario que lo edite manualmente.
Cada parche afecta a varios archivos del árbol. Estos archivos se enumeran en una lista de archivos
llamado ".patches / *. archivos". Patcher los maneja. Cuando retrocede un parche, este archivo
eliminado. O, en otras palabras, este archivo existe solo para los parches aplicados. Solo es usado por
"parche -r".
Los parches se colocan en archivos ".patches / *. Patch". Siempre son diferencias unificadas con -p1
como nivel de parche. Puede copiar entonces en cualquier lugar, el parche(1) la utilidad los leerá sin
auténticos.
Opcionalmente, puede poner descripciones de los parches en archivos llamados ".patches / *. Txt".
Entonces, para un parche en particular "mi-primer-parche" existirá lo siguiente:
- Una entrada "my-first-patch.patch" en ".patches / series".
- Una entrada "mi-primer-parche" en ".parches / aplicado" (si se aplica actualmente)
- Un archivo ".patches / my-first-patch.files" que contiene los nombres de los archivos que my-
primer parche modifica, agrega o elimina
- Un archivo ".patches / my-first-patch.patch", que es la diferencia de contexto, básicamente la principal
salida del parche.
- Opcionalmente, un archivo ".patches / my-first-patch.txt" que contiene el registro de cambios del parche,
descripción o lo que sea que pongas allí.
PASEO
Empecemos.
Vaya a / usr / src / linux (o donde sea).
Ahora comencemos cambiando algunos archivos fuente:
parche -n mi-parche kernel / sched.c
OK, el parche copió kernel / sched.c a kernel / sched.c ~ my-patch para usted, el programa también
hizo algo de magia en el directorio .patches, que ahora no nos interesará.
Ahora edite el bit kernel / sched.ca.
Ahora estamos listos para documentar el parche:
Crear .patches / my-patch.txt
Ahora genera un parche:
parche -r
Esto generará ".patches / my-patch.patch". Eche un vistazo a este archivo.
Ahora eliminamos nuestro cambio a sched.c retrocediendo:
parche -b
Mira dónde estamos ahora:
parcheador -s
Ahora agreguemos otro archivo a my-patch. Primero volvemos a aplicar el parche:
parche -a
Ahora edite un segundo archivo:
parche del kernel / printk.c
Tenga en cuenta que aquí le dimos al parche un solo argumento, sin opciones de línea de comando. Esta
siempre le dice al parche que agregue otro archivo al parche actual.
Editar kernel / printk.c
Actualizar mi parche:
parche -r
Ahora comience un segundo parche:
parche -n mi-segundo-parche kernel / sched.c
Aquí tenemos un nombre de archivo en la línea de comando para el parche, por lo que editamos un archivo. Pero ahora nosotros
especificó un nombre de parche con -n. Esto le dijo al parche que creara un nuevo parche. Ahora parche
gestiona dos parches, "my-patch" y "my-second-patch".
Edite kernel / sched.c, para realizar algunos cambios en my-second-patch
Genere mi segundo parche:
parche -r
Eche un vistazo en ".patches / my-second-patch.patch".
También tenga en cuenta que se ha agregado "my-second-patch.patch" al archivo de la serie. Cuando usted
comience manualmente un parche, se colocará automáticamente en el archivo de la serie.
De esta forma, todo es apilable. Si tiene cuatro parches aplicados, diga
"parche-1", "parche-2", "parche-3" y "parche-4", y si parche-2 y parche-4 se tocan
kernel / sched.c entonces tendrás:
kernel / sched.c ~ patch-2 Copia original, antes de patch-2
kernel / sched.c ~ patch-4 Copia antes de patch-4. Contiene cambios del parche 2
kernel / sched.c Copia de trabajo actual. Contiene cambios del parche 4.
Esto significa que sus encabezados de diferencias contienen "~ patch-name" en ellos, lo cual es conveniente
documentación.
Para finalizar nuestro recorrido, eliminamos ambos parches:
parche -b
parche -b
Eso es todo, de verdad.
Utilice el parche en línea utilizando los servicios de onworks.net