Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.
Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.
Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.
Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.
Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.
Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.
Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).
OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.
Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.
R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x000f 057 049 006 Pre-fail Always - 140496120 3 Spin_Up_Time 0x0003 099 096 000 Pre-fail Always - 0 4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 189 5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 0 7 Seek_Error_Rate 0x000f 063 060 030 Pre-fail Always - 519947024875 9 Power_On_Hours 0x0032 073 073 000 Old_age Always - 24065 10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0 12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 320 194 Temperature_Celsius 0x0022 043 051 000 Old_age Always - 43 195 Hardware_ECC_Recovered 0x001a 057 049 000 Old_age Always - 140496120 197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0 198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0 199 UDMA_CRC_Error_Count 0x003e 200 194 000 Old_age Always - 10 200 Multi_Zone_Error_Rate 0x0000 100 253 000 Old_age Offline - 0 202 TA_Increase_Count 0x0032 100 253 000 Old_age Always - 0Kus scriptu:
for diskk in a b; do for b in `/usr/sbin/smartctl -A /dev/hd${diskk} | grep '^[ 0-9][ 0-9][0-9]' | awk '{print $10 ";"}'`; do echo -n $b >> hdd_smart.csv ; done; done;Nejsem v BASHi tak zběhlej a proto netuším co by bylo nejlepší a nejednoduší k použití. Díky moc za každou pomoc nebo nasměrování.
...
for x in `/usr/sbin/smartctl -A /dev/hd${diskk} | grep -v ID# | sed "s%^[ ]*\([0-9]*\).*%\1%"`; do echo -n $x\; ; done
?
for i in a b; do smartctl -A "/dev/hd$i" | awk '
$1>=1 && $1 <=255 {a[$1]=$10}
END {
for(i=1;i<=255;i++)
{
if(a[i])
{printf "%d", a[i]}
printf ";"
}
}';
echo;
done
Tento script sice udělá skoro vše co potřebuji, ale je tam chyba s kterou si nevím rady
Výpis scriptu:143198173;;;189;;;519947058931;;24068;;;320;;Jak vidíte tak hodnota (0) s ID číslem 3 v buňce není vůbec. Mělo by to vypadat:
143198173;0;189;;;519947058931;;24068;0;320;;Nevíte jak doplnit script aby vypisoval i tu nulu do buňky? Díky moc za pomoc.
#!/usr/bin/python import subprocess values = ['' for i in range(256)] process = subprocess.Popen(['smartctl', '-A', '/dev/sda'], stdout = subprocess.PIPE) for line in process.stdout: splitted = line.split() try: id = int(splitted[0]) raw_value = int(splitted[9]) except ValueError: continue except IndexError: continue values[id - 1] = '%d' %raw_value print ';'.join(values)Udělá to spoustu čísel a středníků, např.
24771859;;0;74;0;;685596218;;13667;0;;122;;;;;; atd.Je to tak správně?
#!/usr/bin/python import subprocess, time class Smart: def __init__(self, diskk): self.diskk = diskk values = ['' for i in range(256)] process = subprocess.Popen(['smartctl', '-a', '/dev/' + diskk], stdout = subprocess.PIPE) self.alllines = [] for line in process.stdout: self.alllines.append(line) splitted = line.split() if 'Serial Number:' in line: self.sn = splitted[-1] try: id = int(splitted[0]) raw_value = int(splitted[9]) except ValueError: continue except IndexError: continue values[id - 1] = '%d' %raw_value if splitted[1] == 'Temperature_Celsius': self.temperature = raw_value self.rawvalues = ';'.join(values) self.now_int = int(time.time()) def pis_teplotu(self): cas_disk_teplota = '%d, %s, %d\n' %(self.now_int, self.diskk, self.temperature) print cas_disk_teplota file('teploty.csv', 'a').write(cas_disk_teplota) def pis_celk_smart(self): filename = '%s_%s_%d.txt' %(self.diskk, self.sn, self.now_int) print filename file(filename, 'w').writelines(self.alllines) def pis_raw_values(self): line = '%d,%s,%s\n' %(self.now_int, self.sn, self.rawvalues) print line file('raw.csv', 'a').write(line) while True: disk = Smart('sda') disk.pis_teplotu() disk.pis_celk_smart() disk.pis_raw_values() time.sleep(10)Ten interval jsem plácl deset sekund. Klidně to zahoď, ale dělá to aspoň zhruba to co má?
Traceback (most recent call last): File "test", line 2, in ? import subprocess, time ImportError: No module named subprocessNevíš čím to může být ? Jak říkám Python neumím vůbec.
# RAW VALUE for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23; do for raw in `/usr/sbin/smartctl -A -d 3ware,${i} | awk ' BEGIN { for(i=1;i<254;i++) a[i]=-1 } $1>=1 && $1<=253 { a[$1]=$10 } END { for(i=1;i<254;i++) { if(a[i]>=0) printf "%d", a[i]; printf ";" } }'`; do for sn in `/usr/sbin/smartctl -a -d 3ware,${i} | grep "Serial Number" | awk '{print $3}' `; do echo -n $cas ";" >> testy/hdd_smart.csv | echo -n $sn ";" >> testy/hdd_smart.csv; echo -n $raw >> testy/hdd_smart.csv; echo "" >> testy/hdd_smart.csv; done; done; doneDěkuji všem za pomoc při vytváření tohoto kusu scriptu.
for raw in `cokoli`Je velmi velmi velmi špatný nápad!
# RAW VALUE for((i=0; i<24; i++)) do raw="$(/usr/sbin/smartctl -A -d 3ware,${i} | awk 'BEGIN { for(i=1;i<254;i++) a[i]=-1 } $1>=1 && $1<=253 { a[$1]=$10 } END { for(i=1;i<254;i++) { if(a[i]>=0) printf "%d", a[i]; print ";" } }')" sn="$(/usr/sbin/smartctl -a -d 3ware,${i} | awk '/Serial Number/ {print $3}')" echo "$cas;$sn;$raw" >> testy/hdd_smart.csv done
Smím vědět proč? Platí to pro tenhle konkrétní případ nebo všeobecně (čemuž se mi nechce věřit)? Kuji.for raw in `cokoli`
Je velmi velmi velmi špatný nápad!
for i in `ls *.txt`je naprosto nevhodné, protože to může zhavarovat na velikost ve starších verzích shellu, nebo nějakém minimalistickém, např busybox. A pak to pěkně rozbije jen hloupá mezera v názvu souboru nebo adresáře. Přitom to jde krásně napsat
for i in *.txtSekvence
for i in `seq 1 2 10`jde jednoduše nahradit
for((i=1;i<=10;i+=2))A všechny ty
for i in `cokoli`jde nahradit bezpečnějším
cokoli | while read i
( IFS=$'\n'; for i in $(ls *.txt); … )V žádném případě netvrdím, že je to lepší varianta než
in *.txtale s tím si zase nevystačím ve složitějších selekcích a v situaci, kdy nepůjde o cyklus přes soubory/adresáře.
... ale s tím si zase nevystačím ve složitějších selekcích a v situaci, kdy nepůjde o cyklus přes soubory/adresáře.Na složitější selekce máme
find
+ xargs
a nebo while read
for i in a b; do smartctl -A "/dev/hd$i" | awk ' BEGIN { for(i=1;i<256;i++) a[i]=-1 } $1>=1 && $1<=255 { a[$1]=$10 } END { for(i=1;i<256;i++) { if(a[i]>=0) printf "%d", a[i]; printf ";" } }' echo done
Tiskni Sdílej: