Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia |
linux:aptget:apt [16/03/2021 09:32] – [apt-mark] mate | linux:aptget:apt [10/03/2025 03:03] (actual) – admin |
---|
* [[https://itsfoss.com/apt-command-guide/]] | * [[https://itsfoss.com/apt-command-guide/]] |
| |
| == sources.list |
| * copia: **/usr/share/doc/apt/examples/sources.list** |
| * añadir **universe** y **multiverse**:<code bash>sudo add-apt-repository universe |
| 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'' |
* ''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'' |
| |
* **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 |
* ''apt-file update'' | * ''apt-file update'' |
* ''apt-file search <file>'' | * ''apt-file search <file>'' |
| /via: [[https://sysadmincasts.com/episodes/41-cli-monday-apt-file-and-yum-provides]] |
== comandos | == comandos |
* ''$ 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 |
* ''$ 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 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 upgrade'': actualiza los paquetes de soft instalados en el sistema. | * ''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-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 upgrade'': actualiza los paquetes de soft instalados en el sistema. |
* ''$ 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 |
* ''$ apt-get clean'' : Limpiar cache de aplicaciones instaladas | * ''apt-get clean'' : Limpiar cache de aplicaciones instaladas |
* ''$ apt-get autoclean'' : Limpiar aplicaciones no instaladas | * ''apt-get autoclean'' : Limpiar aplicaciones no instaladas |
* ''$ apt-get autoremove'' : Limpiar posibles dependencias de aplicaciones desinstaladas | * ''apt-get autoremove'' : Limpiar posibles dependencias de aplicaciones desinstaladas |
* ''$ apt-get install <paquete> -d'' : --download-only --no-download | * ''apt-get install <paquete> -d'' : %%--%%download-only %%--%%no-download |
* ''$ 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-file search <fichero>'' : busca en que paquete está un determinado archivo | |
* ''$ apt-file list <paquete>'' : lista los ficheros contenidos en un 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 list <paquete>'' : lista los ficheros contenidos en un paquete |
| |
=== 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> |
* ''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 |