Table of Contents

Estació de treball HP xw4400 per l'Avance III 400sb - Actualització al maig de 2017

Actualització de l'estació de treball HP xw4400 de l'espectròmetre Bruker AvanceIII 400sb.

Instal·lació de Debian GNU/Linux

La distribució de GNU/Linux que s'instal·la és la Debian version 8.8.0, released on May 6th, 2017, codenamed jessie, AMD64 architecture,

Configuració inicial

Partició del disc

Faig servir l'opció “Whole disk using LVM” que crea les següents particions al disc:

FIXME esquema de particions: boot + LVM

LVM VG cie-55-31-vg, LV home as ext4
LVM VG cie-55-31-vg, LV root as ext4
LVM VG cie-55-31-vg, LV swap_1 as swap
LVM VG cie-55-31-vg, LV tmp as ext4
LVM VG cie-55-31-vg, LV var as ext4
partition #1 of SCSI3 (0,0,0) (sda) as ext2

amb la configuració del LVM:

FIXME

Physical volume: /dev/sda3
Volume groups:   cie-55-31-vg
Logical volumes: home, root, swap_1, tmp, var

Un cop finalitzada la instal·lació, caldrà

  • ajustar la mida dels volums lògics; i
  • crear un volum lògic addicional /opt

Instal·lació i configuració inicial

Instal·lació bàsica de programes

Les col·leccions de programes a instal·lar seleccionades són:

La resta de programes que poguessin ser necessaris, s'instal·laran més endavant.

GRUB Boot Loader

GRUB Boot Loader s'instal·la al MBR.

Reiniciar per primer cop

Un cop s'han instal·lat tots els paquets, reinicio l'ordinador i entro a la sessió de GNU/Debian Jessie.

Simplificació de l'escriptori

Simplifico l'escriptori:

Edito el menú per amagar les aplicacions que no vull que vegin els usuaris (jocs i altres entreteniments). Més endavant miraré d'esbrinar cóm es poden desinstal·lar algunes d'aquestes aplicacions innecessàries. Entre altres:

Paquets i programes de Debian

Afegeixo els següents paquets o programes (aquest no és un llistat exhaustiu, només inclou els dimonis i servidors de xarxa, i altres programes importants):

Addició d'altres magatzems (repositories) de programes

Afegeixo altres magatzems (repositories) de programes:

i la signatura (debian-multimedia-keyring) del magatzem deb-multimedia, i instal·lo:

També afegeixo el magatzem del navegador Chrome de Google:

A la pàgina https://sites.google.com/site/mydebiansourceslist/ es poden consultar altres magatzems disponibles.

Altres paquets i programes de Debian

Afegeixo els següents paquets o programes (aquest no és un llistat exhaustiu, només inclou els dimonis i servidors de xarxa, i altres programes importants):

Elimino els paquets o programes:

Elimino els següents metapackages per poder eliminar altres paquets o programes que depenen d'ells sense haver de desinstal·lar altres paquets que sí que m'interessen,

Llavors desinstal·lo:

Substitueixo:

Configuració de la xarxa

La connexió a la placa base s'identifica com a eth1 i és una

Ethernet interface
/0/100/1c.5/0

product: NetXtreme BCM5755 Gigabit Ethernet PCI Express [14E4:167B]
vendor: Broadcom Corporation [14E4]
bus info: pci@0000:3f:00.0
logical name: eth1
version: 02
serial: 00:19:bb:57:96:9b
size: 100Mbit/s
capacity: 1Gbit/s
width: 64 bits
clock: 33MHz
capabilities:
	...
	1Gbit/s,
	1Gbit/s (full duplex),
	Auto-negotiation
configuration:
	autonegotiation: on
	broadcast: yes
	driver: tg3
	driverversion: 3.137
	duplex: full
	firmware: 5755-v3.17
	latency: 0
	link: yes
	multicast: yes
	port: twisted pair
	speed: 100Mbit/s
resources:
	irq: 48
	memory: e0400000-e040ffff

i la targeta de xarxa addicional s'identifica com a eth0 és una

Ethernet interface
/0/100/1c.4/0

product: NetXtreme BCM5751 Gigabit Ethernet PCI Express [14E4:1677]
vendor: Broadcom Corporation [14E4]
bus info: pci@0000:28:00.0
logical name: eth0
version: 21
serial: 00:10:18:27:55:de
size: 100Mbit/s
capacity: 1Gbit/s
width: 64 bits
clock: 33MHz
capabilities:
	...
	1Gbit/s,
	1Gbit/s (full duplex),
	Auto-negotiation
