Linux-haladó

Ket monitor kozotti kereteket aranyosan...

Fórumok

Hello,

Extend mod a monitoroknal...

lenne egy olyan kerdesem, hogy ha van 2 egymas mellett levo monitorom es futtatok egy progi ablakot mindketton (azaz kozepre huzom  -  fele az egyik monitoron van, fele  a masikon) , ezesetben a ket monitor kozotti keretet nem veszi figyelembe. (mintha 0 pixel lenne kozottuk). EN pont azt akarom, hogy aranyosan lassam az ablakot, azaz az ablak kozepso reszet kitakarja a "keret".

 

Van erre mod sima Linuxnal? A kerdes a Windowsra is igaz. Ha lehetseges es elrendezem az ablakokat, hogyan mondjam meg nekik a keret szelesseget?

 

kosz

Traefik két TCP port, egy domain. Lehet ezt másképp?

Fórumok

Sziasztok!

 

Jelenleg igy nez ki az MQTT brokerem configja:

 

              #webui
              - "traefik.enable=true"
              - "traefik.http.routers.emqx-rohu.entrypoints=websecure"
              - "traefik.http.routers.emqx-rohu.tls=true"
              - "traefik.http.routers.emqx-rohu.rule=Host(`emqx-rohu.server.com`)"
              - "traefik.http.services.emqx-rohu.loadbalancer.server.port=18083"
              #mqtt
              - "traefik.tcp.routers.emqx-mqtt_unencrypted.service=emqx-mqtt_unencrypted"
              - "traefik.tcp.routers.emqx-mqtt_unencrypted.entrypoints=mqtt"
              - "traefik.tcp.routers.emqx-mqtt_unencrypted.rule=HostSNI(`*`)"
              - "traefik.tcp.services.emqx-mqtt_unencrypted.loadbalancer.server.port=1883"
              #mqtt-ssl
              - "traefik.tcp.routers.emqx-mqtt.service=emqx-mqtt"
              - "traefik.tcp.routers.emqx-mqtt.entrypoints=mqtt-ssl"
              - "traefik.tcp.routers.emqx-mqtt.tls=true"
              - "traefik.tcp.routers.emqx-mqtt.tls.passthrough=true"
              - "traefik.tcp.routers.emqx-mqtt.rule=HostSNI(`emqx-rohu.server.com`)"
              - "traefik.tcp.services.emqx-mqtt.loadbalancer.server.port=8883"   

 

Amit szeretnek, hogy az unencrypted port is csak egy domain-en lehessen elerheto, ne az osszesen. (mint a titkositott) ha viszont ida beirom ugyanazt a domain-t vagy egy masikat akkor hibat dob. A doku szerint TLS nelkuli tcp-vel ezt nem lehet megcsinalni mert nincsenek meg (nyilvan) azok az informaciok, amik kellenenek es http eseten megvannak. Maskepp esetleg meg lehetne ezt oldani?

VLC ablakok kulonbozo monitorokra

Fórumok

Sracok, van arra lehetoseg, hogy egy nyitott OpenVLC videolejatszo ablakot fullscreen-ben kitegyunk/kenyszeritsunk egy valasztott DISPLAY-re? 

Van tobb monitorom, a futo videonak egy kivalasztotton kell lennie/indulnia....

kosz,

(nem Linux-os tema, de a kerdes ugyanez Windows-on is...valami appal vagy powershell scripttel, azaz nem manualisan)

Alpine 3.21.0 - (r)shared mount elerheto!

Fórumok

Sziasztok!

 

Most hogy végre bekerult a OpenRC >= 0.55 az Alpine-ba, végre lehetséges egy mount pointot FStab-al (r)shared-re allitani. Mivel en Az Alpinet Docker Node-nak hasznalom, ezert ez szamomra reg vart feature.

 

Viszont , nem teljesen ertem a dolgot... 

Alapvetoen csak egy konyvtarat szeretnek rshared-re allitani, amit Docker volume-oknak hasznalok (/mnt/storage)

 

Probaltam ezt az egy konyvtarat ujra mountoltatni, de sajna nem veszi fel az rshared option-t. Ha a teljes gyoker particiot rshared-e teszem, akkor nincs gond, ugy mukodik, illetve ha manualisan futtatom a mount --make-rshared /mnt/storage  -t akkor is mukodik.

 

Lehet valahogy ezt fstab-al automatizani? (scriptet nem akarok futtatni boot kozben!)

awx install debian 12.x alatt

Fórumok

Sziasztok,

a https://salfarisi25.wordpress.com/2024/04/19/installing-awx-on-ubuntu/

szerint VM-ben debian 12.8 alatt root-kent awx-et szeretnek installalni.

Azonban: git clone https://github.com/ansible/awx.git

utan nincs installer konyvtar awx konyvtarban.

Ha viszont: git clone -b 17.0.1 https://github.com/ansible/awx.git

parancsot hasznalok, akkor hiba fogad :

 

ansible-playbook -i inventory install.yml

parancs futtatasa utan :

TASK [local_docker : Create Preload data] ******************************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "cmd": ["docker", "exec", "awx_task", "bash", "-c", "/usr/bin/awx-manage create_preload_data"], "delta": "0:00:17.138658", "end": "2024-12-06 13:53:04.494173", "msg": "non-zero return code", "rc": 1, "start": "2024-12-06 13:52:47.355515", "stderr": "Traceback (most recent call last):\n  File \"/usr/bin/awx-manage\", line 8, in <module>\n    sys.exit(manage())\n  File \"/var/lib/awx/venv/awx/lib/python3.6/site-packages/awx/__init__.py\", line 154, in manage\n    execute_from_command_line(sys.argv)\n  File \"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/core/management/__init__.py\", line 381, in execute_from_command_line\n    utility.execute()\n  File \"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/core/management/__init__.py\", line 375, in execute\n    self.fetch_command(subcommand).run_from_argv(self.argv)\n  File \"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/core/management/base.py\", line 323, in run_from_argv\n    self.execute(*args, **cmd_options)\n  File \"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/core/management/base.py\", line 364, in execute\n    output = self.handle(*args, **options)\n  File \"/var/lib/awx/venv/awx/lib/python3.6/site-packages/awx/main/management/commands/create_preload_data.py\", line 41, in handle\n    'username': superuser.username\nAttributeError: 'NoneType' object has no attribute 'username'", "stderr_lines": ["Traceback (most recent call last):", "  File \"/usr/bin/awx-manage\", line 8, in <module>", "    sys.exit(manage())", "  File \"/var/lib/awx/venv/awx/lib/python3.6/site-packages/awx/__init__.py\", line 154, in manage", "    execute_from_command_line(sys.argv)", "  File \"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/core/management/__init__.py\", line 381, in execute_from_command_line", "    utility.execute()", "  File \"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/core/management/__init__.py\", line 375, in execute", "    self.fetch_command(subcommand).run_from_argv(self.argv)", "  File \"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/core/management/base.py\", line 323, in run_from_argv", "    self.execute(*args, **cmd_options)", "  File \"/var/lib/awx/venv/awx/lib/python3.6/site-packages/django/core/management/base.py\", line 364, in execute", "    output = self.handle(*args, **options)", "  File \"/var/lib/awx/venv/awx/lib/python3.6/site-packages/awx/main/management/commands/create_preload_data.py\", line 41, in handle", "    'username': superuser.username", "AttributeError: 'NoneType' object has no attribute 'username'"], "stdout": "", "stdout_lines": []}

 

es leall.

Lehet egyaltalan meeg ezt a verziot felrakni?

Koszonom a tippeket.

Ardi

HDD pool/tömb gyorsítása dm-cache, zfs, egyéb megoldások

Fórumok

Sziasztok!

Nálam jóval tapasztaltabb ZFS szakértők vannak a fórumtársak között, meg sokan láttunk sokfélét, így szeretnék tippeket/ötleteket gyűjteni a témában.

A példa kedvéért adott egy KKV virtualizáció, mondjuk 10db 2TB-os HDD-vel (tételezzük fel h. enterprise NL-SAS, a diszkek alapvető problémáit most hagyjuk ki). A diszkek egy olyan szerverben vannak amiben van jó RAID kontroller, de ha ZFS irányba mennénk akkor ez természetesen cserélődne egy HBA-ra.

Tehát, az alapprobléma: minden szép és jó, virtualizáció megy a vason, de van néhány VM aminek ugyan kisebb a mérete, de nagyobb az IO igénye, jellemzően peak szerűen, ha pedig nem peak szerűen, akkor prod időben, de kis adatmennyiségen. Az egyszerűség kedvéért hívjuk ezeket a vmeket DB szervernek (pl. postgres, mariadb, akármi, de kezelhető, 10-20-30G méretig bezárólag). Ezen felül van mondjuk szintén pár VM ami viszont bazi nagy, vagy épp nem is io igényes (appszerver, fájlszerver, stb.), hívjuk ezeket FS szervernek.

Nagyon alap megoldás h. a HDD-k mellé veszek mondjuk 2 2TB-os SSD-t, berakom egy raid1-be, átrakom rá az IO igényes(ebb) VMeket és örülök.

De mi van akkor, ha én olyat szeretnék, ami ennél egy picit szofisztikáltabb/egységesebb és az összes diszkemet egy logikai egységben kezeli. Tehát ezen a ponton lenne mondjuk 2db 2TB-os Enterprise SSD, meg 10db 2TB-os NL-SAS HDD.

És akkor itt jön a dilemma, melyik az az irány amivel fel lehet turbózni a HDD-k sebességét úgy, hogy ezt az fs/kötetkezelő megoldja a VM-ek alatt? 

Jelenleg két opciót látok:

- dm-cache (LVM)
- L2ARC, ZIL, SLOG (zfs)

Igenám, de nincs a topicban ilyen mély tapasztalatom, Enterprise storage tud ilyet, azt használtam és jól működik (egy poolon belül több tier, meg cache raid stb.). Így az lenne a kérdésem, hogy ezen a szoftveres vonalon ki mit látott már működni jól, van-e olyan amivel érdemes próbálkozni, vagy egyszerűen engedjem el és válasszam szét az adattárolókat és a rajta futó cuccokat, ne akarjak egységes adattárolást alá?

Köszi!

Semaphore UI - API hívással Task indítás, változókkal

Fórumok

Szóval a címben a lényeg. Adott egy JSON ban erkezo adat, ami triggerelne egy API hivast, viszont az adat, ami erkezik, azt at kene adni a playbookban dekralalt valtozonak... UI-n ez egyszeru, mert Survey variables el at tudom adni "on the fly", de akarhogy bujum az API dokut, nem talalom, hogy lehet ezt megtenni REST-en keresztul...

https://semaphoreui.com/api-docs/

Szoval, ha valaki hasznalja, kisegithetne :)

blokkeszköz emulálása úgy, hogy menjen a HDIO_GET_IDENTITY ioctl

Fórumok

Van egy 32 bites alkalmazás amit szeretnék szóra bírni egy modern rendszeren.

Eredetileg egy VirtualBox image-ben egy yocto alapú disztró amit nem tudok bootolni.

Ezt a rootfst-t lementettem, bechrootoltam rá.

Segmentation faulttal áll meg, de strace barátunk segített:

open("/dev/sda", O_RDONLY|O_NONBLOCK)   = -1 ENOENT (Nincs ilyen fájl vagy könyvtár)
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=NULL} ---
+++ killed by SIGSEGV (core dumped) +++
Szegmentálási hiba (core készült)

Próbáltam alátenni egy USB pendrive-ot de azon nem megy a HDIO_GET_IDENTITY ioctl:

open("/dev/sda", O_RDONLY|O_NONBLOCK)   = 3
ioctl(3, HDIO_GET_IDENTITY, 0x80c4660)  = -1 EINVAL (Érvénytelen argumentum)
close(3)                                = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=NULL} ---
+++ killed by SIGSEGV (core dumped) +++
Szegmentálási hiba (core készült)

Van esetleg valami módszer arra, hogy specifikus ioctl-eket "eltérítsek", esetlegesen létezik valamilyen blokkeszköz emulátor amivel be tudnám csapni a programot?

Ezeket a repokat ki tartja karban?

Fórumok

OpenSuse alatt eloszeretettel hasznalom az alabbi repokat:

 

https://download.opensuse.org/repositories/

 

En erre ugy tekintek, mint "hivatalos" Opensuse Repok... pl Ansible-t 15.6 ala innen rakok:

 

https://download.opensuse.org/repositories/systemsmanagement:/ansible/1…

 

Viszont itt a 15.6 "main" repohoz kepest eleg eltero a  verzio... (nyilvan ujabb) szoval ezek community repok? (azok elv a "home" alatt vannak, azokat nem hasznalom) Vagy ki az aki karban tartja oket?