linux:aptget:apt

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
linux:aptget:apt [21/04/2022 06:31] – [apt VS apt-get] matelinux:aptget:apt [10/03/2025 03:03] (actual) admin
Línia 10: Línia 10:
   * añadir **universe** y **multiverse**:<code bash>sudo add-apt-repository universe   * añadir **universe** y **multiverse**:<code bash>sudo add-apt-repository universe
 sudo add-apt-repository multiverse</code> sudo add-apt-repository multiverse</code>
 +
 +== ignore certificate
 +Cuando estamos en una versión vieja de algún linux (debian 9 strech en este caso), podemos intentar encontrar la manera de actualizar los certificados o simplemente ignorarlo)
 +
 +Estamos hablando de ignorar que que no se puede verificar la validez del certificado (ataques man-in-the-midle), porque no diponemos de los certificados raiz del que firma ese certificado.
 +
 +=== añadir (no me funcionó)
 +  * [[https://stackoverflow.com/questions/21181231/server-certificate-verification-failed-cafile-etc-ssl-certs-ca-certificates-c/67698986#67698986]]
 +  * miro quien ha firmado el certificado:<code bash>echo -n | openssl s_client -showcerts -servername packages.sury.org -connect packages.sury.org:443 2>/dev/null | tac | awk '/-END CERTIFICATE-/{f=1} f;/-BEGIN CERTIFICATE-/{exit}' | tac | openssl x509 -noout -subject -issuer</code>
 +    * respuesta:<code>subject=C = US, O = Internet Security Research Group, CN = ISRG Root X1
 +issuer=O = Digital Signature Trust Co., CN = DST Root CA X3</code>
 +  * descargo el certificado raiz de Let's Encrypt (https://letsencrypt.org/certificates/)
 +  * verifico e instalo:<code bash>openssl x509 -noout -text -in isrgrootx1.pem
 +sudo mv isrgrootx1.pem /usr/local/share/ca-certificates/isrgrootx1.crt
 +sudo update-ca-certificates
 +</code>
 +    * se supone que añade a **/etc/ssl/certs/ca-certificates.crt** ?
 +
 +=== ignorar
 +  * [[https://unix.stackexchange.com/questions/317695/is-it-possible-to-have-apt-accept-an-invalid-certificate]]
 +  * ignora el **server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none**:<code; /etc/apt/apt.conf.d/80ssl-exceptions.conf>
 +Acquire::https::packages.sury.org::Verify-Peer "false";
 +Acquire::https::packages.sury.org::Verify-Host "false";
 +</code>
 +  * solución temporal si ficheros de configuración: <code bash>apt -o "Acquire::https::Verify-Peer=false" update</code>
 == remove app == remove app
   * ver paquetes instalados: ''apt list %%--%%installed''   * ver paquetes instalados: ''apt list %%--%%installed''
Línia 25: Línia 50:
   * ''apt-get autoclean'' : eliminar paquetes que ya no existen en el repositorio o que tienen versiones posteriores   * ''apt-get autoclean'' : eliminar paquetes que ya no existen en el repositorio o que tienen versiones posteriores
   * ''apt-get autoremove'' : eliminar paquetes vinculados a otros y que no son necesarios   * ''apt-get autoremove'' : eliminar paquetes vinculados a otros y que no son necesarios
-  * ''apt-get remove --purge linux-image-X.X.XX-XX-generic'' : eliminar versiones anteriores de kernel+  * ''apt-get remove %%--%%purge linux-image-X.X.XX-XX-generic'' : eliminar versiones anteriores de kernel
     * ''dpkg %%--get-selections%% | grep linux-image''     * ''dpkg %%--get-selections%% | grep linux-image''
  
Línia 40: Línia 65:
     * **showmanual**: lista de paquetes marcados como manual     * **showmanual**: lista de paquetes marcados como manual
     * **unhold**: desmarca paquete retenido     * **unhold**: desmarca paquete retenido
-  * <code yaml># Prevent nginx from being upgraded+  * ansible:<code yaml># Prevent nginx from being upgraded
 - dpkg_selections: - dpkg_selections:
     name: python     name: python
Línia 66: Línia 91:
 /via: [[https://sysadmincasts.com/episodes/41-cli-monday-apt-file-and-yum-provides]] /via: [[https://sysadmincasts.com/episodes/41-cli-monday-apt-file-and-yum-provides]]
 == comandos == comandos
 +=== apt-get
   * ''apt-get update'' : actualiza la lista de paquetes de los repositorios indicados en sources.list. Es lo primero que se debe hacer antes de instalar nada.   * ''apt-get update'' : actualiza la lista de paquetes de los repositorios indicados en sources.list. Es lo primero que se debe hacer antes de instalar nada.
   * ''apt-get install <paquete>'' : una vez conocemos el paquete que queremos instalar, lo indicamos y a descargar. APT-GET nos informará de que se descarga, que se actualiza, que otros paquetes se instalan relacionados con este, la cantidad de espacio que ocupará, etc...   * ''apt-get install <paquete>'' : una vez conocemos el paquete que queremos instalar, lo indicamos y a descargar. APT-GET nos informará de que se descarga, que se actualiza, que otros paquetes se instalan relacionados con este, la cantidad de espacio que ocupará, etc...
   * ''apt-get upgrade'': actualiza los paquetes de soft instalados en el sistema.   * ''apt-get upgrade'': actualiza los paquetes de soft instalados en el sistema.
-  * ''apt-cache search <cadena>'' : sirve para buscar la <cadena> en los repositorios y ver si encontramos el paquete que coincida. A veces ayuda si ya sabes el nombre del paquete ;) 
   * ''apt-get dist-upgrade'' : actualiza paquetes de la distribución.   * ''apt-get dist-upgrade'' : actualiza paquetes de la distribución.
   * ''apt-get remove <paquete>'' : elimina el paquete del sistema   * ''apt-get remove <paquete>'' : elimina el paquete del sistema
Línia 78: Línia 103:
   * ''apt-get download <paquete>''   * ''apt-get download <paquete>''
   * ''apt-get install <paquete> -s'' : %%--%%simulate   * ''apt-get install <paquete> -s'' : %%--%%simulate
-  * ''apt-get install -reinstall <paquete>''+  * ''apt-get install %%--%%reinstall <paquete>'' 
 + 
 +=== apt 
 +  * ''apt list %%--%%installed | grep libc6'' 
 +=== apt-cache 
 +  * ''apt-cache search <cadena>'' : sirve para buscar la <cadena> en los repositorios y ver si encontramos el paquete que coincida. A veces ayuda si ya sabes el nombre del paquete ;) 
 +  * ''apt-cache policy'' : comprueba el estado de los repositorios existentes 
 +=== apt-file 
 +  * <code bash>sudo apt install apt-file 
 +sudo apt-file update</code>
   * ''apt-file search <fichero>'' : busca en que paquete está un determinado archivo   * ''apt-file search <fichero>'' : busca en que paquete está un determinado archivo
   * ''apt-file list <paquete>'' : lista los ficheros contenidos en un paquete   * ''apt-file list <paquete>'' : lista los ficheros contenidos en un paquete
-=== apt 
-  * ''apt list --installed | grep libc6'' 
  
 === versiones === versiones
-se puede mirar que versión específica de un paquete hay disponible e instalarla:+se puede mirar qué versión específica de un paquete hay disponible e instalarla:
 <code bash>apt-cache madison <paquete></code> <code bash>apt-cache madison <paquete></code>
 <code bash>apt-get install <paquete>=<version></code> <code bash>apt-get install <paquete>=<version></code>
Línia 107: Línia 139:
   * ''apt-cache policy linux-image-amd64''   * ''apt-cache policy linux-image-amd64''
 /via: [[https://serverfault.com/questions/670088/install-debian-backports-kernel-automatically]] /via: [[https://serverfault.com/questions/670088/install-debian-backports-kernel-automatically]]
- 
- 
-== crear paquete .deb 
-para crear un paquete en el que incluir el software que queramos distribuir (por la razón que sea) hemos de: 
-  - crear una estructura de directorios determinada (ver más adelante) 
-  - ejecutar <code bash>dpkg-deb -b <PATH>/ .</code> 
-=== estructura directorio 
-<code> 
-.—— DEBIAN 
-¦   ¦—— control 
-¦—— <ubicación archivos en root sistema> 
-¦—— <ubicación archivos en root sistema> 
-</code> 
-<code txt control> 
-Package: ibscanultimate 
-Version: 3.0.0-1 
-Maintainer: You <whatever@contact.address> 
-Architecture: amd64 
-Description: IBScanUltimate 
- Software for the integrated biomedics kojak scanner 
-</code> 
- 
-ejemplo: {{ :linux:aptget:construccio_manual_paquet_debian.tar.gz |}} 
  
 == trucos == trucos
  • linux/aptget/apt.1650547886.txt.gz
  • Darrera modificació: 21/04/2022 06:31
  • per mate