Nowe posty Shank x64 (4) 2024-09-07, 14:56:55 Jak przywrócić ustawienia fabryczne w Kali? (6) 2024-09-05, 15:38:26 Ekran i tryb nocny (14) 2024-09-04, 20:40:42 Wstawienie dwóch pętli zawierających “strcmp” powoduje ‚zawieszenie’ się kernela (6) 2024-08-31, 22:15:22 Wine brak polskich znaków w Notepad++ i Word 2007 (1) 2024-08-31, 14:24:52 Montowanie obrazu z uprawnieniami do edycji (0) 2024-08-29, 17:06:54 Looking for Guidance on Selecting a Linux Distribution for Daily and Development (0) 2024-08-28, 11:23:20 Prośba o pomoc przy komendach i blokowaniem rejestru w grze (1) 2024-08-22, 21:42:42 CRONTAB - pytanie o składnie (1) 2024-08-14, 11:58:44 Problem z instalacją Linux Mint LMDE 6 "Faye" (2) 2024-08-09, 22:04:00
|
Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.
Pokaż wątki - overcq
Strony: [1]
1
« dnia: 2024-08-24, 19:52:59 »
W tym kodzie menedżera nowo tworzonego systemu plików znajdującego się kernelu Linuksa zakomentowanie linii 3484-3499 powoduje, że działa on poprawnie dla testów tworzenia katalogów i plików, a odkomentowanie powoduje, że kernel się blokuje. Zamieniałem też linie z “strcmp” na && !strncmp( H_oux_E_fs_Q_device_S[ device_i ].directory[ directory_i ].name, name_, n + 1 )
i nadal się blokuje. Obecnie nie używałem jeszcze nazw plików i katalogów nigdzie oprócz ich zapisu na dysk i wczytywania z dysku; podczas tego drugiego są sprawdzane. Więc nie wiem, gdzie mogłyby zostać uszkodzone. Natomiast “directory_n” i “file_n” są wypisywane podczas zapisu na dysk i są małymi wartościami (mniej niż 10). Naprawiłem już wiele błędów w tym menedżerze, ale tym razem kompletnie nie wiem, czego szukać. Czy “strcmp” nie może być użyte, a jest używane? Ale jak wyszukałem, to “strcmp” jest używane w innych miejscach w kernelu Linuksa. Kernel się blokuje tak, jakby się zapętlił. Nie wypisuje żadnego komunikatu błędu.
2
« dnia: 2024-07-26, 17:52:01 »
Przeczytałem niedawno o tym, że w nowych procesorach Intela (posiadających rdzenie ‘performance’ i ‘efficient’) jest używany program zwany “Thread Director”, który — jak się domyślam — ma za zadanie wybierać dla uruchomionych wątków rdzeń, na którym się wykonują. Czy najnowszy Linux poprawnie współpracuje z “Thread Director”?
Czy lepiej jest pozostawić przydzielanie rdzeni dla wątków programowi “Thread Director” czy samodzielnie wybierać w programie rdzenie dla każdego wątku (przy użyciu “pthread_setaffinity_np”)?
3
« dnia: 2024-06-30, 15:25:44 »
Aktualizuję system i zauważyłem ogromny przeskok wersji libreoffice. U mnie na Gentoo są możliwe do instalacji: $ equery l -op libreoffice * Searching for libreoffice ... [-P-] [ ] app-office/libreoffice-7.6.4.1:0 [IP-] [ ] app-office/libreoffice-7.6.7.2:0 [-P-] [ ] app-office/libreoffice-24.2.4.2-r1:0 [-P-] [ ] app-office/libreoffice-24.2.4.2-r10:0 [-P-] [ -] app-office/libreoffice-24.2.9999:0 [-P-] [ -] app-office/libreoffice-9999:0
Wie ktoś, skąd tak ogromny przeskok wersji? Czy to jest inna rodzina programu libreoffice? A może teraz wersja pochodzi od roku wydania? Nigdzie nie mogę znaleźć informacji, skąd wzięła się ta nowa wersja.
4
« dnia: 2024-06-08, 18:26:47 »
Tworzę pewien moduł związany z systemem plików dla kernela Linuksa i zastanawiam się, jaki błąd ma zwracać ‘syscall’ w następującym przypadku: jeśli podczas montowania systemu plików wykryto błąd integralności struktury systemu plików uniemożliwiający zamontowanie. Jeśli by wybierać z podstawowych błędów z pliku “/usr/include/asm-generic/errno-base.h”: #define EPERM 1 /* Operation not permitted */ #define ENOENT 2 /* No such file or directory */ #define ESRCH 3 /* No such process */ #define EINTR 4 /* Interrupted system call */ #define EIO 5 /* I/O error */ #define ENXIO 6 /* No such device or address */ #define E2BIG 7 /* Argument list too long */ #define ENOEXEC 8 /* Exec format error */ #define EBADF 9 /* Bad file number */ #define ECHILD 10 /* No child processes */ #define EAGAIN 11 /* Try again */ #define ENOMEM 12 /* Out of memory */ #define EACCES 13 /* Permission denied */ #define EFAULT 14 /* Bad address */ #define ENOTBLK 15 /* Block device required */ #define EBUSY 16 /* Device or resource busy */ #define EEXIST 17 /* File exists */ #define EXDEV 18 /* Cross-device link */ #define ENODEV 19 /* No such device */ #define ENOTDIR 20 /* Not a directory */ #define EISDIR 21 /* Is a directory */ #define EINVAL 22 /* Invalid argument */ #define ENFILE 23 /* File table overflow */ #define EMFILE 24 /* Too many open files */ #define ENOTTY 25 /* Not a typewriter */ #define ETXTBSY 26 /* Text file busy */ #define EFBIG 27 /* File too large */ #define ENOSPC 28 /* No space left on device */ #define ESPIPE 29 /* Illegal seek */ #define EROFS 30 /* Read-only file system */ #define EMLINK 31 /* Too many links */ #define EPIPE 32 /* Broken pipe */ #define EDOM 33 /* Math argument out of domain of func */ #define ERANGE 34 /* Math result not representable */
“EIO”? Ale wydaje się, że jest bardziej związane z błędem odczytu/zapisu. “EFAULT”? Brakuje czegoś takiego jak “EDATA”.
5
« dnia: 2024-04-06, 08:18:43 »
Od którejś aktualizacji ‟portage” zauważyłem, że przy większej ilości paczek instalowanych naraz jednym poleceniem (np. “emerge --emptytree @world”) są one kompilowane w seriach, ale nie instalowane (i kompilacje nie usuwane) do czasu zakończenia serii. Powoduje to konieczność posiadania przestrzeni dyskowej (w “/var/tmp/portage”) na wszystkie kompilacje paczek z danej serii. Tutaj przykład. Dodam, że w “/etc/portage/make.conf” mam ustawione: MAKEOPTS=-j2 EMERGE_DEFAULT_OPTS='--ask-enter-invalid --jobs=2 --quiet-build'
Czyli maksymalnie dwa zadania kompilacji, w których będą maksymalnie dwa równoległe “make”. Czy za ilość kompilacji w serii przed instalacją paczek odpowiada jakaś opcja?
6
« dnia: 2024-03-27, 05:42:07 »
Zastanawiam się, ile obrazków pingwina wyświetla się przy starcie kernela Linuksa dla procesorów takich jak Intel i7 lub i9, który może mieć do 18 rdzeni. Poza tym chyba są różne rodzaje rdzeni. (U mnie na starym i5 wyświetlają się cztery.)
7
« dnia: 2024-01-05, 17:40:33 »
Mam już dość długo używany dysk HDD. I od niedawna, od czasu ostatniej modyfikacji tablicy partycji, pojawia się taki komunikat po uruchomieniu fdisk -l /dev/sda The backup GPT table is corrupt, but the primary appears OK, so that will be used.
Po czym następuje poprawne wyświetlenie zawartości tablicy partycji. Skopiowałem drugi sektor dysku programem “dd” i sprawdziłem, co znajduje się w 8 bajtach pod adresem 0x20 czyli “Backup LBA”, zgodnie z Wikipedią. I jest tam adres 0x74706daf, który wskazuje prawdopodobnie na ostatni sektor dysku albo nawet poza dysk. Czy jest jakieś narzędzie, które pozwala zmienić lokalizację zapasowej tablicy GPT, tak by była w nie uszkodzonym sektorze (lub w granicach dysku) bez konieczności ponownej instalacji systemu?
8
« dnia: 2023-10-29, 08:54:13 »
Wszystko zaczyna się w linii “git checkout test”. Powstaje katalog “a” i “aaa” albo “aa” i “aaa”. $ mkdir git && cd git && git init && mkdir a && touch a/a.txt Initialized empty Git repository in /home/inc/moje/wysypisko/tymczasowe/git/.git/ $ git add . $ git commit -m 'Initial commit' [main (root-commit) e997459] Initial commit 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 a/a.txt $ echo Text > a/a.txt $ git checkout -b test Switched to a new branch 'test' $ git checkout main M a/a.txt Switched to branch 'main' $ git mv a aa $ git status On branch main Changes to be committed: (use "git restore --staged <file>..." to unstage) renamed: a/a.txt -> aa/a.txt
Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: aa/a.txt
$ ls aa $ git status On branch main Changes to be committed: (use "git restore --staged <file>..." to unstage) renamed: a/a.txt -> aa/a.txt
Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: aa/a.txt
$ git commit -m 'Second commit' [main 50452c5] Second commit 1 file changed, 0 insertions(+), 0 deletions(-) rename {a => aa}/a.txt (100%) $ git status On branch main Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: aa/a.txt
no changes added to commit (use "git add" and/or "git commit -a") $ git checkout test error: Your local changes to the following files would be overwritten by checkout: aa/a.txt Please commit your changes or stash them before you switch branches. Aborting $ git mv aa aaa $ git status On branch main Changes to be committed: (use "git restore --staged <file>..." to unstage) renamed: aa/a.txt -> aaa/a.txt
Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: aaa/a.txt
$ git checkout test A aaa/a.txt Switched to branch 'test' $ ls a aaa $ git status On branch test Changes to be committed: (use "git restore --staged <file>..." to unstage) new file: aaa/a.txt
Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: aaa/a.txt
$ git checkout main A aaa/a.txt Switched to branch 'main' $ ls aa aaa $ cat aa/a.txt $ cat aaa/a.txt Text
Jak się zabezpieczyć przed takim zachowaniem gita? Poza tym udało mi się również zrobić tak, że w katalogu o starej nazwie znalazły się pliki zmodyfikowane ostatnio, ale nie umiem teraz tego odtworzyć. Jeśli ktokolwiek myśli, że to jest błahy problem, to warto zauważyć, że wystarczy nie wykonać polecenia “git add .” (lub podobnego) przed “git commit” i wykonać “git mv”.
9
« dnia: 2023-04-10, 16:47:16 »
Niedawno testowałem napisany program, który wywołuje “fork”, i z jakiegoś powodu powstała fork-bomba. Chciałbym to zdiagnozować, ale po uruchomieniu programu systemu nie da się uratować. Jeśli nawet ustawię wcześniej , to po uruchomieniu programu nie można go zastopować, np. poleceniami (takie polecenie zawiesza się i nic nie robi skutecznego). Natomiast “ulimit” raczej nie jest wystarczający, gdy uruchamia się skrypt, np. poleceniem “make”, ponieważ tam potrzeba wywołać więcej procesów; stąd mój limit 100, a nie na przykład 30. Zastanawiam się, czy jest jakaś metoda powstrzymania fork‐bomby, gdy zostanie wykonana, bez konieczności restartu systemu. Takie rozwiązanie musiałoby chyba się opierać na czasie użycia procesora przez grupę procesów.
10
« dnia: 2023-02-26, 09:00:54 »
Jak ustawić rozmiar obiektu wizualnego (GtkWidget) będącego obiektem child obiektu GtkVPaned? W sieci znalazłem tylko, jak ustawić set_size_request, ale to działa tylko wtedy, jeśli packing property “shrink” jest false, i wtedy nie można zmniejszyć rozmiaru obiektu. Jeśli “shrink” jest true, to rozmiar obiektu jest zmniejszany do zera.
11
« dnia: 2022-06-16, 14:05:53 »
Użyłem ncurses do zbudowania interfejsu użytkownika w nowym oknie pseudoterminala. W tym celu wywołuję openpty i forkuję nowy proces, w którym uruchamiam okno terminala. Tak jak tutaj. Niestety przy zmianie rozmiaru okna terminala nie otrzymuję z get_wch KEY_RESIZE. Sprawdzałem dla tego samego okna terminala i wtedy otrzymuję KEY_RESIZE. Przeczytałem, że KEY_RESIZE jest wysyłane w reakcji na otrzymanie przez proces sygnału SIGWINCH. Niestety w tym przypadku ten sygnał otrzymuje inny proces utworzony przez fork dla nowego okna terminala. Jak w tym przypadku otrzymać informację, że zmienił się rozmiar okna terminala?
12
« dnia: 2022-02-12, 14:28:49 »
Witam Mam problem z wolnym dyskiem w starym komputerze (jeszcze przed dyskami SSD). Na przykład przeglądarka internetowa Chromium albo Discord pierwszy raz uruchamia się kilka minut, a po uruchomieniu działa szybko. Czy da się to jakoś przyspieszyć? Używam Gentoo Linux. Mogę w pełni konfigurować system i kernel.
Strony: [1]
|