Installare Pgadmin 4 versione 2.0 in debian 9 – Python Wheel

pgAdmin è la più popolare e completa applicazione open source per l’amministrazione di postgresql il database SQL ad oggetti opensource più avanzato disponibile.

La versione 4.0 di Pgadmin è stata completamente riscritta usando Python,  Jquery e Bootstrap e il framework Flask. E’ disponibile in forma di applicazione desktop in  C++ con Qt e come applicazione web.
La precedente versione Pgadmin III non è al momento più supportata.
In ottobre 2017 è stata rilasciata la versione 2.0 di pgAdmin  4.0 .

Installare pgadmin 4 v 2.0 in debian 9.xx come web application modalità desktop

Per installare  pgadmin 4 in debian come applicazione web è necessario installare una serie di pacchetti per avere a disposizione Python e in particolare un Python Virtual Environment.

# su
# apt-get install build-essential libssl-dev libffi-dev libgmp3-dev virtualenv python-pip libpq-dev python-dev

Si può controllare la versione di python disponibile con

# python -V
  Python 2.7.13

Creare l’ambiente virtuale python 

Si può creare l’ambiente virtuale nella directory /opt utilizzando ad esempio  la directory py-env

# cd /opt
# mkdir py-env
# cd py-env

creiamo l’ambiente virtuale python

# virtualenv pgadmin4.2
# cd pgadmin4.2
# source bin/activate

Download e installazione pgadmin4 python wheel

Effettuare il download di pgadmin 4 v.2  python Wheel con

# wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v2.0/pip/pgadmin4-2.0-py2.py3-none-any.whl

e installare con

# pip install pgadmin4-2.0-py2.py3-none-any.whl

Creare il file di configurazione locale di pgadmin4

per utilizzare pgadmin4 in modalità single user

# touch lib/python2.7/site-packages/pgadmin4/config_local.py
# echo "SERVER_MODE = False" >> lib/python2.7/site-packages/pgadmin4/config_local.py

Avviare pgadmin4 v 2.x come web application

per avviare usare il comando python lib/python2.7/site-packages/pgadmin4/pgAdmin4.py

(pgadmin4.2) root@deb9:/opt/py-env/pgadmin4.2# python lib/python2.7/site-packages/pgadmin4/pgAdmin4.py
 Starting pgAdmin 4. Please navigate to http://127.0.0.1:5050 in your browser.

Come indicato nel messaggio che appare a terminale puntare il browser all’indirizzo locale 127.0.0.1 porta 5050 è si avrà a disposizione la web application

per impostare user e password di login lanciare

lib/python2.7/site-packages/pgadmin4/setup.py

pgadmin4_login

Accedere a pgadmin4  da computer remoto 

Per accedere a pgadmin4 da computer remoto  si può ad esmepio editare il file di configurazione

/opt/py-env/pgadmin4.2/lib/python2.7/site-packages/pgadmin4/config.py

e cambiare il paramentro DEFAULT_SERVER indicando 0.0.0.0 oppure l’indirizzo ip spcifico

...
# ORI
# DEFAULT_SERVER = '127.0.0.1'
# NEW
DEFAULT_SERVER = '0.0.0.0'
...

Avvii successivi

Per gli avvi successivi di pgadmin4 phyton wheel

su 
cd /opt/py-env/pgadmin4.2
source bin/activate
python lib/python2.7/site-packages/pgadmin4/pgAdmin4.py

Per installare pgadmin in modalità server non creare il file config_local.py

 

Risorse posts/pagine utili :

Postgresql :

 

Annunci

Come Configurare SQLWorkbench per PostgreSQL

SQLWorkbench è un SQL query tool free particolarmente efficace che supporta un ampio numero di DBMS. Scritto in Java è in grado di interfacciarsi con qualsiasi database per il quale sia disponibile un JDBC driver.  Essendo in java SQLWorkbench potrebbe essere eseguito in qualsiasi Sistema Operativo che disponga di JRE ( Java Runtime Environment).  L’ultima versione stabile è la Build 123 del settembre 2017.  Tra i database supportati e testati non poteva mancare PostgreSQL. Di seguito i passi per “installare” e configurare SQLWorkbench per PostgreSQL.

Per poter utilizzare SQLWorkbench è necessario java JRE. Possiamo controllare la versione java disponibile con java -version

# java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-1~deb9u1-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)

per installare Oracle JRE  manualmente su macchina linux si può fare riferimento  al post   Oracle Java Runtime 8 installazione manuale – versione 8.121 – Debian 8.xx 64 bit

Configurare e Installare SQLWorkbench per PostgreSQL

SQLWorkbench non necessita di una vera installazione è sufficiente scaricare il pacchetto generico per tutti i S.O e decomprimere lanciare lo script  sqlworkbench.sh.
Il pacchetto è disponibile alla pagina

http://www.sql-workbench.net/downloads.html

Per poter interagine con postgresql serve inoltre lo specifico driver JDBC scaricabile all’indirizzo che andra opportunamente configurato in SQL workbench.

https://jdbc.postgresql.org/download.html

Operando con il terminale

scegliamo la directory opt per l’applicazione quindi

su 
mkdir /opt/sqlworkbench
cd /opt/sqlworkbench

scarichiamo il pacchetto con l’ultima versione stable di SQLWorkBench 123 e l’ultima versione  del driver JDBC 42.2.1

wget http://www.sql-workbench.net/Workbench-Build123.zip

wget https://jdbc.postgresql.org/download/postgresql-42.2.1.jar

 

Decomprimiamo il pacchetto con

unzip Workbench-Build123.zip

Rendiamo eseguibile per tutti gli users lo script di avvio workbench.sh

chmod a+x sqlworkbench.sh 

exit

Volendo si può creare un link simbolico nel desktop con

ln -s /opt/sqlworkbench/sqlworkbench.sh sqlworkbench

avviamo

La finestra in primo piano che viene presentata e quella per creare un profilo di connessione.

Per connettersi a postgresql è necessario a questo punto configurare il driver.

  • Click sul pulsante Manage Drivers
  • In primo piano ci sarà  una nuova finestra Manage drivers

  • Selezionare postgreSQL dall’ elenco di destra con i DBMS supportati
  • Click sul pulsante cartella in alto a sinistra e selezionare il file driver JDBC per postgres scaricato che apparirà nella Library e premere OK.
  • a questo  punto è possibile completare la il profilo di connessione

Si dovrà inserire:

  • nome per la connessione
  • nell URL:  host porta e database
  • username e password

SQLworkbench in azione grazie alla funzione  WbGrepData
viene ricercata la presenza della stringa Zeus in qualsiasi campo (field) di tutte le tabelle del database. 7 le tabelle riscontrate.

Database Compatibili con SQLworkbench

 

 

Risorse:

 

Anonimizzare gli indirizzi ip gtag.js e analytics.js rendere anonimi gli indirizzi ip google Analytics

Aggiornamento Maggio 2018: Con l’Anonimizzazione degli indirizzi ip i cookie di analytics ( _ga, _gid _gat )  diventano difatto dei cookie tecnici e quindi non soggetti all’accettazione esplicita. Quindi per questi non è necessario il blocco preventivo dei 3 cookie analytics .

gtag.js è il nuovo snippet usato da Google Analytics per il servizio di statistiche web.
Gtag.js non sarebbe tanto una nuova libreria analytics in quanto è basato sempre sull’ engine v8 della libreria analytics.js. Piuttosto nasce dalla volonta di mettere a disposizione un unico script centralizzato in grado di inviare a tutti gli strumenti Google non solo Analytics ma anche di Marketing come ad esempio AdWords.

Il nuovo snippet  è del tipo

< script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXXXX-Y"></script >
< script >
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-XXXXXXXX-Y');
</ script >

Rendere anonimi gli indirizzi ip con gtag.js

Per questioni inerenti la privacy policy  risulta opportuno talvolta procedere all’anonimizzazione dell’ indirizzo ip che viene inviato a  Google Analytics .

come indicato in  IP anonymization with gtag.js

Per ottenere questo risultato per tutti gli eventi e quindi per tutte le pagine si può cambiare  la riga dello snippet con il ‘config’ della proprietà ‘UA-XXXXXXXX-X’ impostando il valore del parametro anonymze_ip a true:

nella riga con il config della proprietà

gtag('config', 'UA-XXXXXXXX-Y');

va cambiata aggiungendo il parametro  anonymize e impostandolo al valore true

gtag('config', 'UA-XXXXXXXX-Y', { 'anonymize_ip': true });

E’ bene precisare che l’indirizzo ip degli user non è comunque accessibile all’interno di Google Analytics indipendentemete dall’attivazione dell’anonimizzazione.

L’anomizzazione degli ip non va confusa con gli ID in esplorazione utenti  gli ID non consentono di indentificare il numero IP  dello user.

Da Google Analytics non sarebbe possibile verificare che gli IP siano stati anonimizzati.

Se si desidera visualizzare l’indirizzo ip in Goolge Analytics si deve utliizzare lo snippet per inviare il valore del numero ip

