Nowe posty

Pokaż wiadomości

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
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?

2
Inne / Ile pingwinów?
« 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.)

3
Inne / Jak zmienić lokalizację zapasowej tablicy GPT?
« 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?

4
Inne / ‚Ro­zdwoje­nie’ ka­talo­gu przy uży­ciu git
« 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”.

5
Konfiguracja / Uniemożliwienie wykonania fork‐bomby
« 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
ulimit -Su 100
, to po uruchomieniu programu nie można go zastopować, np. poleceniami
pkill -9 -x nazwa
(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.

6
C/C++ - GNOME/Gtk / Ustawianie rozmiaru obiektu GtkWidget
« 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.

7
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?

8
Konfiguracja / Wolne uruchamianie niektórych programów - dysk
« 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]