Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Michal Švarc

Stran: [1] 2 3 ... 5
1
Software / Re:Je šance na zápis ze tří vstupů zároveň?
« kdy: 07. 11. 2023, 04:31:50 »
děkuji za tipy

k vysvětlení keydef jsem našel https://unix.stackexchange.com/questions/546081/keydef-of-sort-man-page

zatím jsem skončil u
Kód: [Vybrat]
apt search php8.[1-3] | sort -k1.7 | tr -s "\n"
což je pro mé účely (porovnání verzí instalovaných a neinstalovaných knihoven php), dostačující

2
Software / Je šance na zápis ze tří vstupů zároveň?
« kdy: 07. 11. 2023, 02:28:29 »
Je jedno zda do souboru, nebo na výstup.

Rád bych výpisy těchto tří příkazů
Kód: [Vybrat]
apt search php8.3
apt search php8.2
apt search php8.1

setřídil tak, že se nevypíše první příkaz, druhý příkaz a třetí příkaz za sebou, ale vypíše se první řádek prvního, první řádek druhého, první řádek třetího, druhý řádek prvního, atd.

asi by šlo ty výstupy načíst ve scriptu do polí o číslech řádků a pak to vypsat cyklem, ale zajímalo by mě, jestli neexistuje lepší/snažší přístup

navíc, úplně nejlepší by bylo, seřadit to podle toho, co je za těmi šesti znaky ve výpisu (php8.x)

3
Vývoj / Re:Dokáže Bash spustit příkaz z proměnné?
« kdy: 21. 10. 2023, 17:54:44 »
Daj:
Kód: [Vybrat]
ps2=`echo $prikaz1|sh`
Děkuji.

Funguje to (ať už se závorkou nebo se zpětným apostrofem).

4
Vývoj / Re:Dokáže Bash spustit příkaz z proměnné?
« kdy: 12. 09. 2023, 15:14:26 »
Tady trochu vysvětlujou, proč to nefunguje: https://unix.stackexchange.com/a/506859
Tady je něco, co se tváří jako řešení, ale nezkoušel jsem: https://stackoverflow.com/questions/43752854/bash-pipe-character-in-variable-for-command-substitution

Každopádně pro googlení jsou důležitý výrazy "bash", "command substitution" a "pipe"
Díky za tipy.
Skrytí do funkce jsem zatím nezkoušel. protože důvod proč jsem to původně dával do proměnné, spočívá v tom, proměnnou složit na základě vstupů a posléze spustit

Pořád jsem v tom moc nepokročil, ale díky nastavení set -x na které se mi povedlo úplně zapomenout už vím, proč to vlastně vyhazuje chybu
Kód: [Vybrat]
prikaz1cast1="ps -Al U michal"
prikaz1cast2="grep vidsave"
prikaz1="$prikaz1cast1 | $prikaz1cast2"
echo ${prikaz1}
ps=$($prikaz1)                       # nefunkční
#ps=`$prikaz1`                       # kdo by to řekl?, chová se stejně jako předchozí
echo je v pohodě a vytiskne ps -Al U michal | grep vidsave
při pokusu o spuštění se to nicméně přeloží pro bash jako
ps -Al U michal '|' grep vidsave
což celkem pochopitelně skončí chybou
zkusil jsem jen tak, co to udělá přidat středníky...
Kód: [Vybrat]
prikaz1="$prikaz1cast1; | $prikaz1cast2;"
výsledkem pokusu o spuštění byl příkaz, dá li se tomu tak říci ps -Al U 'michal;' '|' grep 'vidsave;'

5
Vývoj / Re:Dokáže Bash spustit příkaz z proměnné?
« kdy: 12. 09. 2023, 05:50:10 »
Zkusil jsem si to přepsat ještě jednou:
Kód: [Vybrat]
prikaz1cast1="ps -Al U michal"
        prikaz1cast2="grep vidsave"
        prikaz1="$prikaz1cast1 | $prikaz1cast2"

        prikaz2cast1="ps -Al U michal"
        prikaz2cast2="grep yt-dlp"
        prikaz2="$prikaz2cast1 | $prikaz2cast2"
       
        echo -en " ${barvaTextBila}${prikaz1}${barvaTextZrusit}\n"
        #ps=$(ps -Al U michal | grep vidsave) # funkční
        ps=$($prikaz1cast1 | $prikaz1cast2)   # funkční
        #ps=$($prikaz1)                       # nefunkční
       
        ps+="\n\n"
        echo -en " ${barvaTextBila}${prikaz2}${barvaTextZrusit}\n"
        #ps+=$(ps -Al U michal | grep yt-dlp) # funkční
        ps=$($prikaz2cast1 | $prikaz2cast2)   # funkční
        #ps+=$($prikaz2)                      # nefunkční
        echo -en " ${barvaTextZluta}${ps}${barvaTextZrusit}"
Dle mého názoru vadí svislítko uložené do proměnné, jen by mě zajímalo proč vlastně a velmi pochybuji o tom, že by mi při hledání důvodu pomohlo něco jako ps --help

6
Vývoj / Re:Dokáže Bash spustit příkaz z proměnné?
« kdy: 11. 09. 2023, 11:40:27 »
vysledek=$($prikaz)

Třeba.  Možná by to chtělo si pročíst nějaký úvod do shell/bashe.
To nemohu popřít, ale zkoušel jsem to dříve, než jsem sem podal dotaz, a nefungovalo to tak. Pro mě překvapivě to po tvé odpovědi částečně jde. Aha já pitomec - v nějaké chvíli jsem začal kopírovat chybnou část kódu a pak se do toho tak zamotal, že jsem měl dojem že to nefunguje vůbec a nakonec se zeptal tady.
Přitom mi to ve skutečnosti nefunguje jen u příkazu, kde mám rouru
Kód: [Vybrat]
        prikaz1="ps -Al U michal | grep vidsave"
        prikaz2="ps -Al U michal | grep yt-dlp"
        echo -en " ${barvaTextBila}${prikaz1}${barvaTextZrusit}\n"
        ps=$($prikaz1)
        ps+="\n\n"
        echo -en " ${barvaTextBila}${prikaz2}${barvaTextZrusit}\n"
        ps+=$($prikaz2)
        echo -en " ${barvaTextZluta}${ps}${barvaTextZrusit}"
        ;;
má za výsledek
Kód: [Vybrat]
ps -Al U michal | grep vidsave
error: garbage option

Usage:
 ps [options]

 Try 'ps --help <simple|list|output|threads|misc|all>'
  or 'ps --help <s|l|o|t|m|a>'
 for additional help text.

For more details see ps(1).
 ps -Al U michal | grep yt-dlp
error: garbage option

Usage:
 ps [options]

 Try 'ps --help <simple|list|output|threads|misc|all>'
  or 'ps --help <s|l|o|t|m|a>'
 for additional help text.

For more details see ps(1).
Přitom příkaz samotný, jak spuštěný přímo v konzoli, tak ve scriptu ale neuložený do proměnné, tedy $(ps -Al U michal | grep vidsave) funguje správně.

7
Vývoj / Re:Dokáže Bash spustit příkaz z proměnné?
« kdy: 11. 09. 2023, 07:35:02 »
... Byl tohle pokus o odpověď na druhou z otázek a pravděpodobně by to bylo shůdné, za předpokladu že ...
Kód: [Vybrat]
prikaz="ps -C yt-dlp -o pid=,ppid=,cmd --sort=time"
${prikaz}
Aha a tohle je na tu druhou otázku mnohem lepší odpověď, díky.

Ještě by mě tedy zajímalo, jestli jde tohle nějak udělat tak, aby výstup z takového příkazu byl v proměnné

8
Vývoj / Re:Dokáže Bash spustit příkaz z proměnné?
« kdy: 10. 09. 2023, 14:48:18 »
https://letmegooglethat.com/?q=bash+eval+command+in+variable
pokud správně chápu to co je napsané o exec v https://blog.root.cz/knihy/bash-ocima-bohdana-milara/.
Byl tohle pokus o odpověď na druhou z otázek a pravděpodobně by to bylo shůdné, za předpokladu že
Kód: [Vybrat]
prikaz="ps -C yt-dlp -o pid=,ppid=,cmd --sort=time"
# později vykonat krz obsah z ${prikaz}
bude
Kód: [Vybrat]
exec ${prikaz}
na konci scriptu, a výpis (pokud by nějaký výpis byl), se převede někam jinam, než na terminál

9
Vývoj / Dokáže Bash spustit příkaz z proměnné?
« kdy: 10. 09. 2023, 12:41:50 »
Kód: [Vybrat]
case "${PrvniVstup}" in  # výraz '"-"[Ss]*)' funguje jak pro '-s' tak pro '-S ale i pro -SSSSSSSSSSsssss', a bez hvězdičky nefunguje vůbec  :-\
      "-ps1")
        prikaz1="ps -C vidsaveV10c -o pid=,args="
        prikaz2="ps -Al U michal | grep yt-dlp"
        echo -en " ${barvaTextBila}${prikaz1}${barvaTextZrusit}"
        ps=$(ps -Al U michal | grep vidsave)
        ps+="\n\n"
        echo -en " ${barvaTextBila}${prikaz2}${barvaTextZrusit}"
        ps+=$(ps -Al U michal | grep yt-dlp)
        ps=$( "$prikaz2" )
        echo -en " ${barvaTextZluta}${ps}${barvaTextZrusit}"
        ;;
      "-ps2")
        prikaz="ps -C yt-dlp -o pid=,ppid=,cmd --sort=time"
        echo -en " ${barvaTextBila}${prikaz}${barvaTextZrusit}"
        ps=$(ps -C yt-dlp -o pid=,ppid=,cmd --sort=time)
        echo -en " ${barvaTextZluta}${ps}${barvaTextZrusit}"
        ;;
      "-ps3")
        prikaz1="ps -C vidsaveV10c -o pid=,args="
        echo -en " ${barvaTextBila}${prikaz1}${barvaTextZrusit}"
        ps=$(ps -C vidsaveV10c -o pid=,args=)
        ps+="\n\n"
        ps+=$(ps -C yt-dlp -o pid=,args=)
        prikaz2="ps -C yt-dlp -o pid=,args="
        echo -en " ${barvaTextBila}${prikaz1}${barvaTextZrusit}"
        echo -en " ${barvaTextZluta}${ps}${barvaTextZrusit}"
        ;;
esac

Zajímalo by mě, jestli se za stejné funkčnosti mohu zbavit jistého opakování, tedy jestli by nešlo něco jako
Kód: [Vybrat]
"-ps2")
        prikaz="ps -C yt-dlp -o pid=,ppid=,cmd --sort=time"
        echo -en " ${barvaTextBila}${prikaz}${barvaTextZrusit}"
        ps=$( "${prikaz}" ) ##!! tohle zrovna nejde škoda
        echo -en " ${barvaTextZluta}${ps}${barvaTextZrusit}"
        ;;

a také by mě zajímalo, zda by takto nějak šel spustit příkaz, od kterého nepotřebuji nic uložit do další proměnné, tedy místo
Kód: [Vybrat]
ps -C yt-dlp -o pid=,ppid=,cmd --sort=time
# to samé ale uložené v proměnné, jako
prikaz="ps -C yt-dlp -o pid=,ppid=,cmd --sort=time"
# později vykonat krz obsah z ${prikaz}

10
Odkladiště / Re:Nelze vytvořit adresář s názvem con
« kdy: 04. 03. 2023, 22:47:22 »
Google dnes nefunguje? https://stackoverflow.com/questions/1976007/what-characters-are-forbidden-in-windows-and-linux-directory-names
Já brejle nerad a co se vyhledávačů týká, je těžké specifikovat vyhledávaný text, když vlastně nevím kde je problém ;)
Navíc, co je špatného na tom, napsat odpověď/otázku i sem?

A skúšal si vytvoriť z konzoly/terminálu (príkaz je mkdir PATH).
Na druhém řádku mého příspěvku je chyba od mkdir...

predpokladam ze Elements je oddil na USBDisk ve formatu NTFS kde "con" je zakazano protoze jde o jeden z nekolika vyhrazenych nazvu pro "device" ve Windows...
Elements je externí disk, na kterém jsem neměnil formátování, aby to bylo přenositelné mezi systémy. Vůbec mě nenapadlo, že by mohlo jít o ntfs ale koukám přez gparted, že jeto  vážně tak, díky za informaci. Jsem teď snad zase o něco chytřejší.

11
Odkladiště / Nelze vytvořit adresář s názvem con
« kdy: 04. 03. 2023, 20:30:19 »
Snažím se vytvořit adresář s názvem con.

