Linux-kysymyksiä & yleistä keskustelua Linuxista

Tästä puuttuu vielä perinteinen "Linux on avointa lähdekoodia, joten jos sulla on joku ongelma niin lopeta valittaminen ja koodaa itse kerneli haluamaksesi!!!!11"

Mulla on kolme vuotta vanhassa Lenovon halpisläppärissä Win/Linux-dualboot, ja olen ihan kuuloaistillani todennut, että Windowsissa tuulettimet käy usein (yleensä jo silloin kun Windows vasta latautuu) kovemmilla kierroksilla kuin Linuxissa koskaan, vaikka kuinka yrittäisi Linuxissa rasittaa konetta kaikin mahdollisin keinoin. En ole perehtynyt asiaan sen tarkemmin, koska käytän konetta ja Linuxia pääasiassa vain kevyeen surffailuun, mutta olen aina kuvitellut, että ero johtuisi siitä, että prosessorin kellotaajuus ei Linuxissa koskaan saavuta suurimpia mahdollisia arvoja. Läppäri on käytännössä aina täydessä latauksessa ja kytketty töpseliin.

Aika helppohan olisi tehdä vaikka joku pieni laskentaintensiivinen (kaikkia ytimiä käyttävä) Python-ohjelma ja mitata sen suoritusajat eri käyttöjärjestelmissä. Tosin Windowsissa on aina niin paljon kaikkia turhia taustaprosesseja viemässä CPU-aikaa, että tulos ei varmaan yltäisi Linuxin tasolle vaikka prosessori toimisikin vähän nopeammin.
 
Viimeksi muokattu:
En ole perehtynyt asiaan sen tarkemmin, koska käytän konetta ja Linuxia pääasiassa vain kevyeen surffailuun, mutta olen aina kuvitellut, että ero johtuisi siitä, että prosessorin kellotaajuus ei Linuxissa koskaan saavuta suurimpia mahdollisia arvoja.
Tämä voi hyvinkin pitää paikkansa. Tuolla aiemmin linkatulla achin wiki sivulla muuten on varoitus: "Warning: Use CPU monitoring tools (for temperatures, voltage, etc.) when changing the default governor." Onko sitten edes turvallista "ottaa kaikki irti" linuxissa.
 
Eli jos tuon cpupower-gui:n ilmoittamat min. 800 MHz ja max 2600 MHz pitävät paikkansa niin täysiä tehoja en saa siis irti powersave governorilla? Tältä se ainakin itselleni vaikuttaa tällä hetkellä.

Siis noi on ne rajat jotka näet esim lscpu komennolla. Se säätää tuolla välillä niitä kelloja tarpeen mukaan. Kun kone idlaa niin heittää 800MHz:n ja kun tarttee tehoja niin heittää sitten 2600MHz:n kellot.
Tuosta toki jossain harvoissa tapauksissa VOI olla harmia, eli se on sitten valintoja että haluatko kurmottaa herzit katossa ja polttaa turhaan sähköä, vai oletko valmis niissä muutamassa harvassa tapauksessa "kärsimään" siitä pienestä penaltystä.
Siis ihan sama kuin windowsissa.

En ole perehtynyt asiaan sen tarkemmin, koska käytän konetta ja Linuxia pääasiassa vain kevyeen surffailuun, mutta olen aina kuvitellut, että ero johtuisi siitä, että prosessorin kellotaajuus ei Linuxissa koskaan saavuta suurimpia mahdollisia arvoja. Läppäri on käytännössä aina täydessä latauksessa ja kytketty töpseliin.

Jaa?

Koodi:
Model name:                      Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
Stepping:                        3
CPU MHz:                         4390.245
CPU max MHz:                     4400.0000
CPU min MHz:                     800.0000

Kyllä se minun mielestä saavuttaa enemmän kuin hyvin ne maksimit.

Koodi:
[root@box ~]# cpupower frequency-info
analyzing CPU 0:
  driver: intel_cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 20.0 us
  hardware limits: 800 MHz - 4.40 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 800 MHz and 4.40 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 4.39 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes
 
Viimeksi muokattu:
olen ihan kuuloaistillani todennut, että Windowsissa tuulettimet käy usein (yleensä jo silloin kun Windows vasta latautuu) kovemmilla kierroksilla kuin Linuxissa koskaan
Sama juttu täälläkin uudemmalla läppärillä. Windows huudattaa aivan mahdottomasti tuulettimia, varsinkin joku windows update. Ja vaikka windowsista on "balanced" power plan valittuna.
 
Siis noi on ne rajat jotka näet esim lscpu komennolla. Se säätää tuolla välillä niitä kelloja tarpeen mukaan. Kun kone idlaa niin heittää 800MHz:n ja kun tarttee tehoja niin heittää sitten 2600MHz:n kellot.
Tuo komento antoikin tällaista tulosta:

Koodi:
Model name:                      Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
Stepping:                        10
CPU MHz:                         1300.058
CPU max MHz:                     4500,0000
CPU min MHz:                     800,0000

Erilaista lukemaa mitä tuo gui-softa. Parempi varmaan heittää menemään tuo gui-softa, ei näytä edes toimivan tällä koneella kovin hyvin/ollenkaan.

Tuosta toki jossain harvoissa tapauksissa VOI olla harmia, eli se on sitten valintoja että haluatko kurmottaa herzit katossa ja polttaa turhaan sähköä, vai oletko valmis niissä muutamassa harvassa tapauksessa "kärsimään" siitä pienestä penaltystä.
Tai sitten tekee työpöydälle skriptin joka muuttaa governorin performanceksi, pausettaa skriptin, sitten vain peli auki ja pelisession jälkeen skriptin jatkaminen palauttaa governorin takaisin powersaveksi. Manuaalinen helppo(?) on-demand performance plan. :)
 
Tai sitten tekee työpöydälle skriptin joka muuttaa governorin performanceksi, pausettaa skriptin, sitten vain peli auki ja pelisession jälkeen skriptin jatkaminen palauttaa governorin takaisin powersaveksi. Manuaalinen helppo(?) on-demand performance plan. :)!

Tai sitten tutustuu kernel-tools pakettiin ja mitä sillä on tarjota. Kuten tuo cpupower komento ja service johonka voi säätää service päällä governorin ja service pois päältä governorin.
Näin ainakin fedorassa.
 
Tai sitten tutustuu kernel-tools pakettiin ja mitä sillä on tarjota. Kuten tuo cpupower komento ja service johonka voi säätää service päällä governorin ja service pois päältä governorin.
En ihan tajunnut mitä ajoit takaa, miten tuo service olisi kätevämpi sellaiseen tilanteeseen jossa halutaan vain muuttaa governor esim. jonkun pelin ajon ajaksi? Tuota kernel-toolsia ja cpupoweria ei taida saa mintiin?

Katsoin tuota Barbarossan vinkkaamaa /sys/devices/system/cpu/cpu{0..N}/ hakemistoa niin näyttäisi siltä, että sitä kautta governorin vaihto pitäisi tehdä jokaiselle cpu:lle erikseen (12 kpl omassa koneessa).

Tsekkasin terminaalista yhden cpun governorin ja se oli "powersave", sitten valitsin cpupower-gui:sta "all cpus" ja vaihdoin governorin performanceen + apply ja terminaalista uudelleen governorin tsekkaus ja se oli muuttunut, eli näyttäisi toimivan.
Koodi:
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
powersave
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
performance
Kokeilin sitten useamman kerran vaihdella governor modejen välillä samalla kun terminaalissa watch lscpu päällä ja katsoin cat -n /sys/devices/system/cpu/cpu{0..11}/cpufreq/scaling_governor komennolla governor-tilaa muutoksien jälkeen. Governor muuttui joka kerta ihan niin kuin pitikin, mutta lscpu:n ilmoittama "CPU MHz" ei ihan luottavaista kuvaa antanut. Performanceen muutos kyllä näytti aina toimivan ja CPU MHz perustaso oli aina 2600 ja rasituksessa nousi ihan sinne 4500:taan asti. Powersave tilaan mennessä vain muutaman kerran CPU MHz meni sinne 800:taan, mutta usein jäi pyörimään 1300 tai 2600 tasolle, joskus jopa yli 4000, vaikka odottelin jonnin aikaa. En pääse enää takaisin tässä vaiheessa sinne 800 MHz, tosin aiemmassa viestissä minulla oli jo 1300 MHz joten kaipa tämä 1300 ihan normaalia on?

Powersave päällä, CPU MHz 1300 tasolla, mintin update managerin refresh ja lscpu:n lukema pomppaa yli 4300:taan. Ei näillä testeillä tiedä onko tästä mitään hyötyä. Pitää ottaa nämä höpinät talteen ja sitten joskus ajaa jotain pelitestihommia. Nyt sänkyynmenon yritys.
 
PopOssille löytyi paketti cpupower-gui, jonka asetin suosikkeihin eli saan heti käyttöön:

Powersave:
Koodi:
lscpu:
CPU MHz:                         2195.373
CPU max MHz:                     3600,0000
CPU min MHz:                     2200,0000

Performance:
Koodi:
lscpu:
CPU MHz:                         3757.284
CPU max MHz:                     3600,0000
CPU min MHz:                     2200,0000

Jaa juuri tuota samaa ohjelmaa käytitkin. Mutta itsellä ainakin näyttäisi toimivan ja oppi taas uusia asioita, kiitoksia näin viereisestä pöydästä.
 