configuration:
	autonegotiation: on
	broadcast: yes
	driver: tg3
	driverversion: 3.137
	duplex: full
	firmware: 5751-v3.58
	ip: 158.109.55.31
	latency: 0
	link: yes
	multicast: yes
	port: twisted pair
	speed: 100Mbit/s
resources:
	irq: 47
	memory: e0500000-e050ffff
	memory: e0510000-e051ffff

Comprovo que les targetes estiguin definides al fitxer /etc/udev/rules.d/70-persistent-net.rules per tal verificar que l'assignació de les targetes al sistema operatiu sigui estàtica i no hi hagi cap possibilitat de que canviï si es reinicia l'ordinador, de forma que la targeta a la placa base sigui sempre eth1 i correspongui a la connexió a la consola (IPSO), i que la targeta addicional sigui sempre eth0 i es faci servir per la connexió a la xarxa local (LAN).

root@cie-55-31:/etc/udev/rules.d# more 70-persistent-net.rules 
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x14e4:0x1677 (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:10:18:27:55:de", ATTR{dev_id}=="0x0",
 ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x14e4:0x167b (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:19:bb:57:96:9b", ATTR{dev_id}=="0x0",
 ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

Alhora, la targeta de la xarxa UAB (eth0) és configura de forma estàtica per evitar que la caiguda de la xarxa afecti el funcionament de l'espectròmetre, i els paràmetres de configuració són,

El dispositiu eth1 també caldrà configurar-ho de forma estàtica amb els paràmetres de connexió emprats actualment per la connexió de l'estació de treball a la consola.

Paquets i programes de Debian

Cal decidir si es manté la configuració a través del programa network-manager o si es desinstal·la i es fa la configuració manual.

Com que la configuració de la xarxa és estàtica, per evitar problemes elimino,

i instal·lo

Bibliografia

Fitxers de configuració provissionals

Aquesta és la configuració de xarxa provissional emprada per la instal·lació i configuració del sistema operatiu i del programa TopSpin.

/etc/hosts

127.0.0.1	localhost
127.0.1.1	cie-55-31.uab.es	cie-55-31

/etc/resolv.conf

domain uab.es
search uab.es
nameserver 158.109.0.9
nameserver 158.109.254.130
nameserver 158.109.0.1

/etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# Ethernet interfaces are assigned to physical devices in a
# persistent way according to rules in file:
#
#   /etc/udev/rules.d/70-persistent-net.rules
#
# Hence, each of eth0 and eth1 will **always** correspond to
# the same device. The configuration below assumes that,
#
#   eth0 -> lan (internet)
#   eth1 -> nmr (spectrometer ccu or ipso)
#
auto eth0 eth1

# LAN / INTERNET - Assigned to the primary network interface,
# which usually will be the motherboard integrated NIC.
#
iface eth0 inet static
    address 158.109.55.31
    netmask 255.255.240.0
    broadcast 158.109.63.255
    gateway 158.109.0.3

# NMR CONSOLE LAN - Assigned to the secondary network interface,
# which usually will be the added NIC.
#
iface eth1 inet static
    address 149.236.99.1
    netmask 255.255.255.0
    network 149.236.99.0
    broadcast 10.10.255.255

/etc/udev/rules.d/70-persistent-net.rules

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x14e4:0x167b (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:10:18:27:55:de",
ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x14e4:0x1677 (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:19:bb:57:96:9b",
ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

Configuració de serveis

Avahi

Aturo i desactivo el servei amb les comandes

Trivial FTP daemon

FIXME Enllaços sobre la configuració del tftpd

Bootparam

FIXME Cal configurar-lo per servir el sistema operatiu de la consola.

NFS

FIXME Cal configurar-lo per servir el sistema operatiu de la consola.

NTP

:ok: Instal·lo el paquet ntp però no afegeixo cap servidor de temps i deixo la configuració per defecte que fa servir el pool de servidors de temps de Debian.

Nous magatzems

He afegit nous magatzems (repositories) per tal de poder instal·lar programes addicionals o versions més noves d'alguns programes.

En primer lloc, em descarrego i afegeixo la clau del magatzem Debian Mozilla

# wget -O- -q http://mozilla.debian.net/archive.asc | gpg --import
# gpg --check-sigs --fingerprint --keyring /usr/share/keyrings/debian-archive-keyring.gpg
# gpg --export -a 06C4AE2A | apt-key add -

i la clau del magatzem Debian Multimedia,

# aptitude install deb-multimedia-keyring

Després actualitzo el registres dels programes apt-get i aptitude

# apt-get update
# aptitude update

Hardware especial

Drivers per la targeta gràfica

Instal·lo els drivers més actuals disponibles a debian-backports.

Per més informació consultar:

Per veure si es poden connectar dos monitors consultar:

Drivers per la 2a targeta de xarxa

Aparentment no cal instal·lar cap driver especial ja que la targeta és suportada per GNU/Linux, però per si de cas, aquests són alguns enllaços relacionats amb aquest model de targeta:

Drivers per la targeta amb ports sèrie

La targeta és reconeguda i configurada pel sistema, no cal instal·lar cap controlador addicional,

[    0.688353] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.688545]   alloc irq_desc for 16 on node -1
[    0.688546]   alloc kstat_irqs on node -1
[    0.688550] serial 0000:1c:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    0.688562] 2 ports detected on Oxford PCI Express device
[    0.688613] ttyS0: detected caps 00000700 should be 00000100
[    0.688617] 0000:1c:00.0: ttyS0 at MMIO 0xec401000 (irq = 16) is a 16C950/954
[    0.688670] ttyS1: detected caps 00000700 should be 00000100
[    0.688674] 0000:1c:00.0: ttyS1 at MMIO 0xec401200 (irq = 16) is a 16C950/954

Configuració de la BIOS

Quan tot estigui funcionant caldrà verificar la configuració de la BIOS, per exemple, per protegir l'accés amb una contrasenya.

Securing Debian GNU/Linux

Altres millores a Debian

Devil's pie

Teamviewer

Configuració de GNOME

Consultar els següents enllaços sobre cóm millorar o personalitzar el comportament de Gnome

Gnome Shell Extensions

Segueixo les instruccions a stackexchange.com per poder instal·lar les següents extensions pel Gnome:

Instal·lació del TopSpin

Transferència de dades

Disc dur amb problemes

Provo a transferir les dades des de l'antic disc dur que ha donat problemes. Per començar, comprovo si es pot accedir a la taula de particions del disc vell,

sermnadmin@cie-55-31:~$ sudo sfdisk -l /dev/sdb

Disk /dev/sdb: 19457 cylinders, 255 heads, 63 sectors/track
sfdisk: Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdb1   *      0+   2431-   2432-  19530752   83  Linux
/dev/sdb2       2431+  19457-  17026- 136757249    5  Extended
/dev/sdb3          0       -       0          0    0  Empty
/dev/sdb4          0       -       0          0    0  Empty
/dev/sdb5       2431+   3039-    608-   4881408   83  Linux
/dev/sdb6       3039+   4498-   1459-  11717632   82  Linux swap / Solaris
/dev/sdb7       4498+   6929-   2432-  19529728   83  Linux
/dev/sdb8       6929+  19457-  12528- 100625408   83  Linux

Llavors faig una còpia de seguretat de la taula de particions,

root@cie-55-31:/home/sermnadmin/Documents/old-hdd-recovery/partition-backup# dd if=/dev/sdb of=backup-old-hdd.mbr count=1 bs=512
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.00115307 s, 444 kB/s

root@cie-55-31:/home/sermnadmin/Documents/old-hdd-recovery/partition-backup# sfdisk -d /dev/sdb > backup-old-hdd.sf
sfdisk: Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
root@cie-55-31:/home/sermnadmin/Documents/old-hdd-recovery/part

Finalment, provo a copiar amb ddrescue les particions /dev/sdb5 (VAR), /dev/sdb7 (OPT) i /dev/sdb8 (HOME),

root@cie-55-31:/home/sermnadmin/Documents/old-hdd-recovery/sdb5-old-hdd-var# ddrescue -d -r3 /dev/sdb5 sdb5.image sdb5.mapfile
GNU ddrescue 1.19
Press Ctrl-C to interrupt
rescued:     1179 kB,  errsize:       0 B,  current rate:    10922 B/s
   ipos:     1179 kB,   errors:       0,    average rate:    15521 B/s
   opos:     1179 kB, run time:    1.26 m,  successful read:       0 s ago
Copying non-tried blocks... Pass 1 (forwards)

Per algun motiu, aquest procediment és molt lent. Després de provar diverses recomanacions trobades a Internet sense obtenir una millora substancial a la velocitat amb què es copien les dades, decideixo deixar-ho per més endavant i provar amb el disc anterior a aquest.

Serviria de res canvia la placa de control? http://www.hdd-parts.com/13082508.html

Un cop recuperades les dades del disc dur més antic, torno a provar a recuperar les del disc que amb problemes.

L'ordinador reconeix el disc i troba les particions esmentades més amunt

[167302.836024] usb 5-8: new high-speed USB device number 12 using ehci-pci
[167302.984889] usb 5-8: New USB device found, idVendor=152d, idProduct=2329
[167302.984895] usb 5-8: New USB device strings: Mfr=1, Product=2, SerialNumber=5
[167302.984898] usb 5-8: Product: USB to ATA/ATAPI Bridge
[167302.984902] usb 5-8: Manufacturer: JMicron
[167302.984905] usb 5-8: SerialNumber: 56819FFFFFFF
[167302.985556] usb-storage 5-8:1.0: USB Mass Storage device detected
[167302.985724] usb-storage 5-8:1.0: Quirks match for vid 152d pid 2329: 8020
[167302.985758] scsi11 : usb-storage 5-8:1.0
[167307.111166] scsi 11:0:0:0: Direct-Access     ST316081 2AS                   PQ: 0 ANSI: 2 CCS
[167307.111581] sd 11:0:0:0: Attached scsi generic sg2 type 0
[167308.435394] sd 11:0:0:0: [sdb] 312581808 512-byte logical blocks: (160 GB/149 GiB)
[167308.436640] sd 11:0:0:0: [sdb] Write Protect is off
[167308.436646] sd 11:0:0:0: [sdb] Mode Sense: 34 00 00 00
[167308.437632] sd 11:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[167325.207247]  sdb: sdb1 sdb2 < sdb5 sdb6 sdb7 sdb8 >
[167325.211102] sd 11:0:0:0: [sdb] Attached SCSI disk
[167527.620198] sd 11:0:0:0: [sdb] Unhandled sense code
[167527.620204] sd 11:0:0:0: [sdb]  

però l'intent de fer servir la comanda partprobe dóna un munt d'errors com:

[167527.620207] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[167527.620210] sd 11:0:0:0: [sdb]  
[167527.620213] Sense Key : Medium Error [current] 
[167527.620217] sd 11:0:0:0: [sdb]  
[167527.620220] Add. Sense: Unrecovered read error
[167527.620223] sd 11:0:0:0: [sdb] CDB: 
[167527.620225] Read(10): 28 00 00 00 08 00 00 00 08 00
[167527.620235] end_request: critical medium error, dev sdb, sector 2048
[167527.620240] Buffer I/O error on device sdb, logical block 256
[167535.691059] sd 11:0:0:0: [sdb] Unhandled sense code
[167535.691066] sd 11:0:0:0: [sdb]  
[167535.691069] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[167535.691072] sd 11:0:0:0: [sdb]  
[167535.691074] Sense Key : Medium Error [current] 
[167535.691079] sd 11:0:0:0: [sdb]  
[167535.691082] Add. Sense: Unrecovered read error
[167535.691085] sd 11:0:0:0: [sdb] CDB: 
[167535.691088] Read(10): 28 00 00 00 08 00 00 00 08 00
[167535.691098] end_request: critical medium error, dev sdb, sector 2048
[167535.691103] Buffer I/O error on device sdb, logical block 256
[167576.211102] sd 11:0:0:0: [sdb] Unhandled sense code
[167576.211109] sd 11:0:0:0: [sdb]  
[167576.211111] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[167576.211114] sd 11:0:0:0: [sdb]  
[167576.211117] Sense Key : Medium Error [current] 
[167576.211121] sd 11:0:0:0: [sdb]  
[167576.211124] Add. Sense: Unrecovered read error
[167576.211128] sd 11:0:0:0: [sdb] CDB: 
[167576.211130] Read(10): 28 00 06 a2 c0 00 00 00 08 00
[167576.211140] end_request: critical medium error, dev sdb, sector 111329280
[167576.211146] Buffer I/O error on device sdb8, logical block 0

o

[168724.524020] usb 5-7: new high-speed USB device number 14 using ehci-pci
[168724.664870] usb 5-7: New USB device found, idVendor=152d, idProduct=2329
[168724.664876] usb 5-7: New USB device strings: Mfr=1, Product=2, SerialNumber=5
[168724.664879] usb 5-7: Product: USB to ATA/ATAPI Bridge
[168724.664883] usb 5-7: Manufacturer: JMicron
[168724.664886] usb 5-7: SerialNumber: 801130168383
[168724.665536] usb-storage 5-7:1.0: USB Mass Storage device detected
[168724.665701] usb-storage 5-7:1.0: Quirks match for vid 152d pid 2329: 8020
[168724.665736] scsi13 : usb-storage 5-7:1.0
[168729.117271] scsi 13:0:0:0: Direct-Access                                    PQ: 0 ANSI: 2 CCS
[168729.117663] sd 13:0:0:0: Attached scsi generic sg2 type 0
[168759.413200] sd 13:0:0:0: [sdb] READ CAPACITY failed
[168759.413206] sd 13:0:0:0: [sdb]  
[168759.413209] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[168759.413212] sd 13:0:0:0: [sdb]  
[168759.413215] Sense Key : Unit Attention [current] 
[168759.413220] sd 13:0:0:0: [sdb]  
[168759.413224] Add. Sense: Not ready to ready change, medium may have changed
[168764.942936] sd 13:0:0:0: [sdb] Test WP failed, assume Write Enabled
[168773.198053] sd 13:0:0:0: [sdb] Asking for cache data failed
[168773.198060] sd 13:0:0:0: [sdb] Assuming drive cache: write through
[168830.604440] sd 13:0:0:0: [sdb] READ CAPACITY failed
[168830.604445] sd 13:0:0:0: [sdb]  
[168830.604447] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[168830.604449] sd 13:0:0:0: [sdb]  
[168830.604451] Sense Key : Unit Attention [current] 
[168830.604454] sd 13:0:0:0: [sdb]  
[168830.604457] Add. Sense: Not ready to ready change, medium may have changed

i el resultat d'executar la comanda smartclt -a /dev/sdb és,

root@cie-55-31:/home/sermnadmin/Documents/old-old-hdd-recovery# smartctl -a /dev/sdb
smartctl 6.4 2014-10-07 r4002 [x86_64-linux-3.16.0-4-amd64] (local build)
Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Barracuda 7200.9
Device Model:     ST3160812AS
Serial Number:    5LS68H19
Firmware Version: 3.AHL
User Capacity:    160,041,885,696 bytes [160 GB]
Sector Size:      512 bytes logical/physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA/ATAPI-7 (minor revision not indicated)
Local Time is:    Fri May 19 16:26:32 2017 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x82)	Offline data collection activity
					was completed without error.
					Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0)	The previous self-test routine completed
					without error or no self-test has ever 
					been run.
Total time to complete Offline 
data collection: 		(  433) seconds.
Offline data collection
capabilities: 			 (0x5b) SMART execute Offline immediate.
					Auto Offline data collection on/off support.
					Suspend Offline collection upon new
					command.
					Offline surface scan supported.
					Self-test supported.
					No Conveyance Self-test supported.
					Selective Self-test supported.
SMART capabilities:            (0x0003)	Saves SMART data before entering
					power-saving mode.
					Supports SMART auto save timer.
Error logging capability:        (0x01)	Error logging supported.
					General Purpose Logging supported.
Short self-test routine 
recommended polling time: 	 (   2) minutes.
Extended self-test routine
recommended polling time: 	 (  54) minutes.
SCT capabilities: 	       (0x0009)	SCT Status supported.
					SCT Error Recovery Control supported.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   100   253   006    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0002   094   094   000    Old_age   Always       -       0
  4 Start_Stop_Count        0x0033   100   100   020    Pre-fail  Always       -       71
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       37
  7 Seek_Error_Rate         0x000f   085   060   030    Pre-fail  Always       -       356768337
  9 Power_On_Hours          0x0032   021   021   000    Old_age   Always       -       69653
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0033   100   100   020    Pre-fail  Always       -       82
187 Reported_Uncorrect      0x0032   068   068   000    Old_age   Always       -       32
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   063   063   045    Old_age   Always       -       37 (Min/Max 37/37)
194 Temperature_Celsius     0x0022   037   040   000    Old_age   Always       -       37 (0 16 0 0 0)
195 Hardware_ECC_Recovered  0x001a   102   048   000    Old_age   Always       -       124688544
197 Current_Pending_Sector  0x0012   001   001   000    Old_age   Always       -       4403
198 Offline_Uncorrectable   0x0010   001   001   000    Old_age   Offline      -       4403
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0000   100   253   000    Old_age   Offline      -       0
202 Data_Address_Mark_Errs  0x0032   100   253   000    Old_age   Always       -       0

SMART Error Log Version: 1
ATA Error Count: 167 (device log contains only the most recent five errors)
	CR = Command Register [HEX]
	FR = Features Register [HEX]
	SC = Sector Count Register [HEX]
	SN = Sector Number Register [HEX]
	CL = Cylinder Low Register [HEX]
	CH = Cylinder High Register [HEX]
	DH = Device/Head Register [HEX]
	DC = Device Command Register [HEX]
	ER = Error register [HEX]
	ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 167 occurred at disk power-on lifetime: 4117 hours (171 days + 13 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 00 00 08 00 e0  Error: UNC at LBA = 0x00000800 = 2048

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 08 00 08 00 e0 00      00:06:38.518  READ DMA EXT
  25 00 08 18 b8 4e e0 00      00:06:38.516  READ DMA EXT
  25 00 08 00 c0 4e e0 00      00:06:38.502  READ DMA EXT
  25 00 08 18 18 e9 e0 00      00:06:34.538  READ DMA EXT
  25 00 08 f8 0e e9 e0 00      00:06:30.491  READ DMA EXT

Error 166 occurred at disk power-on lifetime: 4117 hours (171 days + 13 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 00 00 08 00 e0  Error: UNC at LBA = 0x00000800 = 2048

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 08 00 08 00 e0 00      00:06:38.518  READ DMA EXT
  ef 03 45 00 00 00 a0 00      00:06:38.516  SET FEATURES [Set transfer mode]
  00 00 08 00 00 00 00 04      00:06:38.502  NOP [Abort queued commands]
  25 00 08 00 08 00 e0 00      00:06:34.538  READ DMA EXT
  25 00 08 f8 b6 a2 e0 00      00:06:30.491  READ DMA EXT

Error 165 occurred at disk power-on lifetime: 4117 hours (171 days + 13 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 00 00 08 00 e0  Error: UNC at LBA = 0x00000800 = 2048

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 08 00 08 00 e0 00      00:05:58.830  READ DMA EXT
  25 00 08 f8 b6 a2 e0 00      00:05:54.874  READ DMA EXT
  25 00 10 f8 b7 a2 e0 00      00:05:50.836  READ DMA EXT
  25 00 08 f8 ae 4e e0 00      00:06:34.538  READ DMA EXT
  25 00 08 f8 af 4e e0 00      00:06:30.491  READ DMA EXT

Error 164 occurred at disk power-on lifetime: 4117 hours (171 days + 13 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 00 00 08 00 e0  Error: UNC at LBA = 0x00000800 = 2048

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 08 00 08 00 e0 00      00:05:58.830  READ DMA EXT
  25 00 08 00 b0 4e e0 00      00:05:54.874  READ DMA EXT
  ef 03 45 00 00 00 a0 00      00:05:50.836  SET FEATURES [Set transfer mode]
  00 00 08 00 00 00 00 04      00:05:46.773  NOP [Abort queued commands]
  25 00 08 00 08 00 e0 00      00:05:46.726  READ DMA EXT

Error 163 occurred at disk power-on lifetime: 4117 hours (171 days + 13 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 00 00 08 00 e0  Error: UNC at LBA = 0x00000800 = 2048

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 08 00 08 00 e0 00      00:05:13.529  READ DMA EXT
  25 00 08 08 b8 4e e0 00      00:05:54.874  READ DMA EXT
  25 00 08 00 b8 4e e0 00      00:05:50.836  READ DMA EXT
  ef 03 45 00 00 00 a0 00      00:05:46.773  SET FEATURES [Set transfer mode]
  00 00 08 00 00 00 00 04      00:05:46.726  NOP [Abort queued commands]

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%         0         -

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

En relació a l'error “Error: UNC at LBA = …” consultar les recomanacions a:

Per altra banda, aquesta es la traça de l'execució de la comanda sfdisk -l /dev/sdb

root@cie-55-31:/home/sermnadmin/Documents/old-hdd-recovery/partition-backup# strace sfdisk -l /dev/sdb
execve("/sbin/sfdisk", ["sfdisk", "-l", "/dev/sdb"], [/* 20 vars */]) = 0
brk(0)                                  = 0xed4000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7386212000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=98535, ...}) = 0
mmap(NULL, 98535, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f73861f9000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\34\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1738176, ...}) = 0
mmap(NULL, 3844640, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f7385c49000
mprotect(0x7f7385dea000, 2097152, PROT_NONE) = 0
mmap(0x7f7385fea000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a1000) = 0x7f7385fea000
mmap(0x7f7385ff0000, 14880, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f7385ff0000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f73861f8000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f73861f7000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f73861f6000
arch_prctl(ARCH_SET_FS, 0x7f73861f7700) = 0
mprotect(0x7f7385fea000, 16384, PROT_READ) = 0
mprotect(0x611000, 4096, PROT_READ)     = 0
mprotect(0x7f7386214000, 4096, PROT_READ) = 0
munmap(0x7f73861f9000, 98535)           = 0
brk(0)                                  = 0xed4000
brk(0xef5000)                           = 0xef5000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=1607712, ...}) = 0
mmap(NULL, 1607712, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f738606d000
close(3)                                = 0
open("/dev/sdb", O_RDONLY)              = 3
ioctl(3, HDIO_GETGEO, {heads=255, sectors=63, cylinders=19457, start=0}) = 0
uname({sys="Linux", node="cie-55-31", ...}) = 0
ioctl(3, BLKGETSIZE64, 160041885696)    = 0
open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=2492, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7386211000
read(4, "# Locale name alias data base.\n#"..., 4096) = 2492
read(4, "", 4096)                       = 0
close(4)                                = 0
munmap(0x7f7386211000, 4096)            = 0
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 8), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7386211000
write(1, "\n", 1
)                       = 1
write(1, "Disk /dev/sdb: 19457 cylinders, "..., 60Disk /dev/sdb: 19457 cylinders, 255 heads, 63 sectors/track
) = 60
lseek(3, 0, SEEK_SET)                   = 0
read(3, "\353c\220\20\216\320\274\0\260\270\0\0\216\330\216\300\373\276\0|\277\0\6\271\0\2\363\244\352!\6\0"..., 512) = 512
write(2, "sfdisk: ", 8sfdisk: )                 = 8
write(2, "Warning: extended partition does"..., 121Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.) = 121
write(2, "\n", 1
)                       = 1
lseek(3, 20001586176, SEEK_SET)         = 20001586176
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512
lseek(3, 25000148992, SEEK_SET)         = 25000148992
read(3, "\3310\3320\3330\3340\3350\3360\3370\3400\3410\3420\3430\3440\3450\3460\3470\3500"..., 512) = 512
lseek(3, 37000052736, SEEK_SET)         = 37000052736
read(3, "\17\377\0\0\330\315\0\0\t\233\0\0\303c\0\0`&\0\0\30\347\377\377\244\253\377\377\217s\377\377"..., 512) = 512
lseek(3, 56999542784, SEEK_SET)         = 56999542784
read(3, "9\246\f\0'O\5\0\232\n\1\0\356\223\6\0\236\307\n\0\360\226\1\0z?\363\377\222\303\355\377"..., 512) = 512
write(1, "Units: cylinders of 8225280 byte"..., 74Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

) = 74
write(1, "   Device Boot Start     End   #"..., 61   Device Boot Start     End   #cyls    #blocks   Id  System
) = 61
write(1, "/dev/sdb1   *      0+   2431-   "..., 60/dev/sdb1   *      0+   2431-   2432-  19530752   83  Linux
) = 60
write(1, "/dev/sdb2       2431+  19457-  1"..., 63/dev/sdb2       2431+  19457-  17026- 136757249    5  Extended
) = 63
write(1, "/dev/sdb3          0       -    "..., 60/dev/sdb3          0       -       0          0    0  Empty
) = 60
write(1, "/dev/sdb4          0       -    "..., 60/dev/sdb4          0       -       0          0    0  Empty
) = 60
write(1, "/dev/sdb5       2431+   3039-   "..., 60/dev/sdb5       2431+   3039-    608-   4881408   83  Linux
) = 60
write(1, "/dev/sdb6       3039+   4498-   "..., 75/dev/sdb6       3039+   4498-   1459-  11717632   82  Linux swap / Solaris
) = 75
write(1, "/dev/sdb7       4498+   6929-   "..., 60/dev/sdb7       4498+   6929-   2432-  19529728   83  Linux
) = 60
write(1, "/dev/sdb8       6929+  19457-  1"..., 60/dev/sdb8       6929+  19457-  12528- 100625408   83  Linux
) = 60
close(3)                                = 0
close(1)                                = 0
munmap(0x7f7386211000, 4096)            = 0
close(2)                                = 0
exit_group(0)                           = ?
+++ exited with 0 +++

Disc dur anterior

Com que vaig guardar el disc anterior al disc que ha fallat ara, provo a muntar-ho i a recuperar els fitxers de configuració del TopSpin i els fitxers de dades que conté.

Comprovo que es pugui llegir la taula de particions del disc

root@cie-55-31:/media/sermnadmin/_opt1# sfdisk -l /dev/sdb

Disk /dev/sdb: 19457 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdb1   *      0+     15      16-    128488+  83  Linux
/dev/sdb2         16    2055    2040   16386300   83  Linux
/dev/sdb3       2056    3075    1020    8193150   82  Linux swap / Solaris
/dev/sdb4       3076   19456   16381  131580382+  83  Linux

i resulta que l'ordinador reconeix i munta automàticament les particions sdb1 (BOOT), sdb2 (ROOT & HOME), i sdb4 (OPT), de forma que puc copiar el seu contingut amb la comanda rsync. Les còpies es guarden provisionalment a les carpetes:

i inclouen els directoris:

Aquest és el resum del procés de còpia de les dades de rmn,

root@cie-55-31:/home/sermnadmin/Documents/old-old-hdd-recovery/sdb4-old-old-hdd-opt# rsync -Haxv --progress --stats /media/sermnadmin/_opt1/sermn-uab .
:
:
Number of files: 1,245,349 (reg: 1,048,377, dir: 196,972)
Number of created files: 1,245,349 (reg: 1,048,377, dir: 196,972)
Number of deleted files: 0
Number of regular files transferred: 1,048,377
Total file size: 85,823,932,533 bytes
Total transferred file size: 85,823,932,533 bytes
Literal data: 85,823,932,533 bytes
Matched data: 0 bytes
File list size: 4,915,042
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 85,909,483,467
Total bytes received: 21,165,285

sent 85,909,483,467 bytes  received 21,165,285 bytes  12,098,648.19 bytes/sec
total size is 85,823,932,533  speedup is 1.00

Bibliografia

Canvis a les particions

Cal estudiar la conveniència de moure la carpeta /opt a una partició separada.

Bloqueig dels ports USB

Per evitar que els usuaris facin ús dels ports USB per connectar pendrives o discos externs, o del lector de CD/DVD, edito el fitxer /etc/group i els bloquejo l'accés eliminant l'usuari sermnuab dels grups cdrom i plugdev.

Impressora en PDF

Instal·lo el paquet printer-driver-cups-pdf per crear una impressora virtual en fitxers PDF. Això fa que s'instal·li el gestor d'impressió CUPS i que a la llista d'impressores surtin les que troba a la xarxa. Per eliminar-les desactivo el servei de descoberta d'impressores:

sermnadmin@cie-55-31:~$ sudo systemctl stop cups-browsed.service 
[sudo] password for sermnadmin: 
sermnadmin@cie-55-31:~$ sudo systemctl disable cups-browsed.service 
Synchronizing state for cups-browsed.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d cups-browsed defaults
Executing /usr/sbin/update-rc.d cups-browsed disable
insserv: warning: current start runlevel(s) (empty) of script `cups-browsed' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `cups-browsed' overrides LSB defaults (0 1 6).
sermnadmin@cie-55-31:~$ sudo systemctl status cups-browsed.service 
● cups-browsed.service - Make remote CUPS printers available locally
   Loaded: loaded (/lib/systemd/system/cups-browsed.service; disabled)
   Active: inactive (dead)

May 31 12:47:30 cie-55-31 systemd[1]: Starting Make remote CUPS printers available locally...
May 31 12:47:30 cie-55-31 systemd[1]: Started Make remote CUPS printers available locally.
May 31 12:56:32 cie-55-31 systemd[1]: Stopping Make remote CUPS printers available locally...
May 31 12:56:32 cie-55-31 systemd[1]: Stopped Make remote CUPS printers available locally.

i les impressores de xarxa despareixen i només queda la impressora virtual local.

FIXME La impressió des de la pestanya plot del TopSpin dóna un error,

Printing has been cancelled:
java.awt.print.PrinterIOException
(Original message = Printing has been cancelled:
java.awt.print.PrinterIOException)

====================================================
31 May 2017 13:12:06.490 +0200
Topspin Version  = 3.5 pl 6 (of August 4 2016),build 1784
JVM Version      = 1.8.0_102 (32 bit) Oracle Corporation
JVM Total memory = 110 MB
JVM Free  memory = 42 MB

java.lang.Exception: Stack trace
	at bruker.bio.topspin.bfw.gui.warn.AbstractMessage.getDetailsString(AbstractMessage.java:827)
	at bruker.bio.topspin.bfw.gui.warn.AbstractMessage.setMsgSource(AbstractMessage.java:790)
	at bruker.bio.topspin.bfw.gui.warn.AbstractMessage.<init>(AbstractMessage.java:774)
	at de.bruker.nmr.mfw.base.BWarning.<init>(BWarning.java:102)
	at de.bruker.nmr.mfw.base.BError.<init>(BError.java:93)
	at de.bruker.nmr.mfw.base.BError.<init>(BError.java:72)
	at de.bruker.nmr.pr.plot.media.MediaFactory.doPrint(MediaFactory.java:583)
	at de.bruker.nmr.pr.plot.LayoutEditor$PlotPreviewHelperThread.run(LayoutEditor.java:1059)

Per trobar una solució, consultar els enllaços:

Nautilus scripts