in analytics.js si può usare

 ga('send', 'pageview', {
      'dimension1':  ‘INDIRIZZO_IP’
    });

quindi si deve creare un Rapporto personalizzato

Rendere anonimi gli indirizzi ip in analytics.js

Se si utilizza lo snippet precedente analytics.js

< script >
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-XXXXXXXX-Y', 'auto');

  ga('send', 'pageview'););
</ script >

si possono rendere anonimi gli indirizzi aggiungendo la riga ( libreria analytics.js)

ga('set', 'anonymizeIp', true);

per l’ invio di pagina ( libreria ga,js)

ga('send', 'pageview',{ 'anonymizeIp': true });

Spiegazioni in Google Anonimizzazione IP in analytics

Rendere Anonimi  gli indirizzi ip in Google Tag Manager

Se si utilizza Google Tag Manager per alimentare analytics il  mascheramento /anonimizzazione degli indirizzi ip si può conseguire direttamente,  agendo sulla  finestra Tag Configuration senza intervenire sullo snippet. Infatti Google Tag Manager  (GTM ) mette a disposizione un campo specifico denominato anonymizeIp per ottenere l’anonimizzazione.

L’immagine allegata evidenzia i settaggi da utilizzare per ottenere l’anonimizzazione degli indirizzi ip con il tag di tipo Universal Analytics.

Aperta la finestra Tag Configuration dell’ Universal Analytics  Tag si deve cliccare su:

  • Altre impostazioni / More setting
  • Aggiungi Campo/ ADD FIELD in  Campi da impostare/Fields to Set

Quindi selezionare il nome campo anonymizeIp e impostare il valore a true.

GTM - Anonymize Universal Analytics

AnonymizeIp in Google tag Manager

Per quanto riguarda l’implementazione di analytics in Google Tag Manager.  I passi evidenziati per Universal Analytics si applicano anche al Tag type Classic Google Analytics.

 

Cos’è e come opera il Global Site Tag (gtag.js)

come anticipato il Global Site Tag ha l’obiettivo di gestire in modo unificato con un solo snippet l’invio dei dati ai tools google. Citando google “gtag.js è una libreria di tag web per i prodotti Google di misurazione dei siti, monitoraggio delle conversioni e remarketing che consente di esercitare un maggiore controllo e, al contempo, agevolare l’implementazione. Con gtag.js puoi sfruttare le integrazioni e funzionalità dinamiche più recenti non appena diventano disponibili.”

Se ad esempio si intendono inviare i dati oltre ad analytics anche ad AdWords sarà sufficiente aggiungere oltre alla riga con il ‘config’ della proprietà analytics una riga con il config della proprieta AdWords.

...
gtag('config', 'UA-XXXXXXXX-Y');
gtag('config', 'AW-XXXXXXXX-Y');
...

 

Risorse:

 

xfce – come reimpostare i panels alle impostazioni di default – panels default settings

Può capitare che a seguito di modifiche dei panels di xfce4 si renda opportuno ripristinare panel alla configurazione di default.

3 sono i panel attivi in questa configurazione

La configurazione di panel per la sessione corrente in debian 9.x è salvata in xfconfd.
Le impostazioni per xconfd si trovano nel file

~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml

Le impostazioni per panel si trovano nella directory

~/.config/xfce4/panel

Ripristinare panel alla configurazione di default

Per ripristinare  panel alla configurazione di default eseguire da terminare i comandi di seguito riportati.

Considerare che al termine della procedura le impostazioni dei pannelli correnti non saranno più disponibili.

 

  • Chiudere panel
xfce4-panel --quit
  • Arrestare il demone per la configurazione
pkill xfconfd
  • Cancellare le impostazioni per panel  rimuovendo la directory panel in ~/.config/xfce4/
rm -rf ~/.config/xfce4/panel
  • Rimuove le impostazioni per xfconfd con
rm -rf ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
  • Riavviare panel e selezionare use default   config.
xfce4-panel;

La nuova configurazioni sarà quella presentata nelle future sessioni.

 

Risorse:

Monitor Philips Brilliance BDM4350UC/00 addio al dual monitor

Dopo tre mesi di utilizzo il Monitor Philips  Brilliance BDM4350UC/00 continua a comportarsi decisamente sopratutto considerato il prezzo di acquisto inferiore ai 500 Euro. Si tratta di un Display LCD Ultra HD 4K ( 3840x2160px a 60Hz)  da 43′ (42.5″/108cm diagonale).

Angolo di visione e colori nitidi grazie al tecnologia LED IPS.  Audio accettabile grazie alla presenza di  2 altoparlanti da 7 Watt.

Moteplicità di funzioni multiview. Picture-by-Picture (PbP) per visualizzare più sistemi in un unico schermo e Picture in PIcture( PiP).

Il 43′ Philips è dotato di un comodo Hub USB 3.0 con presa per la ricarica rapida.

Dotazione completa di connettori  2 HDMI-MHL,  2 DisplayPort 1, 1 VGA e  connessioni audio.

Il menu OSD del display si controlla con un joystick posto sul retro in basso a destra. Il joystick non mi risulta sempre comodissimo forse solo perchè necessita di un po’ più  di pratica.  I consumi in modalità ECO sono complessivamente contenuti 45watt/ora. A proposito di consumi apprezzabile l’interuttore 0 Watt a sinistra del joystick.

Questo monitor ha praticamente sostituito il sistema dual monitor linux che utilizzavo. Lo spazio a disposizione in termini di pixel  è decisamente aumentato. Del resto ogni workspace xfce visualizza 4 schemi HD (1920×1080 px). Conseguentemente abbandonato il windows manager Awesome a favore del desktop manger XFCE.


Screenshot sistema dual monitor con windows manager awesome v3.4.14 (White Christmas) il mio ex “desktop environment” di default
philips_awesome

Sistema single monitor 4K

 

Le connessioni a disposizione:

  • 2 HDMI-MHL   (6) preferibili
  • 2 DIsplay Port
  • 1 VGA
  • Audio in e presa cuffie

HUB Usb 3.0 con 4 connettori  la 2° presa da sinistra (9) consente la ricarica veloce del cellulare.

Connettori

Tabella con le specifiche

 

 

 

 

 

 

Risorse:

 

 

Snappy sistema per la gestione di pacchetti e di distribuzione del software

Snappy è un sistema di gestione dei pacchetti e di distribuzione del software originariamente realizzato da Canonical per la versione di Ubuntu per smartphone  è ora adottata anche da un crescente numero di distribuzioni linux.
Si caratterizza per essere un sistema di distribuzione del software che vuole essere indipendente dal tipo  distribuzione linux.  Infatti consente di installare l’applicazione con tutte le librerie di cui  ha bisogno senza appoggiarsi necessariamente alla versione più recente della distribuzione installata.  Si tratta di un approccio non tradizionale nel mondo linux. I gestori apt e yum richiedono pacchetti specificamente adattati per utilizzare le librerie presenti in una specifica versione del sistema operativo.

Snappy utilizza pacchetti  detti “snaps” e snapd è il tool per il loro utilizzo. Uno snap  utilizza un processo che risulta isolato dagli altri processi. Se da un lato si evitano così i  conflitti di dipendenza tra le applicazioni dall’altro si potranno avere, in snaps diversi, più copie  delle stesse librerie e/o programmi e le dimensioni dei pacchetti risulteranno in media decisamente più grandi.

Canonical ha dichiarato il supporto per le distribuznioni linux principali  Debian, Arch Linux, CentOS, Fedora, Gentto LInux, OpenWrt  e Suse.

Per poter utilizzare questo gestore dei pacchetti in debian 9  installare snappy  con

apt install snapd

per installare un pacchetto come remmina non disponibile nei repository ufficiali di debian 9  si usa il comando

snap install remmina
$ snap install remmina
2017-09-26T00:36:47+02:00 INFO snap "core" has bad plugs or slots: core-support-plug (unknown interface)
remmina 1.2.30 from 'remmina' installed

Primo utilizzo di snap verranno scaricati due blocchi core di  circa 87 MB  e remmina 73 MB

Elenco dei comandi disponibili

$ snap --help
.....
  abort       Abort a pending change
  ack         Adds an assertion to the system
  alias       Sets up a manual alias
  aliases     Lists aliases in the system
  buy         Buys a snap
  changes     List system changes
  connect     Connects a plug to a slot
  disable     Disables a snap in the system
  disconnect  Disconnects a plug from a slot
  download    Downloads the given snap
  enable      Enables a snap in the system
  find        Finds packages to install (aliases: search)
  get         Prints configuration options
  help        Help
  info        Show detailed information about a snap
  install     Installs a snap to the system
  interface   Lists snap interfaces
  interfaces  Lists interfaces in the system
  known       Shows known assertions of the provided type
  list        List installed snaps
  login       Authenticates on snapd and the store
  logout      Log out of the store
  logs        Retrieve logs of services
  pack        Pack the given target dir as a snap
  prefer      Prefer aliases from a snap and disable conflicts
  refresh     Refreshes a snap in the system
  remove      Removes a snap from the system
  restart     Restart services
  revert      Reverts the given snap to the previous state
  run         Run the given snap command
  services    Query the status of services
  set         Changes configuration options
  start       Start services
  stop        Stop services
  switch      Switches snap to a different channel
  tasks       List a change's tasks (aliases: change)
  try         Tests a snap in the system
  unalias     Unalias a manual alias or an entire snap
  version     Shows version details
  wait        Wait for configuration.
  watch       Watch a change in progress
  whoami      Prints the email the user is logged in with