Powersave governorin pitäisi automaattisesti skaalata taajuutta prosessorin tukeman minimin ja maksimin välillä. Performance taas lukitsee kellotaajuuden maksimille ja se tippuu ilmeisesti vain throttlauksen seurauksena. Näin ainakin omassa koneessa tapahtuu i7-9700 prossulla.

Eroa olen löytänyt tähän mennä Civilization 6:sta (natiivi versio), se toimii paljon nopeammin kun pakottaa governorksi performancen.

Riippunee sitten prossusta. Ryzen ja performance käytössä, normi-työpöytäidlessä kun tarkastelee kelloja niin aika matalalla ne käy kuvernaattorista huolimatta.
 
Hmm läppärin Debianissa ei löytynyt samaa guita, mutta löytyi gnomeen lisäosa. Täytyy tutkia lisää.
 
Powersave:
Koodi:
$ lscpu | grep MHz
CPU MHz:                         800.030
CPU max MHz:                     4700,0000
CPU min MHz:                     800,0000
Performance:
Koodi:
lscpu | grep MHz
CPU MHz:                         4556.674
CPU max MHz:                     4700,0000
CPU min MHz:                     800,0000

Pop-Os täälläkin ja cpupower-gui toimi suoraan, kuvittelin että tuohon pitäisi asentaa jotain taustalle ja tekee muutoksen vielä vinkumatta root oikeuksia.

cpupower-gui.png
 
Ai niin unohdin säätää alemmas hyvä muisutus :)
No, ilmeisesti ei saa rysöstä noin vaan alemmille kelloille?
Mulle riitää Debianissa se shell-laajennus, tänks. Ainakin tällä hetkellä. Itseasiassa pitäis etsiä tähän popossiinkin kun on kätevämpi ja testata saako eri arvoja.

Lisäys: Kah, näyttääkin olevan versio 0.7.2 tässä popossissa toi gui.
 
Tähän väliin kevyt pulma, ei pakollinen mutta jos löytyy ratkaisu apteekin hyllyltä..

Jonkun ohjelman, esim. kalkkulaattorin käynnistys "always on top" moodissa?

Jos laskin auki ja terminaalista antaa wmctrl -r alculator -b add,above komennon niin "always on top" menee siitä laskimesta päälle. Mutta, miten tuon saa toimimaan jos laskimen avaa starttimenusta?

Kokeilin jo muuttaa menun launcheria näin: bash -c 'gnome-calculator && sleep 1 && wmctrl -r alculator -b add,above' mutta ei mene always on top päälle avautuvaan laskimeen. Ilman sleep komentoakaan ei toimi, tai vaikka kasvattaa nukkumisaikaa.
 
Viimeksi muokattu:
Tähän väliin kevyt pulma, ei pakollinen mutta jos löytyy ratkaisu apteekin hyllyltä..

Jonkun ohjelman, esim. kalkkulaattorin käynnistys "always on top" moodissa?

Jos laskin auki ja terminaalista antaa wmctrl -r alculator -b add,above komennon niin "always on top" menee siitä laskimesta päälle. Mutta, miten tuon saa toimimaan jos laskimen avaa starttimenusta?

Kokeilin jo muuttaa menun launcheria näin: bash -c 'gnome-calculator && sleep 1 && wmctrl -r alculator -b add,above' mutta ei mene always on top päälle avautuvaan laskimeen. Ilman sleep komentoakaan ei toimi, tai vaikka kasvattaa nukkumisaikaa.


komento && komento2 => 2 suoritetaan kun eka päättyy

komento &
komento 2
=> eka taistalle ja heti sen jälkeen toinen.
tausta-ajot ei välttämättä aina toimi/ole selkeä helposti one- linerina, silloin pikku skripti auttaa.

eli ehkä
calculator &
sleep 1 && wmctrl

olisi toimiva ratkaisu
 
Kellään kokemusta AMD:n mobiilipuolen 4000-sarjalaisten integroidusta näytönohjaimesta ja sen toiminnasta Linux-puolella? Harkinnassa tuommoinen AMD-pohjainen minipc, mutta aika useassa arvostelussa ollut juttua että erityisesti grafiikkapuoli ei mitään juhlaa olisi.

Nimim. sekä Nvidian että AMD:n Linux-ajurien kanssa kauan sitten taistellut useampaan kertaan, ja vannonut ettei ikinä enää.
 
Tähän väliin kevyt pulma, ei pakollinen mutta jos löytyy ratkaisu apteekin hyllyltä..

Jonkun ohjelman, esim. kalkkulaattorin käynnistys "always on top" moodissa?

Jos laskin auki ja terminaalista antaa wmctrl -r alculator -b add,above komennon niin "always on top" menee siitä laskimesta päälle. Mutta, miten tuon saa toimimaan jos laskimen avaa starttimenusta?

Kokeilin jo muuttaa menun launcheria näin: bash -c 'gnome-calculator && sleep 1 && wmctrl -r alculator -b add,above' mutta ei mene always on top päälle avautuvaan laskimeen. Ilman sleep komentoakaan ei toimi, tai vaikka kasvattaa nukkumisaikaa.

Eikö sitä saa sieltä ihan calculaattorin window manager asetuksista pysyvästi päälle?

Screenshot_20201206_225756.png


Esim. kde:ssä noin näytti toimivan kun lisäsi ohjelma asetuksiin tuon arrangement & access -> keep above ja forcetti sen päälle.

Kellään kokemusta AMD:n mobiilipuolen 4000-sarjalaisten integroidusta näytönohjaimesta ja sen toiminnasta Linux-puolella? Harkinnassa tuommoinen AMD-pohjainen minipc, mutta aika useassa arvostelussa ollut juttua että erityisesti grafiikkapuoli ei mitään juhlaa olisi.

Nimim. sekä Nvidian että AMD:n Linux-ajurien kanssa kauan sitten taistellut useampaan kertaan, ja vannonut ettei ikinä enää.

Kokemusta ei ole mutta AMD:n näyttisajurithan on ollut linux kernelissä jo useamman vuoden että kaiken järjen mukaan homman pitäisi toimia kyllä ihan out of the box kunhan distro vaan on jotain nykyaikaa eikä jollain esihistoriallisella kernelillä.
 
Viimeksi muokattu:
Kellään kokemusta AMD:n mobiilipuolen 4000-sarjalaisten integroidusta näytönohjaimesta ja sen toiminnasta Linux-puolella? Harkinnassa tuommoinen AMD-pohjainen minipc, mutta aika useassa arvostelussa ollut juttua että erityisesti grafiikkapuoli ei mitään juhlaa olisi.

Nimim. sekä Nvidian että AMD:n Linux-ajurien kanssa kauan sitten taistellut useampaan kertaan, ja vannonut ettei ikinä enää.
Ei kait tuossa mitään vikaa ole ollut itsellä, lähinnähän nuo ongelmat liittyvät kun koneessa on useampaa näyttistä eikä ohjelmat käytä oikeaa näyttistä. Mitenkään erikoisen tehokas tuo näyttis ei ole, pelikäyttöön vaikea suositella mutta kyllä sillä kevyt pelailu onnistuu. Taitaa olla 4700U tuossa Thinkpadissa eli ei edes se tuhnuin.

Niin ja avoimet ajurit toimii tosiaan täysin, ei kannata kokeillakkaan Amdin sivuilta asennella jossei ole sitten jotain tiettyä syytä.
 
Aikas monet tälläiset asiat riippuu pitkälti käytetystä ikkuna managerista, joissakin löytyy kätevästi tuollainen ominaisuus sisäänrakennettuna, toisiin joutuu kikkailee...
 
Pieni päivitys/korjaus siihen "always on top" komentoon, jos nyt joku sattui ottamaan itselleen käyttöön. Tuo aiempi listaamani komento mätsää minkä tahansa ikkunan kanssa jos sen titlestä mistä tahansa löytyy se "alculator" tekstipätkä. Tuli ongelma kun ensin googlasin miten voisin konffata usb-näppäimistössä olevan laskin-napin tekemään saman always on topin kun sitä painetaan. Löysin sitten "keyboard - shortcuts" asetukset ja tein custom shortcutin (samalla poistui oletuksena ollut normaali shortcut tuolle näppäimistön napille). Ihmettelin kun ei toiminut, laskin aukesi kyllä mutta ei mennyt on topiksi. Sitten huomasin, että selaimeni oli yhtäkkiä on top, syystä koska siinä auki nettisivu jonka titlessä oli calculator-teksti. Ratkaisuksi tehdään siitä avaus komennosta sellainen, että se mätsää vain koko ikkunan otsikon kanssa. bash -c 'gnome-calculator & sleep 1 && wmctrl -F -r Calculator -b toggle,above'
 
Pieni päivitys/korjaus siihen "always on top" komentoon, jos nyt joku sattui ottamaan itselleen käyttöön. Tuo aiempi listaamani komento mätsää minkä tahansa ikkunan kanssa jos sen titlestä mistä tahansa löytyy se "alculator" tekstipätkä. Tuli ongelma kun ensin googlasin miten voisin konffata usb-näppäimistössä olevan laskin-napin tekemään saman always on topin kun sitä painetaan. Löysin sitten "keyboard - shortcuts" asetukset ja tein custom shortcutin (samalla poistui oletuksena ollut normaali shortcut tuolle näppäimistön napille). Ihmettelin kun ei toiminut, laskin aukesi kyllä mutta ei mennyt on topiksi. Sitten huomasin, että selaimeni oli yhtäkkiä on top, syystä koska siinä auki nettisivu jonka titlessä oli calculator-teksti. Ratkaisuksi tehdään siitä avaus komennosta sellainen, että se mätsää vain koko ikkunan otsikon kanssa. bash -c 'gnome-calculator & sleep 1 && wmctrl -F -r Calculator -b toggle,above'

Protip, jos tarvitsee tietää ikkunan mihin tämänkaltaiset osoittaa niin xprop kertoo ummet ja lammet. WM_NAME ja/tai WM_CLASS ne mitä todennäköisesti haetaan riippuen tarpeesta. WM_CLASS yleensä parempi koska tuo WM_NAME voi ohjelmasta riippuen näyttää jotakin ihan muuta(kin) kuin itse ohjelman nimen. Esim. selaimissa tuppaa olemaan sen hetkisen aktiivisen välilehden otsikko.
 
Tuo korjattu komentokaan ei ratkaise ongelmaa jos haluaa avata toisen, tai useampia laskimia samalla lailla. Pitäisi jotenkin saada siitä bashilla avatusta uudesta laskin-ikkunasta window id ja sillä sitten määrätä se always on top oikealle laskin-ikkunalle. Nopealla googlauksella en löytänyt tuohon vielä mitään ratkaisua. Tämähän lipsahtaa jo pidemmäs pro(?)-tasolle. :) Täytyy katsoa jos jaksaa/ehtii syventyä vielä enemmän tähän.. samalla sitä oppisi lisää velhoilua. Olen kyllä jo hyvin sopeutunut terminaalin kanssa elämiseen, monia komentoja rupeaa jo tulemaan nopeasti suoraan muistista. Pikkaisen eritason ympäristö kuin windowsin komentokehote.

EDIT: Nauratti jo vähän tuossa aiemmin kun etsin sitä keinoa miten voin muuttaa usb-näppiksen laskin-napin toimintoa, lähdin jotenkin vaistomaisesti etsimään ratkaisua terminaalin/konffi-tiedostojen kautta, vaikka tarjolla oli ihan gui-ratkaisu.
 
Ylempänä ehdotettiinkin jo xprop
tai vaihtoehtoisesti alla linkissä xdotool getactivewindow hakee yksilöllisen id:n komennettavalle ikkunalle...
 
Mainittu xdotool mahdollistaa muuten ikkunoiden ronkkimisen monimutkaisemmillakin virityksillä. Voi tehdä elämästään todella paljon hankalampaa suht pienellä vaivalla.

Täytyy sanoa että eipä ole ollut tarvetta millekään GUI-laskinkikkareelle vuosikausiin. Pienemmällä vaivalla käynnistää terminaaliin pythonin interaktiivisena ja laskee sillä.
 
Sopivassa kohtaa voi myös tehdä elämästä myös helpompaa noilla virityksillä :)

Itsellä Mintissä tuon xdotoolin avulla vaihtaa työtilaa kun vie hiiren jompaan kumpaan näytön yläkulmaan.
On tosi ergonominen työtilanvaihtaja kun pienellä ranneliikkeellä onnistuu, ja ilman painalluksia. Eikä tarvii tähdätä koska näytön reuna kuljettaa hiirulaisen kulmaan kunhan liike on sinne päin.

...tai hauskempaa :comp2: --> wmctrl --> ♫♫♫ --> ❤

Joskus köyhänä opiskelijana piti saada musiikkia ilman mainoksia (tunnelmaa pilaamasta), mutta ilmaiseksi tietenkin, niin askartelin Spotifyihin mainosten ohittajan. Siinä tuo wmctrl haisteli Spotify-ikkunaa mainosten varalta...

Kauhee purkkaviritys sekin. Melkein oli tyydyttävämpää saada se kikkare toimimaan, kuin ne romanttiset illat ilman niitä mainoksia :rofl:
 
Red Hat resets CentOS Linux and users are angry | ZDNet

Onko raadilla mitä ajatuksia CentOS jakelusta, miten aiotte jatkaa tuotantopalvelimien osalta, missä tarvitaan vakaita ohjelmia?

Oma mielipide on että toi stream on ihan riittävän vakaa. Eihän siinä mitään bleeding edgeä ole vaan kerneli pysyy samassa versiossa koko elinkaaren ajan ja jotain pikku päivityksiä joita ajetaan streamiin ensin josta sitten tiputetaan RHEL:n. Esim. stream 8 tuki jatkuu saman mitä RHEL 8 on tuettuna 2024 jotain. tuon lisäksi sitten tulee stream 9 jossa on sitten jo hiukan rajumpaa tavaraa, mutta ei niin rajua kuin fedorassa.

Mutta jos ei uskalla stream 8:n mennä niin joko maksat, tai sitten etit toisen vaihtoehdon.

Taitaa olla muotia nää rollaavat julkaisut. Windowsi meni moiseen, suse on siirtyny moiseen ja nyt rhel siirtymässä. Kyllähän toi rolling release on nykypäivää ja vaikka se välillä saattaa tuki puolella teettää töitä, niin vähemmällä siinä varmasti selviää kuin niissä todella isoissa päivityksissä joissa tarttee koko purkki pistää uusiksi.
 
RHEL 8 tuki jatkuu pitempään, Stream-"version" tuki loppuu kun RHEL-version tuki muuttuu täydestä tietoturvapäivityksiin, mikä tapahtuu noin 5 vuotta julkaisusta (2024). RHEL 8 tulee olemaan siis tuettuna tietoturvapäivityksillä 5 vuotta vielä siitä päivästä (2029) kun Stream 8 on jo hylätty.
Stream lienee toki sopii edelleen useimpiin tarkoituksiin, mutta aika kova isku ensin julkaista uusi OS jolle luvataan 10 vuoden tuki, vuoden kuluttua leikata 8 pois ja sanoa että osta RHEL jos ei uusi malli kelpaa. Väitän ettei vastaanotto olisi ollut näin negatiivinen, jos olisi ilmoitettu tämän koskevan vasta seuraavaa versiota. Nyt kaikilta jotka ovat päivittäneet uudempaan versioon kuluneen vuoden aikana pyyhkäistiin kerralla matto alta ota tai jätä -tyyliin.

Rullaava julkaisumalli toimii hyvin työpöytäkäytössä. Mutta sitten kun mennään johonkin laajempaan infraan, niin kyllä siellä tulee vielä pitkään tällaiset LTS-julkaisut olemaan valtavirrassa, sen varaan on paljon helpompi suunnitella kun tiedät että kaikki toimii kuin rasvattu seuraavan vuosikymmenen ilman rikkovia muutoksia, vaikka sitten yhtenä vuonna tehdäänkin isompia muutoksia kerralla kun järjestelmät vaihdetaan uuteen versioon. Rullaava julkaisumalli on liian arvaamaton tuotantoservereissä, kotikäyttäjille toki ihan se ja sama. Fedora (Rawhide) ja Suse (Tumbleweed) kumpikin käyttää rullaavaa mallia pelkästään työpöytäpuolella, sielläkin omana vapaaehtoisesti valittavana editionaan. Stream tulee olemaan ns. semi-rullaava, mistä on turhan aikaista sanoa vielä sen kummemmin mitään. Mielenkiintoinen muutos sinänsä ja jään seuraamaan asian kehittymistä.

Ilmeisestä painetta tähän muutokseen tuli korkeammalta.
The CentOS Board knows this, so we had a dialoge with Red Hat instead.
Red Hat presented their case and listened to our response. There was a
significant back and forth.

So, no one 'FORCED' the board to do anything. Red Hat told us what they
were going to do (what you quoted). The board then made many
recommendations in a back and forth negotiation. The board then made a
decision. The decision was reluctant .. but it was unanimous.

And now this is the way forward.
 
Red Hat resets CentOS Linux and users are angry | ZDNet

Onko raadilla mitä ajatuksia CentOS jakelusta, miten aiotte jatkaa tuotantopalvelimien osalta, missä tarvitaan vakaita ohjelmia?
Rocky Linux Rocky Linux

Toki containerit voisi myös auttaa, jos halutaan ajaa vanhoja softa versioita loputtomasti. Omissa kuvioissa legacy kamaa yleensä paketoidaan containereihin, niin pysyy siististi omassa boxissaan, pyörii niinkuin aina ennenkin ja ulospäin juttelee ihan muut systeemit, kuin 20v vanhat.
 
Rocky Linux Rocky Linux

Toki containerit voisi myös auttaa, jos halutaan ajaa vanhoja softa versioita loputtomasti. Omissa kuvioissa legacy kamaa yleensä paketoidaan containereihin, niin pysyy siististi omassa boxissaan, pyörii niinkuin aina ennenkin ja ulospäin juttelee ihan muut systeemit, kuin 20v vanhat.
Tämä kontitus aluillaan itselläni, siihen siirrytään toivottavasti hyvinkin pian. Vielä paljon opiskeltavaa, kun kontit mahdollistavat monessakin asiassa ihan uusia juttuja, varsinkin ohjelmistontuotannossa. Toki perinteiselläkin tavalla jatketaan rinnalla ties miten pitkään.

Rocky Linux, siinäpä se taitaa olla, mitä tarvitsen.
 
Seuraava potilas. Tätäkään mintti ei osaa automaagisesti, toisin kuin windows. Kun läppäri kiinni ulkoisessa monitorissa, on käytössä langaton näppis ja hiiri (langaton vastaanotin kiinni näytössä ja näyttö usb:llä läppärissä kiinni). Näillä ei pysty herättämään läppäriä sleep/suspend-tilasta.

Komennolla grep . /sys/bus/usb/devices/*/product löytyi oikea device/bus(?): /sys/bus/usb/devices/1-3.3/product:USB Receiver. Sille laitoin tilaksi "enabled" ja herätys toimii ok. (tarkastin komennolla: grep . /sys/bus/usb/devices/*/power/wakeup)

Löysin tällaisen askubuntu-topikin jossa 4 vähän erilaista keinoa saada homma pysyvästi toimimaan, /etc/rc.local tai /etc/udev/rules.d/ tai /etc/init.d/ tai /lib/systemd/system-sleep/ skriptien kautta. Mikähän olisi oikea/järkevä tapa hoitaa asia? Oisko se tuon "udev":in kautta?
 
Seuraava potilas. Tätäkään mintti ei osaa automaagisesti, toisin kuin windows. Kun läppäri kiinni ulkoisessa monitorissa, on käytössä langaton näppis ja hiiri (langaton vastaanotin kiinni näytössä ja näyttö usb:llä läppärissä kiinni). Näillä ei pysty herättämään läppäriä sleep/suspend-tilasta.

Komennolla grep . /sys/bus/usb/devices/*/product löytyi oikea device/bus(?): /sys/bus/usb/devices/1-3.3/product:USB Receiver. Sille laitoin tilaksi "enabled" ja herätys toimii ok. (tarkastin komennolla: grep . /sys/bus/usb/devices/*/power/wakeup)

Löysin tällaisen askubuntu-topikin jossa 4 vähän erilaista keinoa saada homma pysyvästi toimimaan, /etc/rc.local tai /etc/udev/rules.d/ tai /etc/init.d/ tai /lib/systemd/system-sleep/ skriptien kautta. Mikähän olisi oikea/järkevä tapa hoitaa asia? Oisko se tuon "udev":in kautta?

jos on systemd distro niin silloin kannattaa kaikki init.d räpellykset unohtaa koska ne on vanhanajan sysvinit aikaisia. Mutta jos distro käyttää sysvinittiä niin sitten sillä.
udev on geneerinen jos se on asennettu, joten menisin sillä.
Ja sitten edelleen ne /lib/systemd/* ei ole tarkoitettu käyttäjän muokattaviksi, eli jos systemd:n kanssa meinaa värkätä tuota niin sitten katse sinne /etc/systemd/
 
Terve haluisin pelata windows pelejä linuxilla mitä ei voi pelata winen kautta.
Olen lukenut sellaisista asioista kun Qemu KVM ja Virt manager.
niin kysyisin onko virt manager setupissa mitään järkeä millainen on performance entä mitä pitäisi ottaa huomioon jotta se toimisi?
CPU: AMD Ryzen 5 3600 6-Core GPU: Radeon RX Vega MOB: ASROCK PRO4 B450M toimiiko noiden kanssa?
Olen miettinyt toiseksi näyttikseksi jotain r9 280x kaltaista korttia.
 
Terve haluisin pelata windows pelejä linuxilla mitä ei voi pelata winen kautta.
Olen lukenut sellaisista asioista kun Qemu KVM ja Virt manager.
niin kysyisin onko virt manager setupissa mitään järkeä millainen on performance entä mitä pitäisi ottaa huomioon jotta se toimisi?
CPU: AMD Ryzen 5 3600 6-Core GPU: Radeon RX Vega MOB: ASROCK PRO4 B450M toimiiko noiden kanssa?
Olen miettinyt toiseksi näyttikseksi jotain r9 280x kaltaista korttia.

Vaatii edelleen pyhitetyn näytönohjaimen jos meinaa virtuaalikoneella saada 3D kiihotuksen toimimaan. Eli tartteet toisenkin näytönohjaimen jos haluat siitä linuxistakin saada kuvaa ulos.
 
Vaatii edelleen pyhitetyn näytönohjaimen jos meinaa virtuaalikoneella saada 3D kiihotuksen toimimaan. Eli tartteet toisenkin näytönohjaimen jos haluat siitä linuxistakin saada kuvaa ulos.
Tuossahan mainitsin jotta hommaisin r9 280x toiseksi näytönohjaimeksi mutta pää kysymys oli että onko näytönohjaimelle tai muulle laitteistolle jotain erikois vaatimuksia
 
Terve haluisin pelata windows pelejä linuxilla mitä ei voi pelata winen kautta.
Olen lukenut sellaisista asioista kun Qemu KVM ja Virt manager.
niin kysyisin onko virt manager setupissa mitään järkeä millainen on performance entä mitä pitäisi ottaa huomioon jotta se toimisi?
CPU: AMD Ryzen 5 3600 6-Core GPU: Radeon RX Vega MOB: ASROCK PRO4 B450M toimiiko noiden kanssa?
Olen miettinyt toiseksi näyttikseksi jotain r9 280x kaltaista korttia.

Level1Techillä ja Level1Linuxilla on pari hyvää videota asiasta ja heidän palstallaan on asiaa tarkemmin käsitelty:

Tämän sisällön näkemiseksi tarvitsemme suostumuksesi kolmannen osapuolen evästeiden hyväksymiseen.
Lisätietoja löydät evästesivultamme.

Tämän sisällön näkemiseksi tarvitsemme suostumuksesi kolmannen osapuolen evästeiden hyväksymiseen.
Lisätietoja löydät evästesivultamme.

Tämän sisällön näkemiseksi tarvitsemme suostumuksesi kolmannen osapuolen evästeiden hyväksymiseen.
Lisätietoja löydät evästesivultamme.

 
Onko linuxille mitään hyviä gui-softia tiedostojen tiivisteiden (hash) kanssa työskentelyyn? Esim. "tarkista .sfv/.md5 tiedoston sisältämät hashit vastaako ne tiedostojen hasheja". Gtkhash jo kokeiltu ja todettu aika surkeaksi.. ainakin omaan tarpeeseen.


Kokeilin jo muutamia cli-softia ja ongelmia tuli tiedostojen windows/dos linefeedien (default mint/ubuntu softa "md5sum" kakoo pahasti, näköjään bugittaa myös virhetulostuksen kanssa) ja koodauksen kanssa. Musiikin rippauksessa windows-puolella tehty paljon md5-tiedostoja.. myös jatkossa joutuu käyttämään kun linuxille en löydä sellaista monipuolista ratkaisua jonka EAC+REACT+kustomoitu skripti tarjoaa. Linuxissa rhash näyttäisi osaavan lukea kunnolla myös CRLF linefeedit mutta ongelmaksi tuli tiedoston koodaus joka näyttäisi file -i komennon mukaan olevan "iso-8859-1":
Koodi:
--( Verifying Aki Sirkesalo - Mielenrauhaa.md5 )--------------------------------
Aki Sirkesalo - Mielenrauhaa - 01 - Pelkk�� Kuvitelmaa.flac No such file or directory
Aki Sirkesalo - Mielenrauhaa - 02 - Mielenrauhaa.flac OK
...
Samanlaista tulee ulos jos tulostaa konsolissa "cat" komennolla md5-tiedoston sisällön.

Pitää jotenkin fiksata se windows-rippausskripti että jatkossa tiedostot on utf-8:a. Nyt pitäisi löytää joku ratkaisu jolla saisi muutettua suoraan kaikki .md5 tiedostot utf-8:ksi, jos se vain on turvallista tehdä?


Aloin jo katselemaan ratkaisua millä jonkun cli-softan saisi ympättyä jotenkin järkevästi tiedostonhallintasoftaan (nemo) ja yhdeksi vaihtoehdoksi olisi tarjolla "nemo scripts". En vain saa niitä ajettua niin, että konsoli tulisi näkyviin. Eli tein "/home/<USERNAME>/.local/share/nemo/scripts" kansioon skriptin jolla ajettaisiin komento rhash --check "$1". Kaikki toimii muuten hyvin (esim. jos vaihdan komennoksi skriptiin vain "gnome-terminal", niin terminaali aukeaa mutta siinä kaikki). Yritin myös tällaista testiksi:
Koodi:
#!/bin/bash
gnome-terminal -e echo foo
mutta mitään konsoli-ikkunaa ei aukea. Suoraan terminaalista jos tuon gnome-terminal -e echo foo ajaa niin tulee vain tällainen outputti:
Koodi:
# Option “-e” is deprecated and might be removed in a later version of gnome-terminal.
# Use “-- ” to terminate the options and put the command line to execute after it.
# _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for ‘gio-vfs’
# _g_io_module_get_default: Found default implementation dconf (DConfSettingsBackend) for ‘gsettings-backend’
# watch_fast: "/org/gnome/terminal/legacy/" (establishing: 0, active: 0)
# unwatch_fast: "/org/gnome/terminal/legacy/" (active: 0, establishing: 1)
# watch_established: "/org/gnome/terminal/legacy/" (establishing: 0)

Eli tuota -e optionia ei kannattaisi käyttää, eikä se näytä edes toimivankaan enää, ei vaikka kokeilin tuota "--" lisäämistä kuten ohjeistetaan. gnome-terminal -- -e echo foo:
Koodi:
# _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for ‘gio-vfs’
# _g_io_module_get_default: Found default implementation dconf (DConfSettingsBackend) for ‘gsettings-backend’
# watch_fast: "/org/gnome/terminal/legacy/" (establishing: 0, active: 0)
# unwatch_fast: "/org/gnome/terminal/legacy/" (active: 0, establishing: 1)
# watch_established: "/org/gnome/terminal/legacy/" (establishing: 0)
# Error: Failed to execute child process “-e” (No such file or directory)
Toinen konsoli-ikkuna kyllä aukeaa mutta siinä on varoitus "There was an error creating the child process for this terminal, Failed to execute child process “-e” (No such file or directory)".


Onko edes mahdollista ajaa joku skripti gui:sta ja se aukeasi konsoliin? Tuntuu tyhmältä jos ei voisi, esim. jos ajattelee juuri tätä "nemo scripts" toiminnallisuutta.
 
Onko linuxille mitään hyviä gui-softia tiedostojen tiivisteiden (hash) kanssa työskentelyyn? Esim. "tarkista .sfv/.md5 tiedoston sisältämät hashit vastaako ne tiedostojen hasheja". Gtkhash jo kokeiltu ja todettu aika surkeaksi.. ainakin omaan tarpeeseen.


Kokeilin jo muutamia cli-softia ja ongelmia tuli tiedostojen windows/dos linefeedien (default mint/ubuntu softa "md5sum" kakoo pahasti, näköjään bugittaa myös virhetulostuksen kanssa) ja koodauksen kanssa. Musiikin rippauksessa windows-puolella tehty paljon md5-tiedostoja.. myös jatkossa joutuu käyttämään kun linuxille en löydä sellaista monipuolista ratkaisua jonka EAC+REACT+kustomoitu skripti tarjoaa. Linuxissa rhash näyttäisi osaavan lukea kunnolla myös CRLF linefeedit mutta ongelmaksi tuli tiedoston koodaus joka näyttäisi file -i komennon mukaan olevan "iso-8859-1":
Koodi:
--( Verifying Aki Sirkesalo - Mielenrauhaa.md5 )--------------------------------
Aki Sirkesalo - Mielenrauhaa - 01 - Pelkk�� Kuvitelmaa.flac No such file or directory
Aki Sirkesalo - Mielenrauhaa - 02 - Mielenrauhaa.flac OK
...
Samanlaista tulee ulos jos tulostaa konsolissa "cat" komennolla md5-tiedoston sisällön.

Pitää jotenkin fiksata se windows-rippausskripti että jatkossa tiedostot on utf-8:a. Nyt pitäisi löytää joku ratkaisu jolla saisi muutettua suoraan kaikki .md5 tiedostot utf-8:ksi, jos se vain on turvallista tehdä?


Aloin jo katselemaan ratkaisua millä jonkun cli-softan saisi ympättyä jotenkin järkevästi tiedostonhallintasoftaan (nemo) ja yhdeksi vaihtoehdoksi olisi tarjolla "nemo scripts". En vain saa niitä ajettua niin, että konsoli tulisi näkyviin. Eli tein "/home/<USERNAME>/.local/share/nemo/scripts" kansioon skriptin jolla ajettaisiin komento rhash --check "$1". Kaikki toimii muuten hyvin (esim. jos vaihdan komennoksi skriptiin vain "gnome-terminal", niin terminaali aukeaa mutta siinä kaikki). Yritin myös tällaista testiksi:
Koodi:
#!/bin/bash
gnome-terminal -e echo foo
mutta mitään konsoli-ikkunaa ei aukea. Suoraan terminaalista jos tuon gnome-terminal -e echo foo ajaa niin tulee vain tällainen outputti:
Koodi:
# Option “-e” is deprecated and might be removed in a later version of gnome-terminal.
# Use “-- ” to terminate the options and put the command line to execute after it.
# _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for ‘gio-vfs’
# _g_io_module_get_default: Found default implementation dconf (DConfSettingsBackend) for ‘gsettings-backend’
# watch_fast: "/org/gnome/terminal/legacy/" (establishing: 0, active: 0)
# unwatch_fast: "/org/gnome/terminal/legacy/" (active: 0, establishing: 1)
# watch_established: "/org/gnome/terminal/legacy/" (establishing: 0)

Eli tuota -e optionia ei kannattaisi käyttää, eikä se näytä edes toimivankaan enää, ei vaikka kokeilin tuota "--" lisäämistä kuten ohjeistetaan. gnome-terminal -- -e echo foo:
Koodi:
# _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for ‘gio-vfs’
# _g_io_module_get_default: Found default implementation dconf (DConfSettingsBackend) for ‘gsettings-backend’
# watch_fast: "/org/gnome/terminal/legacy/" (establishing: 0, active: 0)
# unwatch_fast: "/org/gnome/terminal/legacy/" (active: 0, establishing: 1)
# watch_established: "/org/gnome/terminal/legacy/" (establishing: 0)
# Error: Failed to execute child process “-e” (No such file or directory)
Toinen konsoli-ikkuna kyllä aukeaa mutta siinä on varoitus "There was an error creating the child process for this terminal, Failed to execute child process “-e” (No such file or directory)".


Onko edes mahdollista ajaa joku skripti gui:sta ja se aukeasi konsoliin? Tuntuu tyhmältä jos ei voisi, esim. jos ajattelee juuri tätä "nemo scripts" toiminnallisuutta.

Jos helppi sanoo että -e ei ole tuettu, käytä -- niin silloin se -e pitää jättää pois. Ei sellaista komentoa ole ellet itse nimeä jotain ohjelmaa sen nimiseksi/tee linkkiä...
Pitäisi olla siis
gnome-terminal -- echo foo

Jos haluat/tarvitsee antaa parametreja gnome-termille ne heti alkuun, sitten -- ja kaikki sen jälkeen on erikseen ajettavaa komentoa parametreineen.

Ehkä terminaali jää auki echon jälkeen tai sitten ei, riippuu varmasn termistä.
 
Ei nyt taas ymmärrä, miten se gui-pökäle auttaisi tilanteessa? Jos ne hashilistat on täyspäisessä formaatissa niin komentorivityökalut hoitaa sen kyllä. Jos taas ei ole niin miksi pitää tarkistustyökalua vaihtaa sen takia että syöte on paskaa?
 
Samanlaista tulee ulos jos tulostaa konsolissa "cat" komennolla md5-tiedoston sisällön.

cat tiedosto.md5 | iconv -t utf-8

Tuolla pitäs ulostaa utf-8 konsoliin. Ja jos tiedostoon sen haluat niin vaikka
cat tiedosto.md5 | iconv -t utf-8 > tiedosto_utf-8.md5

man iconv
Sieltä löytyy lisää infoa.
 
Viimeksi muokattu:
Kokeilin jo muutamia cli-softia ja ongelmia tuli tiedostojen windows/dos linefeedien ja koodauksen kanssa.
Koodi:
--( Verifying Aki Sirkesalo - Mielenrauhaa.md5 )--------------------------------
Aki Sirkesalo - Mielenrauhaa - 01 - Pelkk�� Kuvitelmaa.flac No such file or directory
Aki Sirkesalo - Mielenrauhaa - 02 - Mielenrauhaa.flac OK
...

Pitää jotenkin fiksata se windows-rippausskripti että jatkossa tiedostot on utf-8:a. Nyt pitäisi löytää joku ratkaisu jolla saisi muutettua suoraan kaikki .md5 tiedostot utf-8:ksi, jos se vain on turvallista tehdä?
Ehkä yritetään vastata itse kysymykseenkin...

JiiPee jo ehti merkistöön, sen verran vielä lisäystä että iso -> utf on aina turvallinen koska utf- merkkejä on enemmän, toisinpäin voi mennä väärin.
Tosin md5 itse pitäisi sisältää vain merkkejä jotka löytyy molemmista.

Win -> unix rivinvaihdot voi muuttaa esim
Koodi:
 tr -d '\r'
Samoin kuin melkein kaikille peruskomentorivityökaluille tiedoston voi putkittaa tai antaa parametrina, man tr kertoo lisää.

Vähän softasta riippuen välilyönnit nimissä saattaa myös haitata. Winkkari voi myös tehdä osan tiedostonimistä eri merkistöllä kuin toiset (esim kirjoitat tetminaslissa/explorerissa/download). Samoin vastaan on tullut tiedostoja joissa näkyy välilyönti mutta on oikeasti nbsp.
 
Ja korjasin omaa viestiäni, -f on from eli mistä merkistöstä. -t on mihin merkistöön muunnetaan. Ittellä suuria vaikeuksia saada windowsi tallettamaan jotain muuta kuin utf-8 kun olen sen windowsin olikohan experimental vivun vääntäny päälle että käytetään utf-8.
 
Asensin Debianiin GZDoom source portin ja se kyllä käynnistää pelin. Aika pian käynnistyksen jälkeen kaatuu ja tulee ilmoitus:

Koodi:
*** Fatal Error ***
Address not mapped to object (signal 11)
Address: 0x7fe3580b40bc

System: Linux C2D 5.9.0-4-amd64 #1 SMP Debian 5.9.11-1 (2020-11-27) x86_64 GNU/Linux

GZDoom version g4.5.0 (3037c08840f209f9f6b6d7e6c2c69632472a5d54)
Command line: /opt/gzdoom/gzdoom
Wad 0: gzdoom.pk3
Wad 1: game_support.pk3
Wad 2: Doom2.wad

Not in a level.

Executing: gdb --quiet --batch --command=gdb-respfile-6l4kon
[New LWP 2430639]
[New LWP 2430654]
[New LWP 2430655]
[New LWP 2430656]
[New LWP 2430658]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007fe3809b21a7 in wait4 () from /lib/x86_64-linux-gnu/libc.so.6

* Loaded Libraries
From                To                  Syms Read   Shared Object Library
0x00007fe381315b70  0x00007fe3813f7bde  Yes (*)     /lib/x86_64-linux-gnu/libSDL2-2.0.so.0
0x00007fe3812d7580  0x00007fe3812e60a1  Yes (*)     /lib/x86_64-linux-gnu/libpthread.so.0
0x00007fe3812c83b0  0x00007fe3812cb4ec  Yes (*)     /lib/x86_64-linux-gnu/librt.so.1
0x00007fe3812ab310  0x00007fe3812bbabb  Yes (*)     /lib/x86_64-linux-gnu/libz.so.1
0x00007fe3812972b0  0x00007fe3812a3e72  Yes (*)     /lib/x86_64-linux-gnu/libbz2.so.1.0
0x00007fe381290130  0x00007fe381291045  Yes (*)     /lib/x86_64-linux-gnu/libdl.so.2
0x00007fe380ca32e0  0x00007fe380ea424e  Yes (*)     /opt/gzdoom/libzmusic.so.1
0x00007fe380afb200  0x00007fe380b94c08  Yes (*)     /lib/x86_64-linux-gnu/libm.so.6
0x00007fe380ab56c0  0x00007fe380addace  Yes (*)     /lib/x86_64-linux-gnu/libgomp.so.1
0x00007fe38090c320  0x00007fe380a55629  Yes (*)     /lib/x86_64-linux-gnu/libc.so.6
0x00007fe381488090  0x00007fe3814a7050  Yes (*)     /lib64/ld-linux-x86-64.so.2
0x00007fe380819d20  0x00007fe3808a3466  Yes (*)     /lib/x86_64-linux-gnu/libasound.so.2
0x00007fe3807a37a0  0x00007fe3807d0c91  Yes (*)     /lib/x86_64-linux-gnu/libpulse.so.0
0x00007fe38066f960  0x00007fe3806f809e  Yes (*)     /lib/x86_64-linux-gnu/libX11.so.6
0x00007fe380442700  0x00007fe38044c49f  Yes (*)     /lib/x86_64-linux-gnu/libXext.so.6
0x00007fe3804355f0  0x00007fe38043a01f  Yes (*)     /lib/x86_64-linux-gnu/libXcursor.so.1
0x00007fe38042e110  0x00007fe38042ea51  Yes (*)     /lib/x86_64-linux-gnu/libXinerama.so.1
0x00007fe38041d270  0x00007fe3804279b7  Yes (*)     /lib/x86_64-linux-gnu/libXi.so.6
0x00007fe380211cd0  0x00007fe380217dc5  Yes (*)     /lib/x86_64-linux-gnu/libXrandr.so.2
0x00007fe38020a140  0x00007fe38020ad5d  Yes (*)     /lib/x86_64-linux-gnu/libXss.so.1
0x00007fe380003fa0  0x00007fe380006878  Yes (*)     /lib/x86_64-linux-gnu/libXxf86vm.so.1
0x00007fe37fff35a0  0x00007fe37fffc545  Yes (*)     /lib/x86_64-linux-gnu/libdrm.so.2
0x00007fe37ffe0480  0x00007fe37ffe78ae  Yes (*)     /lib/x86_64-linux-gnu/libgbm.so.1
0x00007fe37ffd9060  0x00007fe37ffd91e5  Yes (*)     /lib/x86_64-linux-gnu/libwayland-egl.so.1
0x00007fe37ffcc460  0x00007fe37ffd131f  Yes (*)     /lib/x86_64-linux-gnu/libwayland-client.so.0
0x00007fe37ffbd270  0x00007fe37ffbeed2  Yes (*)     /lib/x86_64-linux-gnu/libwayland-cursor.so.0
0x00007fe37ff7e510  0x00007fe37ff99c43  Yes (*)     /lib/x86_64-linux-gnu/libxkbcommon.so.0
0x00007fe37fd71a10  0x00007fe37fd766b5  Yes (*)     /lib/x86_64-linux-gnu/libogg.so.0
0x00007fe37fd465e0  0x00007fe37fd5b7eb  Yes (*)     /lib/x86_64-linux-gnu/libvorbis.so.0
0x00007fe37fcac0b0  0x00007fe37fcae6f6  Yes (*)     /lib/x86_64-linux-gnu/libvorbisenc.so.2
0x00007fe37fc608e0  0x00007fe37fc88b83  Yes (*)     /lib/x86_64-linux-gnu/libFLAC.so.8
0x00007fe37fbff320  0x00007fe37fc41b78  Yes (*)     /lib/x86_64-linux-gnu/libopus.so.0
0x00007fe37fac90a0  0x00007fe37fba0b8e  Yes (*)     /lib/x86_64-linux-gnu/libstdc++.so.6
0x00007fe37fa18310  0x00007fe37fa28b5d  Yes (*)     /lib/x86_64-linux-gnu/libgcc_s.so.1
0x00007fe37f9a7f20  0x00007fe37f9eba9e  Yes (*)     /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-13.0.so
0x00007fe37f94ad40  0x00007fe37f976b21  Yes (*)     /lib/x86_64-linux-gnu/libdbus-1.so.3
0x00007fe37f91e720  0x00007fe37f930cb5  Yes (*)     /lib/x86_64-linux-gnu/libxcb.so.1
0x00007fe37f709b00  0x00007fe37f70fb55  Yes (*)     /lib/x86_64-linux-gnu/libXrender.so.1
0x00007fe37f7021c0  0x00007fe37f704526  Yes (*)     /lib/x86_64-linux-gnu/libXfixes.so.3
0x00007fe37f6f0640  0x00007fe37f6f751f  Yes (*)     /lib/x86_64-linux-gnu/libwayland-server.so.0
0x00007fe37f6bc130  0x00007fe37f6d8123  Yes (*)     /lib/x86_64-linux-gnu/libexpat.so.1
0x00007fe37f6ae2d0  0x00007fe37f6b3616  Yes (*)     /lib/x86_64-linux-gnu/libffi.so.7
0x00007fe37f60aac0  0x00007fe37f68005c  Yes (*)     /lib/x86_64-linux-gnu/libsystemd.so.0
0x00007fe37f5ee6f0  0x00007fe37f5f235c  Yes (*)     /lib/x86_64-linux-gnu/libwrap.so.0
0x00007fe37f577850  0x00007fe37f5c7f85  Yes (*)     /lib/x86_64-linux-gnu/libsndfile.so.1
0x00007fe37f568250  0x00007fe37f56a7b8  Yes (*)     /lib/x86_64-linux-gnu/libasyncns.so.0
0x00007fe37f362e60  0x00007fe37f363ba9  Yes (*)     /lib/x86_64-linux-gnu/libXau.so.6
0x00007fe37f15d340  0x00007fe37f15ec48  Yes (*)     /lib/x86_64-linux-gnu/libXdmcp.so.6
0x00007fe37f136510  0x00007fe37f14d0a2  Yes (*)     /lib/x86_64-linux-gnu/liblzma.so.5
0x00007fe37f0677a0  0x00007fe37f11e5c6  Yes (*)     /lib/x86_64-linux-gnu/libzstd.so.1
0x00007fe37f0422e0  0x00007fe37f05b487  Yes (*)     /lib/x86_64-linux-gnu/liblz4.so.1
0x00007fe37ef2b580  0x00007fe37effacf8  Yes (*)     /lib/x86_64-linux-gnu/libgcrypt.so.20
0x00007fe37ef09980  0x00007fe37ef155ce  Yes (*)     /lib/x86_64-linux-gnu/libnsl.so.2
0x00007fe37eeef680  0x00007fe37eefb21e  Yes (*)     /lib/x86_64-linux-gnu/libnsl.so.1
0x00007fe37eed43b0  0x00007fe37eee11ec  Yes (*)     /lib/x86_64-linux-gnu/libresolv.so.2
0x00007fe37eeb88a0  0x00007fe37eec6695  Yes (*)     /lib/x86_64-linux-gnu/libbsd.so.0
0x00007fe37ee926a0  0x00007fe37eea63de  Yes (*)     /lib/x86_64-linux-gnu/libgpg-error.so.0
0x00007fe37ee68190  0x00007fe37ee81e11  Yes (*)     /lib/x86_64-linux-gnu/libtirpc.so.3
0x00007fe37ee19510  0x00007fe37ee4c96e  Yes (*)     /lib/x86_64-linux-gnu/libgssapi_krb5.so.2
0x00007fe37ed57810  0x00007fe37edb2e6c  Yes (*)     /lib/x86_64-linux-gnu/libkrb5.so.3
0x00007fe37ed06590  0x00007fe37ed2035c  Yes (*)     /lib/x86_64-linux-gnu/libk5crypto.so.3
0x00007fe37ecfc2c0  0x00007fe37ecfce89  Yes (*)     /lib/x86_64-linux-gnu/libcom_err.so.2
0x00007fe37ecee640  0x00007fe37ecf4021  Yes (*)     /lib/x86_64-linux-gnu/libkrb5support.so.0
0x00007fe37ece6270  0x00007fe37ece727c  Yes (*)     /lib/x86_64-linux-gnu/libkeyutils.so.1
0x00007fe37e4b6770  0x00007fe37e4ce1fc  Yes (*)     /lib/x86_64-linux-gnu/libudev.so.1
0x00007fe37e375870  0x00007fe37e3c2ba1  Yes (*)     /lib/x86_64-linux-gnu/libopenal.so.1
0x00007fe37e35b760  0x00007fe37e362037  Yes (*)     /lib/x86_64-linux-gnu/libsndio.so.7.0
0x00007fe37e312bd0  0x00007fe37e33bdab  Yes (*)     /lib/x86_64-linux-gnu/libjack.so.0
0x00007fe37ccef100  0x00007fe37ccf1ba9  Yes (*)     /lib/x86_64-linux-gnu/libGL.so.1
0x00007fe37cc34160  0x00007fe37cc36357  Yes (*)     /lib/x86_64-linux-gnu/libGLdispatch.so.0
0x00007fe37cbc33a0  0x00007fe37cbdd41c  Yes (*)     /lib/x86_64-linux-gnu/libGLX.so.0
0x00007fe37c28c100  0x00007fe37c2ea00f  Yes (*)     /lib/x86_64-linux-gnu/libGLX_nvidia.so.0
0x00007fe37c03c9a0  0x00007fe37c03e6a3  Yes (*)     /lib/x86_64-linux-gnu/libnvidia-tls.so.450.80.02
0x00007fe35d747040  0x00007fe35e806da7  Yes (*)     /lib/x86_64-linux-gnu/libnvidia-glcore.so.450.80.02
0x00007fe38146e0b0  0x00007fe3814764e5  Yes (*)     /lib/x86_64-linux-gnu/libxcb-glx.so.0
0x00007fe37cd38040  0x00007fe37cd3811b  Yes (*)     /lib/x86_64-linux-gnu/libX11-xcb.so.1
0x00007fe35d1a00c0  0x00007fe35d1a0e93  Yes (*)     /lib/x86_64-linux-gnu/libxcb-dri3.so.0
0x00007fe35d19a070  0x00007fe35d19a8d6  Yes (*)     /lib/x86_64-linux-gnu/libxcb-present.so.0
0x00007fe35d192120  0x00007fe35d1941e2  Yes (*)     /lib/x86_64-linux-gnu/libxcb-sync.so.1
0x00007fe35815cd90  0x00007fe3581e354e  Yes (*)     /lib/x86_64-linux-gnu/libglib-2.0.so.0
0x00007fe37cd52240  0x00007fe37cd53113  Yes (*)     /lib/x86_64-linux-gnu/libgmodule-2.0.so.0
0x00007fe37cd4c320  0x00007fe37cd4d4e8  Yes (*)     /lib/x86_64-linux-gnu/libpulse-simple.so.0
0x00007fe3535ef740  0x00007fe35361d116  Yes (*)     /lib/x86_64-linux-gnu/libgobject-2.0.so.0
0x00007fe3535701e0  0x00007fe3535c065d  Yes (*)     /lib/x86_64-linux-gnu/libpcre.so.3
0x00007fe35d25fe30  0x00007fe35d29e3f2  Yes (*)     /lib/x86_64-linux-gnu/libfluidsynth.so.2
0x00007fe35d2109f0  0x00007fe35d23a9f5  Yes (*)     /lib/x86_64-linux-gnu/libreadline.so.8
0x00007fe3582a9d70  0x00007fe358308947  Yes (*)     /lib/x86_64-linux-gnu/libinstpatch-1.0.so.2
0x00007fe35d1d8990  0x00007fe35d1e50a8  Yes (*)     /lib/x86_64-linux-gnu/libtinfo.so.6
(*): Shared library is missing debugging information.

* Threads
  Id   Target Id                                         Frame
* 1    Thread 0x7fe37ecdb900 (LWP 2430638) "gzdoom"      0x00007fe3809b21a7 in wait4 () from /lib/x86_64-linux-gnu/libc.so.6
  2    Thread 0x7fe37ecda700 (LWP 2430639) "gzdoom"      0x00007fe3812df7b2 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
  3    Thread 0x7fe37e285700 (LWP 2430654) "threaded-ml" 0x00007fe3809da39f in poll () from /lib/x86_64-linux-gnu/libc.so.6
  4    Thread 0x7fe37da84700 (LWP 2430655) "gzdoom"      0x00007fe3812df7b2 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
  5    Thread 0x7fe37d05c700 (LWP 2430656) "gzdoom"      0x00007fe3812e2174 in do_futex_wait.constprop () from /lib/x86_64-linux-gnu/libpthread.so.0
  6    Thread 0x7fe35ffff700 (LWP 2430658) "gzdoom"      0x00007fe3812df7b2 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0

* FPU Status
  R7: Empty   0x00000000000000000000
  R6: Empty   0x00000000000000000000
  R5: Empty   0x00000000000000000000
  R4: Empty   0x00000000000000000000
  R3: Empty   0x00000000000000000000
  R2: Empty   0x00000000000000000000
  R1: Empty   0x00000000000000000000
=>R0: Empty   0x00000000000000000000

Status Word:         0x0000                                           
                       TOP: 0
Control Word:        0x037f   IM DM ZM OM UM PM
                       PC: Extended Precision (64-bits)
                       RC: Round to nearest
Tag Word:            0xffff
Instruction Pointer: 0x00:0x00000000
Operand Pointer:     0x00:0x00000000
Opcode:              0x0000

* Registers
rax            0xfffffffffffffe00  -512
rbx            0x2516c5            2430661
rcx            0x7fe3809b21a7      140615091954087
rdx            0x0                 0
rsi            0x55d9fe948e74      94394767412852
rdi            0x2516c5            2430661
rbp            0xb                 0xb
rsp            0x55d9fe948e40      0x55d9fe948e40
r8             0x0                 0
r9             0x0                 0
r10            0x0                 0
r11            0x200293            2097811
r12            0x55d9fe948e74      94394767412852
r13            0x55d9fe946340      94394767401792
r14            0x22                34
r15            0x1090              4240
rip            0x7fe3809b21a7      0x7fe3809b21a7 <wait4+87>
eflags         0x200293            [ CF AF SF IF ID ]
cs             0x33                51
ss             0x2b                43
ds             0x0                 0
es             0x0                 0
fs             0x0                 0
gs             0x0                 0

* Backtrace

Thread 6 (Thread 0x7fe35ffff700 (LWP 2430658) "gzdoom"):
#0  0x00007fe3812df7b2 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#1  0x000055d9fe45f3bc in std::condition_variable::wait(std::unique_lock<std::mutex>&) ()
No symbol table info available.
#2  0x000055d9fe092670 in OpenALSoundRenderer::BackgroundProc() ()
No symbol table info available.
#3  0x000055d9fe4cd520 in ?? ()
No symbol table info available.
#4  0x00007fe3812d8ea7 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#5  0x00007fe3809e4d8f in clone () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.

Thread 5 (Thread 0x7fe37d05c700 (LWP 2430656) "gzdoom"):
#0  0x00007fe3812e2174 in do_futex_wait.constprop () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#1  0x00007fe3812e2278 in __new_sem_wait_slow.constprop.0 () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#2  0x00007fe37e3c2a39 in ?? () from /lib/x86_64-linux-gnu/libopenal.so.1
No symbol table info available.
#3  0x00007fe37e38712d in ?? () from /lib/x86_64-linux-gnu/libopenal.so.1
No symbol table info available.
#4  0x00007fe37e3c2587 in ?? () from /lib/x86_64-linux-gnu/libopenal.so.1
No symbol table info available.
#5  0x00007fe3812d8ea7 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#6  0x00007fe3809e4d8f in clone () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.

Thread 4 (Thread 0x7fe37da84700 (LWP 2430655) "gzdoom"):
#0  0x00007fe3812df7b2 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#1  0x00007fe3807cab88 in pa_threaded_mainloop_wait () from /lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#2  0x00007fe37e3bbe7e in ?? () from /lib/x86_64-linux-gnu/libopenal.so.1
No symbol table info available.
#3  0x00007fe37e3c2587 in ?? () from /lib/x86_64-linux-gnu/libopenal.so.1
No symbol table info available.
#4  0x00007fe3812d8ea7 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#5  0x00007fe3809e4d8f in clone () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.

Thread 3 (Thread 0x7fe37e285700 (LWP 2430654) "threaded-ml"):
#0  0x00007fe3809da39f in poll () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#1  0x00007fe3807ca4f2 in ?? () from /lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#2  0x00007fe3807bbe39 in pa_mainloop_poll () from /lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#3  0x00007fe3807bc4bf in pa_mainloop_iterate () from /lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#4  0x00007fe3807bc570 in pa_mainloop_run () from /lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#5  0x00007fe3807ca439 in ?? () from /lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#6  0x00007fe37f9e7268 in ?? () from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-13.0.so
No symbol table info available.
#7  0x00007fe3812d8ea7 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#8  0x00007fe3809e4d8f in clone () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.

Thread 2 (Thread 0x7fe37ecda700 (LWP 2430639) "gzdoom"):
#0  0x00007fe3812df7b2 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#1  0x000055d9fe45f3bc in std::condition_variable::wait(std::unique_lock<std::mutex>&) ()
No symbol table info available.
#2  0x000055d9fddb0c2b in ctpl::thread_pool::set_thread(int)::{lambda()#1}::operator()() const ()
No symbol table info available.
#3  0x000055d9fe4cd520 in ?? ()
No symbol table info available.
#4  0x00007fe3812d8ea7 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#5  0x00007fe3809e4d8f in clone () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.

Thread 1 (Thread 0x7fe37ecdb900 (LWP 2430638) "gzdoom"):
#0  0x00007fe3809b21a7 in wait4 () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#1  0x000055d9fdc1ddfc in ?? ()
No symbol table info available.
#2  <signal handler called>
No symbol table info available.
#3  0x00007fe380a41faa in ?? () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#4  0x00007fe358180189 in g_str_equal () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#5  0x00007fe35817ebd3 in g_hash_table_lookup () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#6  0x00007fe3581a1c2b in g_intern_static_string () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#7  0x00007fe3582aaf8d in ?? () from /lib/x86_64-linux-gnu/libinstpatch-1.0.so.2
No symbol table info available.
#8  0x00007fe3582ab325 in ipatch_base_get_type () from /lib/x86_64-linux-gnu/libinstpatch-1.0.so.2
No symbol table info available.
#9  0x00007fe358305812 in ipatch_init () from /lib/x86_64-linux-gnu/libinstpatch-1.0.so.2
No symbol table info available.
#10 0x00007fe35d287680 in new_fluid_synth () from /lib/x86_64-linux-gnu/libfluidsynth.so.2
No symbol table info available.
#11 0x00007fe380ca88bb in FluidSynthMIDIDevice::FluidSynthMIDIDevice(int, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&) () from /opt/gzdoom/libzmusic.so.1
No symbol table info available.
#12 0x00007fe380ca8e7e in CreateFluidSynthMIDIDevice(int, char const*) () from /opt/gzdoom/libzmusic.so.1
No symbol table info available.
#13 0x00007fe380cb7c1f in MIDIStreamer::CreateMIDIDevice(EMidiDevice_, int) () from /opt/gzdoom/libzmusic.so.1
No symbol table info available.
#14 0x00007fe380cb8dfb in MIDIStreamer::Play(bool, int) () from /opt/gzdoom/libzmusic.so.1
No symbol table info available.
#15 0x00007fe380cbcf58 in ZMusic_Start () from /opt/gzdoom/libzmusic.so.1
No symbol table info available.
#16 0x000055d9fe09f9b1 in S_ChangeMusic(char const*, int, bool, bool) ()
No symbol table info available.
#17 0x000055d9fde46c0b in D_DoAdvanceDemo() ()
No symbol table info available.
#18 0x000055d9fde52083 in TryRunTics() ()
No symbol table info available.
#19 0x000055d9fde47033 in D_DoomLoop() ()
No symbol table info available.
#20 0x000055d9fde4aa1d in ?? ()
No symbol table info available.
#21 0x000055d9fde4bb39 in GameMain() ()
No symbol table info available.
#22 0x000055d9fdbff162 in main ()
No symbol table info available.
[Inferior 1 (process 2430638) detached]

Saako tätä jotenkin ratkaistua?
 
gnome-terminal -- echo foo
Ei toimi, kokeilin tuotakin aiemmin. Tuolla ei edes aukea toista konsolia kun tuon komennon ajaa konsolista (ei toimi myöskään nemo scriptin kauttakaan). Tuosta tulee vain konsoliin:
Koodi:
# _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for ‘gio-vfs’
# _g_io_module_get_default: Found default implementation dconf (DConfSettingsBackend) for ‘gsettings-backend’
# watch_fast: "/org/gnome/terminal/legacy/" (establishing: 0, active: 0)
# unwatch_fast: "/org/gnome/terminal/legacy/" (active: 0, establishing: 1)
# watch_established: "/org/gnome/terminal/legacy/" (establishing: 0)

Eikö tosiaan pysty guista avaamaan konsolia joka suorittaisi jotain määrättyä koodia? Jos ei niin kyllä on vaan hankala tämä linux maailma, jatkuvasti on tämäntyyppisiä hidasteita / käytettävyyden hankaloittajia vastassa. :(

Ei nyt taas ymmärrä, miten se gui-pökäle auttaisi tilanteessa?
Tarkoitat siis mitä? Gui-softaa jolla voisi tarkistaa hasheja? Windowsissahan se on helppoa kun löytyy hyviä softia, sen kuin vaan asentaa softan ja tuplaklikkaa jotain hashitiedostoa tiedostonhallinnassa niin se softa avaa gui-ikkunan ja alkaa välittömästi tsekkaamaan niitä hasheja siitä tiedostosta läpi (tämähän ei kait linuxissa onnistu kun tiedostopäätteillä ei ole merkitystä (hash-tiedosto kun on "tekstitiedosto", oli sen päätteenä mikä tahansa), tai sitten voi mutta pitäisi tehdä jotain konffeja mime-type juttuihin?).

Vai se, että kun sellaista hyvää gui-softaa en ole löytänyt niin voisi nopeasti käynnistää tiedostonhallinnasta kahdella hiiren klikkauksella hash tsekkauksen tietylle hasheja sisältävälle tiedostolle jollain cli-softalla joka näkyisi vaan sitten konsoli-ikkunassa?

EDIT: Tässä vielä windowsista screenshotti miten homma toimii hienosti pelkästään hash-tiedostoa tuplaklikkaamalla:

hash.png


Jos tuollaista softaa ei löydy linuxille niin sitten olisi kiva saada se konsoli-ikkuna auki ja rhash siihen tekemään työnsä. Ja siis se lähtisi niin käyntiin, että nemosta valitsee sen hash-tiedoston ja hiiren oikeannapin valikosta valitsee "Scripts" alavalikosta sen skriptin joka tsekkaa ne hashit konsolissa.

Jos ne hashilistat on täyspäisessä formaatissa niin komentorivityökalut hoitaa sen kyllä. Jos taas ei ole niin miksi pitää tarkistustyökalua vaihtaa sen takia että syöte on paskaa?
Ei ole syöte paskaa, täysin toimivia windows-puolella parilla eri hash-softalla. Voit ihan itse kokeilla jos et usko. Tässä pieni esimerkki "md5sum"-softasta kuinka se paskoo allensa kun sille syöttää CRLF tiedostoa:
Koodi:
$ file -i super_grub2_disk_hybrid_2.04s1.iso.md5
super_grub2_disk_hybrid_2.04s1.iso.md5: text/plain; charset=us-ascii

$ file super_grub2_disk_hybrid_2.04s1.iso.md5
super_grub2_disk_hybrid_2.04s1.iso.md5: ASCII text, with CRLF line terminators

$ md5sum -c super_grub2_disk_hybrid_2.04s1.iso.md5
md5sum: 'super_grub2_disk_hybrid_2.04s1.iso'$'\r': No such file or directory
: FAILED open or readid_2.04s1.iso
md5sum: WARNING: 1 listed file could not be read

$ rhash -c super_grub2_disk_hybrid_2.04s1.iso.md5

--( Verifying super_grub2_disk_hybrid_2.04s1.iso.md5 )--------------------------
super_grub2_disk_hybrid_2.04s1.iso                  OK
--------------------------------------------------------------------------------
Everything OK

$ tr -d '\r' < super_grub2_disk_hybrid_2.04s1.iso.md5 > super_grub2_disk_hybrid_2.04s1.iso.NEW.md5

$ file -i super_grub2_disk_hybrid_2.04s1.iso.NEW.md5
super_grub2_disk_hybrid_2.04s1.iso.NEW.md5: text/plain; charset=us-ascii

$ file super_grub2_disk_hybrid_2.04s1.iso.NEW.md5
super_grub2_disk_hybrid_2.04s1.iso.NEW.md5: ASCII text

$ md5sum -c super_grub2_disk_hybrid_2.04s1.iso.NEW.md5

super_grub2_disk_hybrid_2.04s1.iso: OK
Huomaa mitä "md5sum" tulostaa ensimmäisellä kerralla: ": FAILED open or readid_2.04s1.iso". Ei ihan mene putkeen tuon virheen tulostus. Jos tiedostoa ei löydy (ja ei ole CRLF:ää) niin softa valittaa näin: "BLEHsuper_grub2_disk_hybrid_2.04s1.iso: FAILED open or read". Lisäsin siis tuon alun BLEH tekstin hash-tiedostoon.

Rhash ei taas osaa käsitellä hash-tiedostoa jos koodaus ei ole sopiva, ainakaan ei minun "iso-8859-1" tiedostoja joissa ääkkösiä mukana.

Tuolla pitäs ulostaa utf-8 konsoliin. Ja jos tiedostoon sen haluat niin vaikka
cat tiedosto.md5 | iconv -t utf-8 > tiedosto_utf-8.md5
Ei onnistunut pelkällä tuolla, kompastui ensimmäiseen ääkköseen:
Koodi:
$ cat 'Aki Sirkesalo - Mielenrauhaa.md5' | iconv -t utf-8
25586c90db39176cb8137311ffa31fe2 *Aki Sirkesalo - Mielenrauhaa - 01 - Pelkkiconv: illegal input sequence at position 198

Piti laittaa -f iso-8859-1 -t utf-8 niin toimi. Rhash osaa uuden konvertoidun hash-tiedoston nyt käydä läpi. Md5sum ei vieläkään koska CRLF:t vielä tiedostossa (näitä ei tarvitse lähteä konvertoimaan kun rhash toimii).
 
Viimeksi muokattu:

Uusimmat viestit

Statistiikka

Viestiketjuista
301 369
Viestejä
5 131 502
Jäsenet
81 974
Uusin jäsen
Grouse

Hinta.fi

Back
Ylös Bottom