Byla vydána verze 0.2.0 v Rustu napsaného frameworku Pingora pro vytváření rychlých, spolehlivých a programovatelných síťových systémů. Společnost Cloudflare jej letos v únoru uvolnila pod licencí Apache 2.0.
Open source RDP (Remote Desktop Protocol) server xrdp (Wikipedie) byl vydán ve verzi 0.10.0. Z novinek je vypíchnuta podpora GFX (Graphic Pipeline Extension). Nová větev řeší také několik bezpečnostních chyb.
Rocky Linux byl vydán v nové stabilní verzi 9.4. Přehled novinek v poznámkách k vydání.
Dellu byla odcizena databáze zákazníků (jméno, adresa, seznam zakoupených produktů) [Customer Care, Bleeping Computer].
V lednu byl otevřen editor kódů Zed od autorů editoru Atom a Tree-sitter. Tenkrát běžel pouze na macOS. Byl napevno svázán s Metalem. Situace se ale postupně mění. V aktuálním příspěvku Kdy Zed na Linuxu? na blogu Zedu vývojáři popisují aktuální stav. Blíží se alfa verze.
O víkendu 11. a 12. května lze navštívit Maker Faire Prague, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.
Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.
Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.
Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).
Linearni cteni z toho v bode (a) dela: Timing buffered disk reads: 306 MB in 3.01 seconds = 101.62 MB/sec Timing buffered disk reads: 314 MB in 3.02 seconds = 103.93 MB/sec Timing buffered disk reads: 318 MB in 3.01 seconds = 105.54 MB/sec Linearni cteni z toho v bode (b) dela: Timing buffered disk reads: 330 MB in 3.02 seconds = 109.39 MB/sec Timing buffered disk reads: 298 MB in 3.00 seconds = 99.32 MB/sec Timing buffered disk reads: 332 MB in 3.01 seconds = 110.35 MB/secTakze to v podstate staci vyizit 1 klienta na gigabitu. Vic lidi paralelne by to uz asi nezvladalo tak pekne. RAID 10 v degradovanym rezimu to umi jen 63MB/sec RAID 5 v degradovanym rezimu umi mezi 44 az 55MB/sec podle zateze na desktopu to klesa az pod 20MB/sec a jeste ze jsem se podival :) ... jak se to pred mesicem upeklo, tak jeden disk prestal reagovat na a vytuhl system a bylo to degradovany :)
fdisk -l /dev/sda Disk /dev/sda: 251.0 GB, 251000193024 bytes 255 heads, 63 sectors/track, 30515 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda2 * 1 19 151199+ fd Linux raid autodetect Partition 2 does not end on cylinder boundary. /dev/sda3 1294 30516 234729936 8e Linux LVM Partition 3 does not end on cylinder boundary. md1 : active raid1 sdd2[3] sdc2[2] sdb2[1] sda2[0] 151104 blocks [4/4] [UUUU] mount /dev/mapper/r5-stable on / type reiserfs (rw) /dev/md1 on /boot type ext3 (rw) /dev/mapper/r10-var on /var type reiserfs (rw) /dev/mapper/r5-data on /data type reiserfs (rw) /dev/mapper/r6-home on /home6 type reiserfs (rw) /dev/mapper/r10-home on /home type reiserfs (rw) Jinak zbytek systemu: cat /proc/mdstat Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty] md10 : active raid10 dm-10[3] dm-1[0] dm-7[2] dm-4[1] 31457152 blocks 64K chunks 2 near-copies [4/4] [UUUU] md6 : active raid6 dm-0[0] dm-9[3] dm-6[2] dm-3[1] 20971392 blocks level 6, 64k chunk, algorithm 2 [4/4] [UUUU] md5 : active raid5 dm-11[4] dm-2[0] dm-8[2] dm-5[1] 597688128 blocks level 5, 64k chunk, algorithm 2 [4/3] [UUU_] [====>................] recovery = 21.0% (41840592/199229376) finish=50.8min speed=51553K/sec md1 : active raid1 sdd2[3] sdc2[2] sdb2[1] sda2[0] 151104 blocks [4/4] [UUUU] unused devices: /opt/initrd/sbin/lvm.static vgs VG #PV #LV #SN Attr VSize VFree a 1 3 0 wz--n 223.86G 8.86G b 1 3 0 wz--n 223.86G 8.86G c 1 3 0 wz--n 223.86G 8.86G d 1 3 0 wz--n 223.86G 8.86G r10 1 3 0 wz--n 30.00G 2.00G r5 1 2 0 wz--n 570.00G 16.00G r6 1 1 0 wz--n 20.00G 0 to jen pro mapovani cisel dm-# na vg-lv ls -l -1 /dev/mapper/* | sed -e 's/[[:space:]]\+/ /g' | cut -d " " -f 6,9 | sort -n 0 /dev/mapper/a-raid6 1 /dev/mapper/a-raid10 2 /dev/mapper/a-raid5 3 /dev/mapper/b-raid6 4 /dev/mapper/b-raid10 5 /dev/mapper/b-raid5 6 /dev/mapper/c-raid6 7 /dev/mapper/c-raid10 8 /dev/mapper/c-raid5 9 /dev/mapper/d-raid6 10 /dev/mapper/d-raid10 11 /dev/mapper/d-raid5 12 /dev/mapper/r5-data 13 /dev/mapper/r5-stable 14 /dev/mapper/r6-home 15 /dev/mapper/r10-swap 16 /dev/mapper/r10-var 17 /dev/mapper/r10-homejinak na disku je rezerva pro uplne novy druh partition. vsechny 4 disky vypadaji stejne. kazdej disk je resenej samostatne, aby se dal jednotlive vyhodit bez velkyho stvani. proto je kazda LVM partition ve vlstani VG . Nad VG jsou delany LV raidX tak aby se dal delat enlargement podle potreb. Dany LV raidX pouzivam v mdX o levelu X. No a kdybych nahodou chtel neco jako limit pro adresar bez kvot, ruzny FS nebo mount optiony, tak v kazdym raidu je opet LVM s VG rX.
ramdisk: find | grep -ve '\.\/dev' . ./etc ./etc/lvm ./lib ./lib/libdevmapper.a.1.01 ./lib/libdevmapper.so.1.01 ./lib/libdevmapper.so ./lib/libdevmapper.a ./man ./man/man5 ./man/man5/lvm.conf.5 ./man/man8 ./man/man8/lvreduce.8 ./man/man8/vgexport.8 ./man/man8/vgextend.8 ./man/man8/vgrename.8 ./man/man8/vgremove.8 ./man/man8/lvextend.8 ./man/man8/lvrename.8 ./man/man8/lvremove.8 ./man/man8/lvm.8 ./man/man8/lvs.8 ./man/man8/pvs.8 ./man/man8/vgs.8 ./man/man8/vgmerge.8 ./man/man8/vgsplit.8 ./man/man8/lvresize.8 ./man/man8/pvremove.8 ./man/man8/vgdisplay.8 ./man/man8/vgchange.8 ./man/man8/vgcfgrestore.8 ./man/man8/dmsetup.8 ./man/man8/pvmove.8 ./man/man8/lvchange.8 ./man/man8/pvscan.8 ./man/man8/pvchange.8 ./man/man8/lvmdiskscan.8 ./man/man8/lvmchange.8 ./man/man8/vgconvert.8 ./man/man8/pvdisplay.8 ./man/man8/vgck.8 ./man/man8/vgmknodes.8 ./man/man8/lvdisplay.8 ./man/man8/vgcreate.8 ./man/man8/vgimport.8 ./man/man8/vgscan.8 ./man/man8/vgcfgbackup.8 ./man/man8/lvcreate.8 ./man/man8/pvcreate.8 ./man/man8/lvscan.8 ./man/man8/vgreduce.8 ./sys ./var ./var/lock ./var/lock/lvm ./usr ./usr/share ./usr/share/man ./usr/share/man/man4 ./usr/share/man/man4/md.4 ./usr/share/man/man5 ./usr/share/man/man5/mdadm.conf.5 ./usr/share/man/man8 ./usr/share/man/man8/mdadm.8 ./busy ./proc ./sbin ./sbin/lvm ./sbin/lvs ./sbin/pvs ./sbin/vgs ./sbin/vgck ./sbin/lvm.static ./sbin/lvconvert ./sbin/mdadm ./sbin/dmsetup ./sbin/lvdisplay ./sbin/pvchange ./sbin/pvcreate ./sbin/vgmknodes ./sbin/pvremove ./sbin/pvresize ./sbin/lvmchange ./sbin/lvmsadc ./sbin/vgcfgrestore ./sbin/lvmdiskscan ./sbin/pvdisplay ./sbin/lvmsar ./sbin/lvscan ./sbin/vgchange ./sbin/vgcreate ./sbin/pvmove ./sbin/pvscan ./sbin/vgexport ./sbin/vgextend ./sbin/vgimport ./sbin/vgscan ./sbin/vgmerge ./sbin/vgsplit ./sbin/lvchange ./sbin/lvcreate ./sbin/lvextend ./sbin/dmsetup.static ./sbin/vgreduce ./sbin/vgrename ./sbin/vgremove ./sbin/vgconvert ./sbin/vgcfgbackup ./sbin/lvreduce ./sbin/lvrename ./sbin/lvremove ./sbin/lvresize ./sbin/vgdisplay ./sbin/busybox ./linuxrc ./include ./include/libdevmapper.h ./lost+found start skript #!/sbin/busybox sh PATH=/sbin alias lvm=lvm.static mount -t sysfs none /sys mount -t proc none /proc lvm pvscan lvm vgscan lvm lvscan lvm lvchange -a y a lvm lvchange -a y b lvm lvchange -a y c lvm lvchange -a y d mdadm --assemble /dev/md5 /dev/a/raid5 /dev/b/raid5 /dev/c/raid5 /dev/d/raid5 mdadm --assemble /dev/md6 /dev/a/raid6 /dev/b/raid6 /dev/c/raid6 /dev/d/raid6 mdadm --assemble /dev/md10 /dev/a/raid10 /dev/b/raid10 /dev/c/raid10 /dev/d/raid10 mdadm --assemble /dev/md10 /dev/a/raid10 /dev/b/raid10 /dev/d/raid10 lvm pvscan lvm vgscan lvm lvscan lvm lvchange -a y r5 lvm lvchange -a y r6 lvm lvchange -a y r10 #echo 64522 > /proc/sys/kernel/real-root-dev real-root-dev /dev/mapper/r5-stable umount /sys umount /procreal-root-dev je taky trivka. vraci jen device cislo z lstatu struct_fs - jen pro jistotu, aby to bootovalo i kdyz nahodou nekdo zmeni jadro a zmeni se cislo zarizeni. akorat kdyz disk uplne chcipne neob se vytahne, tak se nedostane pres: mdadm --assemble /dev/md5 /dev/a/raid5 /dev/b/raid5 /dev/c/raid5 /dev/d/raid5 mdadm --assemble /dev/md6 /dev/a/raid6 /dev/b/raid6 /dev/c/raid6 /dev/d/raid6 mdadm --assemble /dev/md10 /dev/a/raid10 /dev/b/raid10 /dev/c/raid10 /dev/d/raid10 mdadm --assemble /dev/md10 /dev/a/raid10 /dev/b/raid10 /dev/d/raid10 mdadm v te verzi co mam rve, ze mu chybi zarizeni... mozna by stalo za to provist upgrade a checknout jak jsou na tom. pro cistku, aby system po nabehnuti odpovidal tomu co se delo v ramdisku...
rcS.d# cat S05moje_lvm #!/bin/sh echo "LVM hack pre-init tmpfs mounts and config" mount -nt tmpfs -o size=5m none /etc/lvm; mount -nt tmpfs -o size=1m none /var/lock/lvm; cp /etc_cust/lvm/lvm.conf /etc/lvm/ echo "LVM hack rescanning LVs"; /opt/initrd/sbin/lvm.static lvscan; echo "LVM hack recreating device mapper block device nodes"; /opt/initrd/sbin/lvm.static vgmknodes; echo "LVM hack post cleanup tmpfs unmounts" umount -n /etc/lvm umount -n /var/lock/lvm echo "LVM hack finished";
cat real-root-dev.c #define _GNU_SOURCE #include stdio.h #include stdlib.h #include sys/types.h #include sys/stat.h #include unistd.h #include errno.h #include fcntl.h extern int errno; int main(int argc, char **argv) { int r=-1,d=-1; FILE *p=NULL; struct stat st; char *strp=NULL; /* arg check */ if (argc !=2) { fprintf(stderr, "Need just one block device\n"); exit(1); } /* prevent argument moving during/after checks */ d= open(argv[1],O_RDONLY); if (-1==d) { perror("opening parameter"); exit(1); } else if (0>d) { fprintf(stderr,"Opened parameter with invalid ret\n"); close(d); exit(1); } /* get the locked argument's properties */ r= fstat(d, &st); if (0==r) { } else if (-1== r) { perror("fstating parameter"); close(d); exit(1); } else { fprintf(stderr, "Stated parametr with invalid ret\n"); perror("fstating parameter"); close(d); exit(1); } /* inspect the properties */ if (! (S_ISBLK(st.st_mode))) { fprintf(stderr, "Parameter is not block device\n"); close(d); exit(1); } close(d); /* get the proc file */ p= fopen("/proc/sys/kernel/real-root-dev", "w"); if (NULL==p) { perror("opening proc"); exit(1); } /* write it */ d= fprintf(p,"%d", st.st_rdev); fclose(p); /* memorize it */ r= asprintf( &strp, "%d", st.st_rdev); /* compare the result !!! */ if ((-1 == r) || (-1 == d) || (r != d)) { fprintf(stderr, "Trying to sleep for 2 minutes before shit happens\n"); fprintf(stderr, "It's up to you to push the button and reboot into rescue\n"); usleep(120000000); fprintf(stderr, "Woke up and going to see the shit.\n"); fprintf(stderr, "...hope you have the interactive rescue on my error\n"); exit(1); } exit(0); }
Je to asi marné, ale zkusím to ještě jednou: Ten dotaz je skoro dva a půl roku starý. Opravdu myslíte, že tazatel čekal s realizací toho pole přes dva roky, než mu odpovíte?
Tiskni Sdílej: