openvpn --errors-to-stderr és una opció d’inici, no pas un error
Veure --errors-to-stderr en una línia d’ordres no vol dir que res hagi fallat. Decidiu si llegiu una línia d’inici o la sortida del procés, i després comproveu-ho.
Una línia d’ordres que conté --errors-to-stderr sembla una queixa i no ho és. La paraula pertany al nom d’una opció, igual com el nom d’un fitxer de registre no diu res sobre què conté el fitxer. Abans de canviar cap configuració, establiu què esteu llegint realment.
La decisió té tres branques: la línia és el mateix inici, la línia és sortida que el programa ha imprès, o la línia és text que un embolcall ha repetit abans que la VPN s’iniciés. Cada branca apunta a un lloc diferent on mirar, i només una és el missatge propi de la VPN.
El nom d’una opció no és un missatge d’estat
Per a Community OpenVPN, --errors-to-stderr encamina la sortida d’errors a l’error estàndard en lloc de la sortida estàndard. És una tria de flux, no un filtre de gravetat, i no crea cap error. Un --log o un --log-append posterior pot redirigir els mateixos missatges a un fitxer, i per això l’efecte del senyal depèn de la resta de l’ordre. La referència de registre d’origen defineix aquest ordre.
Així, la presència del senyal us diu on anirien els errors. No us diu que n’hi hagi hagut cap.
Línia d’inici o sortida del procés
Comenceu preguntant qui ha imprès el text. Una unitat de servei, un paquet d’aplicació o un embolcall d’intèrpret solen repetir l’argv complet abans que el procés de la VPN escrigui res. Aquesta repetició és indistingible d’una línia d’estat si només veieu un fragment.
Si la línia ve de l’embolcall, la VPN encara no ha funcionat i no té res a informar. Mireu més avall a la sortida el primer missatge que porti una marca de temps o el nom d’un subsistema.
Si la línia ve del procés de la VPN, encara és només la invocació. OpenVPN no imprimeix la seva pròpia línia d’ordres com a error, i els missatges que importen vénen després.
Trobeu el procés i el seu resultat
Establiu si el procés encara s’executa. Un client que està actiu i reintenta sembla molt diferent d’un que ha sortit immediatament, i la mateixa línia d’ordres precedeix tots dos.
Després llegiu el resultat a través del component que posseeix el procés. Amb systemd, és el registre de la unitat; en una aplicació d’escriptori, és el registre propi o la consola de l’aplicació. L’estat de sortida i els últims missatges responen la pregunta que el nom de l’opció només insinua.
Un error d’anàlisi de configuració, un fitxer absent, una credencial rebutjada i un temps d’espera del parell són quatre esdeveniments diferents. Arriben pel mateix flux. Necessiten quatre solucions diferents. Decidiu quin teniu abans de tocar el perfil, i citeu el missatge exacte quan demaneu ajuda.
Quan el senyal es guanya el seu lloc
El senyal es guanya el seu lloc quan stdout porta dades i els errors no les han de contaminar, o quan un embolcall captura els dos fluxos per separat. En una sessió en primer pla en un terminal, tots dos fluxos us arriben al davant. En aquest cas, la distinció poques vegades canvia el que feu.
Manteniu-lo si l’script del voltant depèn de la separació. Treure’l perquè el nom sembla alarmant canvia on apareixen els missatges i no arregla res més.
Què no cal canviar
No tracteu l’opció com un pas de reparació. Suprimir-la no pot arreglar un certificat, una ruta o un error d’autenticació.
Si la invocació conté --config stdin, la configuració s’alimenta per l’entrada estàndard. Aquesta és una decisió separada sobre com es proporciona el fitxer. Canvieu una cosa alhora i torneu a llegir el missatge real abans de canviar la segona.