Gestori di pacchetti alternativi :

 

Risorse:

 

 

 

 

 

W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168e-3.fw for module r8169 – debian 9

Tra le caratteristiche peculiari di Debian è l’utilizzo del software libero. Il sofware  incluso nel repository main infatti deve essere conforme alle specifiche DFSG (Debian Free Software Guidelines).  Questo  ha comportato che a partire dalla versione Squeeze  ( Debian 6 ) il firmware non libero ( in genere non aderente alla DFSG )  è stato eliminato dal kernel  e disponibile in pacchetti specifici.  Che sarà cura dell’utente finale installare.

Da questo consegue che gli utenti debian si devono familiarizzare con il messaggio

Possible missing firmware /lib/firmware/....

nello specifico,  in debian 9 Stretch:

W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168e-3.fw for module r8169 -

Nell’esempio si viene informati  della possibile mancanza del firmware per la scheda di rete realtek.  Il firmware evidenziato come mancante è presente nel pacchetto firmware-realtek repository non-free.

In generale per individuare le periferiche presenti nel sistema per le quali  potrebbe mancare il firmware specifico si posso utilizzare i seguenti comandi

#   dmesg | grep -Ei "firmware|fw"
# dmesg | grep -Ei "firmware|fw"
[   0.977624] GHES: APEI firmware first mode is enabled by APEI bit and WHEA _OSC.
[  10.724849] r8169 0000:07:00.0: firmware: failed to load rtl_nic/rtl8168e-3.fw (-2)
[   10.724916] r8169 0000:07:00.0: Direct firmware load for rtl_nic/rtl8168e-3.fw failed with error -2
[   10.724921] r8169 0000:07:00.0 enp7s0: unable to load firmware patch rtl_nic/rtl8168e-3.fw (-2)
[ 1191.273802] usb 2-1.2: firmware: direct-loading firmware dvb-usb-af9035-02.fw
[ 1191.273811] usb 2-1.2: dvb_usb_v2: downloading firmware from file 'dvb-usb-af9035-02.fw'
[ 1191.580393] dvb_usb_af9035 2-1.2:1.0: firmware version=11.5.9.0
[ 1191.616259] af9033 3-0038: firmware version: LINK 11.5.9.0 - OFDM 5.17.9.1

oppure

# update-initramfs -u -k all
# update-initramfs -u -k all

update-initramfs: Generating /boot/initrd.img-4.9.0-6-amd64
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8107e-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8107e-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168h-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168h-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168g-3.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168g-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8106e-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8106e-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8411-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8411-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8402-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168f-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168f-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8105e-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168e-3.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168e-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168e-3.fw for module r8169
...

Talvolta potrebbe essere utile controllare il contenuto della cartella firmware-missing  in cui sono presenti  informazioni sul firmware mancante

# ls /run/udev/firmware-missing/

Per ricercare il pacchetto con il firmware in debian 9 si devono dapprima inserire i repository contrib e non-free in /etc/apt/sources.list

# vi /etc/apt/sources.list
o
# nano/etc/apt/sources.list

la riga

deb http://ftp.it.debian.org/debian/ stretch main

diventerà

deb http://ftp.it.debian.org/debian/ stretch main contrib non-free

Si può aggiungere la riga con  i nuovi repository direttamente da terminale con

# echo "deb http://ftp.it.debian.org/debian/ stretch contrib non-free" | tee -a /etc/apt/sources.list

Adesso il pacchetto con il firmware può essere cercato con il comando

apt search

nel caso dell’esempio serve il firmware rtl8168e-3.fw  quindi dopo l’update per l’aggiunta dei nuovi repository cercheremo

# apt update && apt search rtl8168e-3.fw
Sorting... Done
Full Text Search... Done
firmware-realtek/stable,now 20161130-3 all [installed]
  Binary firmware for Realtek wired/wifi/BT adapters

quindi per installare il pacchetto al solito

# apt install firmware-realtek

per verificare

# update-initramfs -u -k all
update-initramfs: Generating /boot/initrd.img-4.9.0-6-amd64
update-initramfs: Generating /boot/initrd.img-4.9.0-3-amd64

 

Risorse: