V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.
Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.
FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.
K dispozici je nový CLI nástroj witr sloužící k analýze běžících procesů. Název je zkratkou slov why-is-this-running, 'proč tohle běží'. Klade si za cíl v 'jediném, lidsky čitelném, výstupu vysvětlit odkud daný spuštěný proces pochází, jak byl spuštěn a jaký řetězec systémů je zodpovědný za to, že tento proces právě teď běží'. Witr je napsán v jazyce Go.
Yazi je správce souborů běžící v terminálu. Napsán je v programovacím jazyce Rust. Podporuje asynchronní I/O operace. Vydán byl v nové verzi 25.12.29. Instalovat jej lze také ze Snapcraftu.
Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.
Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.
XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).
Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.
Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.
Anyway, the key to finding an older, high-end server chassis, is the power supplies MUST have 3.3 volt outputs. Most older pre-ATX power supplies were 5 and 12vdc only. This chassis puts out 75 amps of current at 3.3 volts, 80 amps at 5 volts and 55 amps at 12 volts....more than enough, plus redundancy. The drive cages were fully populated with 2gb SCA SCSI drives. I removed the rails from all the SCSI drives, tossed the SCSI disks into the trash and mounted the rails on the big Hitachi's. The SCA backplanes on the cages came out with 4 screws exposing the back of the cages for the IDE power and data cables....Voila!!!
Nevim jak moc mala sit to je... Od toho spocitat velikost zabrane pameti procesy co obsluhuji pripojeni klientu.
No a po tom vsem vzit rychlost site / rychlost disku a vypadne z toho procento. To procento vzit z cele velikosti diskoveho pole a je to ta pamet, ktera ma zustat volna pro cache/buffery a nebudou ji zabirat uzivatelske procesy...
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-home
jinak 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);
}
. Jeste jednou, jde tady o obecne principy a zkusenosti pri stavbe velkeho diskoveho pole, nebral bych to jako mrtvou zalezitost a jeste jednou opakuji TATO INFORMACE MI (castecne) POMOHLA.
Pokud vam uz jde o cistotu abicka, co takhle http://www.abclinuxu.cz/hledani?dotaz=windows&advancedMode=true&typ=poradna&typ=diskuse
plati i pro zdejsi cenzory (Dolezel, Kratky), tohle vam panove nevadi, neni tam nejak moc windowsu na ciste linuxovy server?
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: