Por que apt-cache mostra instalado (ningún) para o seu paquete VPN
Instalado (ningún) significa que o paquete VPN non está instalado, non que falte. Lea as liñas de candidato, fixación e arquitectura antes de editar as fontes.
Un paquete VPN que informa Installed: (none) non falta; simplemente non está instalado. A liña que decide se pode instalalo é Candidate, que APT deriva dos índices, o nome do suite, a arquitectura e calquera regra de fixación vixente. A maioría dos informes dun paquete VPN desaparecido resultan ser un problema de candidato e non un problema de empaquetado. Lea ambas as liñas antes de tocar unha soa entrada de fontes.
Comprobo primeiro o candidato porque custa un comando e descarta a metade das sospeitas habituais.
Que lle di a saída de apt-cache policy
apt-cache policy le a caché local de paquetes, non a rede. Imprime a versión instalada, a versión candidata e unha táboa de cada índice que ofrece o paquete coa prioridade asociada.
apt-cache policy openvpn
apt-cache madison openvpn
apt list -a network-manager-openvpnO candidato é a versión que APT escollería agora mesmo. madison lista o que ofrece cada fonte coa súa prioridade, e así é como detecta un paquete que existe nun índice pero perde a competición de fixación. O manual de apt-cache documenta ambos como lecturas de caché, así que ningún dos dous demostra que o espello sexa accesible neste momento.
Se a liña do candidato está baleira ou di (none), nada nas fontes configuradas é elixible para este sistema tal como está configurado.
Catro razóns polas que desaparece un candidato
Na práctica a causa é case sempre unha de catro cousas, e cada unha ten unha solución distinta.
O nome do suite nas súas fontes debe coincidir coa distribución para a que se construíu o paquete. Un sistema Debian bookworm apuntado a un espello trixie, ou unha versión de Ubuntu renomeada nun ficheiro sources.list.d durante unha actualización, non resolve nada para paquetes que só existen no outro suite. Compare lsb_release -cs co campo suite de cada entrada.
APT só ve paquetes construídos para as arquitecturas que dpkg coñece. Un contedor de 32 bits, unha imaxe arm64 ou unha instalación en Raspberry Pi que pide un paquete que só se distribúe para amd64 obteñen un candidato baleiro en lugar dunha mensaxe de erro. dpkg --print-architecture e dpkg --print-foreign-architectures dinnlle en que conxunto está realmente.
Os compoñentes tamén importan. Un paquete en contrib ou non-free é invisible cando só main está habilitado, e o universe de Ubuntu compórtase igual. O índice existe e o paquete está nel; simplemente a súa lista de compoñentes habilitados non o inclúe.
A fixación é a silenciosa. Un ficheiro en /etc/apt/preferences.d pode limitar un paquete por baixo do limiar de instalación, e entón un candidato perfectamente bo desaparece da saída mentres o índice aínda o lista. Como policy imprime as prioridades xunto a cada fonte, un paquete no que cada fonte leva un número de fixación baixo é a pista.
Os índices obsoletos parecen paquetes que faltan
A caché é unha instantánea. Se o último apt update fallou nun índice, as consultas seguen respondendo desde a copia máis antiga, e o paquete que espera pode non estar nesa copia.
apt update imprime erros por índice, así que léaos en lugar de desprazarse directamente á última liña.
Unha actualización que falla por un erro de sinatura, un ficheiro release caducado ou un espello inaccesible deixa o índice anterior no seu sitio. É un deseño sensato, porque conserva unha caché funcional cando un espello cae brevemente. O efecto secundario é que unha busca pode ter éxito mentres o repositorio está desconectado. Tamén significa que a ausencia dun paquete non demostra nada ata que saiba cando se obtivo o índice por última vez. Comprobe as datas dos ficheiros en /var/lib/apt/lists antes de culpar o nome do paquete.
Nomee o paquete que realmente necesita
OpenVPN é un daemon, e as pezas que a xente adoita querer son paquetes separados.
O motor, o complemento de NetworkManager e o editor de escritorio son tres paquetes con tres nomes, e o complemento ten unha variante GTK cuxo nome difire entre distribucións. apt-cache search --names-only openvpn fai coincidir nomes e nomes proporcionados en lugar de descricións, que é o que quere cando sabe aproximadamente como se chama a cousa.
Se o nome é realmente descoñecido, busque unha vez nas descricións e despois volva aos nomes exactos. Non engada un sufixo -gui tomado doutra distribución e conclúa que o paquete xa non existe.
Cambie as fontes ao final e despois verifique a transacción
Engadir un repositorio cambia quen subministra as súas actualizacións, así que pertence ao final da investigación, non ao principio.
Antes, confirme versión, arquitectura, compoñente e estado de fixación. Anote cales dos catro comprobou, para que a seguinte persoa non repita o varrido. Se os catro son correctos e o candidato segue faltando, a conclusión honesta é que esta versión non distribúe ese paquete. As opcións restantes son un backport, un paquete de provedor ou outra versión compatible, e cada unha é unha elección deliberada e non unha conxectura.
Cando o candidato apareza, simule antes de confirmar: apt-get install --simulate co nome do paquete mostra que se traería e que se eliminaría. A dispoñibilidade do paquete, a instalación e un túnel funcional seguen sendo tres etapas separadas, e o túnel aínda necesita o seu perfil, credenciais, rutas e DNS antes de levar tráfico.