Napisał: Patryk Krawaczyński
25/04/2024 w Administracja
W
procesie budowy obrazów kontenerów wykorzystywanych do uruchamiania aplikacji lub serwerów najbardziej czasochłonną częścią jest instalacja zależności w postaci paczek systemowych. Proces ten jest z reguły powolny, ponieważ menedżery pakietów są stworzone w taki sposób, aby przedkładać stabilność instalacji nad jej wydajnością. I to ma sens: jeśli podczas instalacji wydarzy się niezapowiedziana awaria zasilania lub zawieszenie procesu, system musi pozostać w stanie nadającym się do użytku. Jednak w przypadku budowania obrazów kontenerów stabilność nie stanowi priorytetu. Jeśli proces instalacji pakietów lub kompilacji źródeł się nie powiedzie – system budujący obraz go odrzuci, zakończy proces błędem i będziemy musieli zacząć od nowa. Dlatego gdybyśmy mogli zasugerować menedżerowi pakietów, że nie przejmujemy się zbytnio integralnością danych, moglibyśmy przyspieszyć nasze kompilacje.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
29/09/2019 w CmdLineFu, Debug
0. Utworzenie pliku:
touch .findmehere
1. Lokalizacja obiektu w systemie plików:
ls -i .findmehere
15466911 .findmehere
2. Zakodowanie wiadomości:
while read -n1 char; do printf "%d " \'$char; done
C67 T84 F70 .46 f102 l108 a97 g103
3. Umieszczenie wiadomości w pliku:
sudo debugfs -w -R 'set_inode_field /home/ctf/.findmehere \
version 6784704610210897103' /dev/sda2
4. Sprawdzenie zapisu wiadomości:
sudo debugfs -R 'stat <15466911>' /dev/sda2
Inode: 15466911 Type: regular Mode: 0640 Flags: 0x80000
Generation: 1555060808 Version: 0x5e281ce5:65935ccf
User: 0 Group: 0 Project: 0 Size: 0
File ACL: 0
Links: 1 Blockcount: 0
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x5d8faaf2:5d64fd54 -- Sat Sep 28 20:48:18 2019
atime: 0x5d8faaf2:5d64fd54 -- Sat Sep 28 20:48:18 2019
mtime: 0x5d8faaf2:5d64fd54 -- Sat Sep 28 20:48:18 2019
crtime: 0x5d8faaf2:5d64fd54 -- Sat Sep 28 20:48:18 2019
Size of extra inode fields: 32
EXTENTS:
5. Weryfikacja wiadomości:
printf "%d\n" 0x5e281ce565935ccf
6784704610210897103
for i in `echo 67 84 70 46 102 108 97 103`; do echo -ne \\x$(printf %02x $i); done
CTF.flag
Więcej informacji: Ext4 Disk Layout, Czas utworzenia pliku w Linuksie
Napisał: Patryk Krawaczyński
23/10/2017 w Administracja
J
edną z kluczowych spraw przy zarządzaniu danymi jest możliwość monitorowania ich stanu. Zazwyczaj oznacza to monitorowanie ich metadanych. Na szczęście standard POSIX daje nam taką możliwość za pomocą:
- właścicielstwa pliku (identyfikator użytkownika i grupy),
- uprawnienia do pliku (wszyscy, grupa, użytkownik),
- czasów pliku ( atime, ctime, mtime),
- rozmiaru pliku,
- nazwy pliku,
- prawdą: czy obiekt jest plikiem, czy katalogiem?
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
17/11/2016 w Debug
J
ak sprawdzić czas utworzenia pliku w systemie plików ext2/ext3/ext4? Na początku należy za pomocą stat pobrać numer i-node pliku, a następnie posłużyć się debugfs, aby wyświetlić jego szczegóły na danym urządzeniu:
root@darkstar:~# stat -c %i plik
131124
root@darkstar:~# debugfs -R 'stat <131124>' /dev/sda2
Inode: 131124 Type: regular Mode: 0755 Flags: 0x80000
Generation: 2191072338 Version: 0x00000000:00000001
User: 0 Group: 0 Size: 8988
File ACL: 0 Directory ACL: 0
Links: 1 Blockcount: 24
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x57ae0ac4:22d8c824 -- Fri Aug 12 19:43:32 2016
atime: 0x57ae0abf:1c2bc7bc -- Fri Aug 12 19:43:27 2016
mtime: 0x57ae0abf:1c2bc7bc -- Fri Aug 12 19:43:27 2016
crtime: 0x57ae0abf:1c2bc7bc -- Fri Aug 12 19:43:27 2016
Size of extra inode fields: 32
EXTENTS:
(0-2):557400-557402
Więcej informacji: Birth is empty on ext4
Napisał: Patryk Krawaczyński
02/10/2015 w Administracja, Debug
O
statnio podczas testów linków 10G zauważyłem ciekawą zależność. Testując różne wersje jądra w systemie Ubuntu 12.04 ze względu na różne problemy z obsługą systemu plików ext4 na świat wyszedł inny błąd powiązany z sterownikiem sieciowym. Dla wersji jądra: Linux darkstar 3.13.0-32-generic #57~precise1-Ubuntu SMP test linków za pomocą iperf prezentuje się następująco:
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
16/05/2011 w Administracja
P
o przeniesieniu danych z komputera typu laptop na przenośny dysk, który był do niego podłączony przyszła kolej na usunięcie partycji, w celu instalacji innego typu systemu niż dotychczas znajdował się na laptopie. W tym celu laptop został uruchomiony z botowalnej płyty DVD; uruchomiony został program fdisk; nastąpiło usunięcie partycji; zapisanie aktualnego stanu na dysku i restart komputera. Niestety podczas wykonywania tego typu czynności, których dokładność była dyktowana bardzo małą ilością czasu okazało się, że została usunięta partycja dysku przenośnego, który cały czas był podpięty do laptopa. Oprócz danych z laptopa znajdowały się na nim różne inne ważne informacje…
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
19/12/2009 w Administracja
Q
uota jest pakietem, który definiuje limity wykorzystania przestrzeni na dysku. Podstawową ideą quoty jest to, że użytkownicy naszego systemu zmuszeni są do ograniczenia swoich zasobów i, co za tym idzie odebranie im ich zdolności do zabierania nieskończonej ilości pamięci dyskowej. Według naszego uznania możemy nałożyć ograniczenia na poszczególnych użytkowników czy wybrane grupy systemowe. Ograniczenia możemy nakładać na dwa sposoby: ilość i-węzłów (czyli plików) jaką może zapisać użytkownik oraz ilość bloków (w kilobajtach) jaką może zapisać użytkownik. Narzucenie takich limitów daje nam komfort przed obawą, że jeden z użytkowników wykorzysta całe dostępne miejsce na partycji, gdzie znajdują się także konta innych użytkowników, co czasami może nawet doprowadzić do błędów podczas ich logowania.
[ czytaj całość… ]
Ostatni komentarz :