mkdir: adresář „/run/media/michal/Elements/stáhnout/con“ nelze vytvořit: Nepřípustný argument

thunar: Nepodařilo se vytvořit adresář "con". Neplatný název souboru

soubory (z gnome3): Chyba při vytváření složky con. Při vytváření složky v /run/media/michal/Elements/stáhnout došlo k chybě. Neplatný název souboru.

Adresář s názvem co nebo conn bez problému projde... To je con nějaké klíčové slovo či co?

12
ok. mám za to, že tento plugin nepotřebuju: https://mariadb.com/kb/en/authentication-plugin-unix-socket/
zkusil jsem ho proto vypnout, pomocí zápisu
Kód: [Vybrat]
[mariadb]
unix_socket=OFF
do
Kód: [Vybrat]
/etc/mysql/mariadb.cnf
a restartu mariadb

v logu se to projevilo následovně:
Kód: [Vybrat]
2022-12-07 17:01:18 0 [Note] InnoDB: Using Linux native AIO
2022-12-07 17:01:18 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2022-12-07 17:01:18 0 [Note] InnoDB: Uses event mutexes
2022-12-07 17:01:18 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2022-12-07 17:01:18 0 [Note] InnoDB: Number of pools: 1
2022-12-07 17:01:18 0 [Note] InnoDB: Using SSE2 crc32 instructions
2022-12-07 17:01:18 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2022-12-07 17:01:18 0 [Note] InnoDB: Completed initialization of buffer pool
2022-12-07 17:01:18 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
2022-12-07 17:01:18 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
2022-12-07 17:01:18 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2022-12-07 17:01:18 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2022-12-07 17:01:18 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2022-12-07 17:01:18 0 [Note] InnoDB: Waiting for purge to start
2022-12-07 17:01:18 0 [Note] InnoDB: 10.3.37 started; log sequence number 1663315506278; transaction id 75501840
2022-12-07 17:01:18 0 [Note] Plugin 'FEEDBACK' is disabled.
2022-12-07 17:01:18 0 [Note] Plugin 'unix_socket' is disabled.
2022-12-07 17:01:18 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
2022-12-07 17:01:18 0 [Note] InnoDB: Buffer pool(s) load completed at 221207 17:01:18
2022-12-07 17:01:18 0 [Note] Server socket created on IP: '127.0.0.1'.
2022-12-07 17:01:18 0 [Note] Reading of all Master_info entries succeeded
2022-12-07 17:01:18 0 [Note] Added new Master_info '' to hash table
2022-12-07 17:01:18 0 [Note] /usr/sbin/mysqld: ready for connections.
Version: '10.3.37-MariaDB-0ubuntu0.20.04.1'  socket: '/run/mysqld/mysqld.sock'  port: 3306  Ubuntu 20.04

to se zdá ok, ale když zkusím zjistit stav mariadb, pomocí
Kód: [Vybrat]
systemctl status mysql
dostanu
Kód: [Vybrat]
root@akichan:/etc/mysql# systemctl status mysql
● mariadb.service - MariaDB 10.3.37 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2022-12-07 17:01:19 CET; 21s ago
       Docs: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
    Process: 230207 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
    Process: 230221 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 230227 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=0/SUCCESS)
    Process: 230311 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 230313 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
   Main PID: 230280 (mysqld)
     Status: "Taking your SQL requests now..."
      Tasks: 31 (limit: 4611)
     Memory: 133.3M
     CGroup: /system.slice/mariadb.service
             └─230280 /usr/sbin/mysqld

Dec 07 17:01:18 akichan.moe systemd[1]: Starting MariaDB 10.3.37 database server...
Dec 07 17:01:18 akichan.moe mysqld[230280]: 2022-12-07 17:01:18 0 [Note] /usr/sbin/mysqld (mysqld 10.3.37-MariaDB-0ubuntu0.20.04.1) starting as process 230280 ...
Dec 07 17:01:19 akichan.moe systemd[1]: Started MariaDB 10.3.37 database server.
Dec 07 17:01:19 akichan.moe /etc/mysql/debian-start[230315]: Upgrading MySQL tables if necessary.
Dec 07 17:01:19 akichan.moe /etc/mysql/debian-start[230318]: Looking for 'mysql' as: /usr/bin/mysql
Dec 07 17:01:19 akichan.moe /etc/mysql/debian-start[230318]: Reading datadir from the MariaDB server failed. Got the following error when executing the 'mysql' command line client
Dec 07 17:01:19 akichan.moe /etc/mysql/debian-start[230318]: ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded
Dec 07 17:01:19 akichan.moe /etc/mysql/debian-start[230318]: FATAL ERROR: Upgrade failed
Dec 07 17:01:19 akichan.moe debian-start[230327]: ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded
lze se těch chyb nějak zbavit i tam?

13
aha, zdá se že
Kód: [Vybrat]
SELECT user,authentication_string,plugin,host FROM mysql.user;
což v mém případě dává odpověď
Kód: [Vybrat]
root	unix_socket 	localhost
s authentication_string prázdným, takže asi nějak vypnout plugin
Kód: [Vybrat]
unix_socket
, nebo změnit na uživatele co má do db přístup (předtím i zkusím zjistit co za plugin to je)

14
Server / MariaDB: Access denied for user root
« kdy: 07. 12. 2022, 16:25:11 »
log databáze mariadb:
Kód: [Vybrat]
2022-12-07 14:42:56 0 [Note] InnoDB: Using Linux native AIO
2022-12-07 14:42:56 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2022-12-07 14:42:56 0 [Note] InnoDB: Uses event mutexes
2022-12-07 14:42:56 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2022-12-07 14:42:56 0 [Note] InnoDB: Number of pools: 1
2022-12-07 14:42:56 0 [Note] InnoDB: Using SSE2 crc32 instructions
2022-12-07 14:42:56 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2022-12-07 14:42:56 0 [Note] InnoDB: Completed initialization of buffer pool
2022-12-07 14:42:56 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
2022-12-07 14:42:57 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
2022-12-07 14:42:57 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2022-12-07 14:42:57 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2022-12-07 14:42:57 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2022-12-07 14:42:57 0 [Note] InnoDB: Waiting for purge to start
2022-12-07 14:42:57 0 [Note] InnoDB: 10.3.37 started; log sequence number 1663097902255; transaction id 75492375
2022-12-07 14:42:57 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
2022-12-07 14:42:57 0 [Note] Plugin 'FEEDBACK' is disabled.
2022-12-07 14:42:57 0 [Note] Server socket created on IP: '127.0.0.1'.
2022-12-07 14:42:57 0 [Note] InnoDB: Buffer pool(s) load completed at 221207 14:42:57
2022-12-07 14:42:57 0 [Note] Reading of all Master_info entries succeeded
2022-12-07 14:42:57 0 [Note] Added new Master_info '' to hash table
2022-12-07 14:42:57 0 [Note] /usr/sbin/mysqld: ready for connections.
Version: '10.3.37-MariaDB-0ubuntu0.20.04.1'  socket: '/run/mysqld/mysqld.sock'  port: 3306  Ubuntu 20.04
2022-12-07 14:42:57 8 [Warning] Access denied for user 'root'@'localhost' to database 'mysql'

Na internetu jsem našel spoustu návodů jak se téhly chyby zbavit. Potíž je že všechny spočívají v přidání práv rootovi.

Mě by spíše zajímalo, kde bych ten příkaz měl hledat, abych ho mohl odmazat/zneaktivnit, protože databáze bez ohledu na to že na něj root nedostane odpověd (prostě k té db nená přístup), šlape.

15
Software / Re:Připojení čtečky nebo telefonu k linuxu
« kdy: 01. 12. 2022, 08:29:10 »
Au právě jsem zjistil, že chyba byla nakonec zřejmě přecijen mezi počítačem a židlí.

Právě jsem našel na internetu, v článku věnujícímu se `Co dělat, když počítač po připojení telefonu pomocí USB kabelu zařízení nerozpozná?` (etuo.cz), poznámku `Některé USB kabely se používají pouze k nabíjení zařízení a nejsou schopné přenášet data, proto byste si vždy měli ověřit specifikace tohoto příslušenství.` Vůbec mi nedošlo že by takové kabely mohly být ale po nalezení jiného kabelu se čtečka připojí jako dříve, stejně jako telefon (Hammer4).

Omlouvám se všem těm které jsem okradl o čas.

Stran: [1] 2 3 ... 5