Vlákno názorů k článku
Windows 10 aktualizují linuxové jádro pro WSL2 pomocí Windows Update od Smazaný profil - Ja to beru jako takovy nativnejsi Cygwin a...

  • Článek je starý, nové názory již nelze přidávat.
  • 13. 6. 2020 11:26

    Smazaný profil

    Ja to beru jako takovy nativnejsi Cygwin a prostredi na rozkoukani se v Linuxu a v prikazove radce pro windowsaka, ktery uvazuje o zmene, nebo prechodu, ale zatim si netroufa na kompletni zmenu.

  • 13. 6. 2020 23:23

    Miroslav Šilhavý

    To si třeba nemyslím. Ten, kdo je na Windows a chce se rozkoukat v příkazové řádce, tak nevolí Cygwin, ale začne se učit PowerShell. A přiznejme si, že PowerShell je o několik dekád modernější a mocnější nástroj, než jakýkoliv shell v Linuxu.

  • 13. 6. 2020 23:49

    klokan

    Není tak docela pravda, že by byl modernější než jakýkoli shell v Linuxu, např. PowerShell v Linuxu :) Ale vážně, v principu máte pravdu, jenom já bych šel ještě dál a řekl bych, že shell (jakýkoli) jako takový je katastrofa a anachronismus z hlediska bezpečnosti, udržovatelnosti, výkonu, uživatelské přívětivosti atd. U moderního OS má být primární formou interakce se systémem API, ne příkazy nebo nedej bože parsování textu, a tato API by se měla ovládat nějakým jednoduchým ale nedementním jazykem stylu Ruby, Python apod. Konkrétně v Linuxu by roli "shellu" (pokud se to tak dá nazvat) měl plnit dbus, a bash, zsh a jakýkoli jiný **sh by měl konečně patřit na smetiště.

  • 14. 6. 2020 0:14

    k3dAR

    "jiste"... kilometry PowerShell skriptu nahradi genialne pouziti nekolika GNU/NonGNU nastroju v GNU/Linuxu... aneb sila shellu v GNU/Linuxu je prave to ohromne mnozstvi dostupnych nastroju pro skoro cokoliv ktere se shell skriptem (vicemene) "poslepuji" dohromady...

    BTW: jake ze "Jsou na to PS příkazy." na aktualizaci Windows?

    v GNU/Linux v shellu pouziju snadno:
    apt update -qq && apt upgrade -y && apt full-upgrade -y && apt --purge autoremove -y && apt clean
    ktere provede:
    1. vyhledani aktualizaci
    2. provedeni "zakladni" stazeni a instalace aktualizaci
    3. provedeni "rozsirene" stazeni a instlace aktualizaci
    4. odinstalovani osirelejch balicku
    5. smazani stazenych balicku z cache

  • 14. 6. 2020 0:53

    Miroslav Šilhavý

    @k3dAR

    aneb sila shellu v GNU/Linuxu je prave to ohromne mnozstvi dostupnych nastroju pro skoro cokoliv ktere se shell skriptem (vicemene) "poslepuji" dohromady

    Toto byla síla před čtyřiceti, třiceti, dvaceti roky a vůbec se netýká GNU a Linuxu, ty to jen převzaly. Dodnes je to šikovné, ale už jsou daleko pohodlnější a bezpečnější instrumentace. Pajpování textového výstupu je závislé na locales a na tom, že program v pajpě nezmění svůj výstup. Tento požadavek zase omezuje autory, aby šli dopředu. Autoři musejí udržovat výstup stejně pitomý, jako před lety a autoři alternativ často své výstupy doplňují o kompatibilní s nějakým starším nástrojem. Když chcete současně pracovat se stdout i stderr, tak je to na mašli. Nemluvě o tom, že není pevná konvence, co jde do stdout a do stderr (např. rozlišení chyb běhu samotného programu vs. chyby při zpracování dat). Je to prostě uhozené, PS vs. *sh je jako nebe a dudy. Jistě, naučit se PS je opravdu náročnější a nenajdete na to milion "kuchařek" jako pro unix(-like) systémy (a co člověk dnes najde na internetu za rady, jeden by plakal).

    apt update -qq && apt upgrade -y && apt full-upgrade -y && apt --purge autoremove -y && apt clean

    Když považujete za "výhodu" takovou chujovinu scriptovat. Mně přijde jednodušší, když se o to OS postará sám a já mu jen nastavím pravidla pomocí GPO (a to jedině, když cítím potřebu něco změnit).

  • 14. 6. 2020 1:02

    k3dAR

    sila vyuziti nastroju v shell scriptu je to i dnes a bude i zitra, tvuj ms-fan anti-postoj to rozhodne nezmeni ;-) na locale to nezalezi jendoduse:
    LANG=C program | grep 'po celem svete stejnej vystup'

    ale chapu ze tedy obhajujes ty kilometrove PS skripty i na malickosti ;-)

    > Když považujete za "výhodu" takovou chujovinu scriptovat.
    > Mně přijde jednodušší, když se o to OS postará sám
    > a já mu jen nastavím pravidla pomocí GPO
    > (a to jedině, když cítím potřebu něco změnit)

    to je reseni pro tve omezene potreby, pro me GPO neni resenim, takze znovu, psal si ze na aktualizaci jsou "PS prikazy" je to tajne dostupne jen zamestnancum Microsoftu, ze nenapises jake? ;-)

    pokud myslis tohle: http://woshub.com/pswindowsupdate-module/
    tak to vyzaduje doinstalovani modulu, neni to v W10 out-of-box, je tedy neco tajneho jineho?

  • 14. 6. 2020 1:28

    Miroslav Šilhavý

    to je reseni pro tve omezene potreby, pro me GPO neni resenim

    Asi jste si vytvořil nějakou dost nestandardní situaci, skoro bych řekl, že Vaše potřeby jsou "ty omezené".

    pokud myslis tohle: http://woshub.com/pswindowsupdate-module/
    tak to vyzaduje doinstalovani modulu

    Mno když to berete takhle, tak na Linuxu out of box nemáte vlastně nic. Bez doinstalování balíčku si neškrtenete. Rozhodně bych asi neodkazoval na nějakou kdovíjakou stránku, najdete to přímo v TechNet Gallery: https://gallery.technet.microsoft.com/scriptcenter/2d191bcd-3308-4edd-9de2-88dff796b0bc

    Ale když už tedy chcete diskutovat dál o Vašich neznalostech, tak můžeme. Tady máte dokumentaci k WUA API: https://docs.microsoft.com/en-us/windows/win32/wua_sdk/using-the-windows-update-agent-api, které můžete volat s PS přímo z vlastních scriptů bez doinstalování čehokoliv, naprostou out of box.

  • 14. 6. 2020 2:56

    k3dAR

    @Miroslav Šilhavý

    "tve omezene potreby" bylo mysleno ze si vystacis s tim jednim resenim od MS, tedy mit MS WIndows Server co MS WIndows stanicim pres GPO posle ukol, jakmile ma byt resen jinej model tak GPO proste neni resenim.... samozrejme sem nepsal ze potrebuju resit mainstream situaci a ty okrajovou, to ale jako demagog jiste vis...

    na GNU/Linuxu mam out-of-box (mimojine) spravce balicku...

    > Rozhodně bych asi neodkazoval na nějakou kdovíjakou stránku
    na te strance byl odkaz kterej si pak postnul...

    Ale když už tedy chcete diskutovat dál o Vašich neznalostech, tak můžeme
    se pletes, ja polozil otazku #1, ty jsi reagoval mlhave, pouze sem chtel vedet zda z tebe vypadne neco nebo sis jen vymejslel, v pripade ze bys napsal o necem co mi uniklo tak nemam problem uznat ze sem to nevedel, pomohlo mi to a uprimne podekovat, to se ale nestalo misto toho se naparujes :-)

    nicmene ten tvuj odkaz k WUA API nikde tam nevidim zminku o PS, jedine k veci by tam bylo "Searching, Downloading, and Installing Updates" coz neni o PS, ale VB skript kterej sem (upravenej a mozna starsi verzi) roky pouzival pro reseni tehoz ale s W7, ve W10 se to chovalo nepredvidatelne.

    EDIT: nicmene to vypada ze odpoved na otazku "Ma Windows nejakou normalni fukncni moznost jak uzivatel muze vyvolat hledej&stahni&na­instaluj z prikazoveho radku alespon se zlomkem elegance jako je bezne od minuleho tisicileti v GNU/Linuxu" je bohuzel "NE NEMA" ;-)

    14. 6. 2020, 02:58 editováno autorem komentáře

  • 14. 6. 2020 3:07

    k3dAR

    @Miroslav Šilhavý

    BTW: podival sem se na poznamku odkud sem ten VB skript pouzivanej v W7 stahl:


    k3dar@server:~$ cat WUA_SearchDow­nloadInstall.vbs­.url
    https://msdn.microsoft.com/en-us/library/aa387102(VS.85).aspx

    k3dar@server:~$ ls -l WUA_SearchDow­nloadInstall.vbs­.url
    -rw-r--r-- 1 root root 62 pro 9 2015 WUA_SearchDow­nloadInstall.vbs­.url

    tedy pred ~5lety z totozne adresy ktera byla na tom tvem hrdinskem odkazu ;-)

  • 14. 6. 2020 3:53

    Miroslav Šilhavý

    @k3dAR

    Vymýšlíte hovadiny. Přes Install-Module stačí nainstalovat ten PSWindowsUpdate. Install-Module ho stáhne a nainstaluje (asi tak, jako apt).

    Pokud chcete využít to API, nastudujte si https://docs.microsoft.com/en-us/dotnet/api/system.management.automation.host?view=powershellsdk-7.0.0

    Mohlo by taky pomoct https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/new-object?view=powershell-7

    I ta Vaše okrajová situace je řešitelná, když už nemůžete využít ani GPO, ani Install-Module. Na Windows je holt zvykem dodržovat především doporučení a ne si všechno robit na koleni a ještě si libovat v tom že "si to dělám po svém".

  • 14. 6. 2020 5:28

    k3dAR

    @Miroslav Šilhavý
    > Přes Install-Module stačí nainstalovat ten PSWindowsUpdate

    sice uz sem zjistil [*1], ale rekl sem si ze tohle take zkusim, ale:
    1. nestaci nainstalovat PSWindowsUpdate, chce doinstalovat (Install-PackageProvider) NuGet
    2. po nainstalovani NuGet sem pri instalaci PSWindowsUpdate upozornen ze "Untrusted repository You are installing the module from an untrusted repository" [PSGallery] ... (default is "N") :-D

    a kdyz tedy prehlednu ze ma, to co podle tebe staci nainstalovat, byt z neduveryhodneho repositare, tak kdyz to pak chci odinstalovat, tak jakmile chci odinstalovat NuGet narazim na to ze (pro Install-PackageProvider) neexistuje zpetnej Uninstall-PackageProvider...


    >> na GNU/Linuxu mam out-of-box (mimojine) spravce balicku...
    > Zatímco příkaz Install-Module v PowerShellu ne?

    Install-Module je, ALE musim pres nej doinstalovat "spravce aktualizaci" v GNU/Linuxu opravdu nemusim pres spravce aktualizaci apt instalovat "spravce aktualizaci" :-D

    EDIT: *1) ze WUA_SearchDow­nloadInstall.vbs kterej sem zkusil "od MS" ten letos aktualizovan, pak i ten muj 5let starej+poupravenej, tak oba v W10 funguji pokud vyradim presmerovani vystup do souboru (coz s W7 fungovalo), pokud to necham tak se vbs ukonci po te co zobrazi ze bude stahovat aktualizace...

    14. 6. 2020, 05:30 editováno autorem komentáře

  • 14. 6. 2020 5:47

    k3dAR

    EDIT2: pokracovani k "staci nainstalovat ten PSWindowsUpdate"

    takze po schvaleni neduveryhodneho repozitare sem chtel pustit PSWindowsUpdate vyhledani aktualizaci "Get-WUInstall" a vyzkocilo na me:

    PS C:\Windows\sys­tem32> Get-WUInstall
    Get-WUInstall : The 'Get-WUInstall' command was found in the module 'PSWindowsUpdate', but the module could not be
    loaded. For more information, run 'Import-Module PSWindowsUpdate'.
    At line:1 char:1
    + Get-WUInstall
    + ~~~~~~~~~~~~~
    + CategoryInfo : ObjectNotFound: (Get-WUInstall:String) [], CommandNotFou­ndException
    + FullyQualifie­dErrorId : CouldNotAutolo­adMatchingModu­le


    PS C:\Windows\sys­tem32> Import-Module PSWindowsUpdate
    Import-Module : File C:\Program Files\WindowsPo­werShell\Modu­les\PSWindowsUp­date\2.2.0.2\PSWin­dowsUpdate.psm1 canno
    t be loaded because running scripts is disabled on this system. For more information, see about_Executi­on_Policies
    at https:/go.micro­soft.com/fwlin­k/?LinkID=135170.
    At line:1 char:1
    + Import-Module PSWindowsUpdate
    + ~~~~~~~~~~~~~­~~~~~~~~~~~~~~~~
    + CategoryInfo : SecurityError: (:) [Import-Module], PSSecurityException
    + FullyQualifie­dErrorId : UnauthorizedAc­cess,Microsof­t.PowerShell.Com­mands.ImportMo­duleCommand

    tedy po "staci" nainstalovat, je potreba jeste modul importovat, to ale neni mozne protoze je zakazano spousteni skriptu :-D

    14. 6. 2020, 05:49 editováno autorem komentáře

  • 14. 6. 2020 1:24

    klokan

    Souhlas. Trvání na tom, že shell, který neumí nic jiného, než (blbě) parsovat řádky ASCII textu bez jakéhokoli typování, formátování nebo kontroly chyb je jednou pro vždy nejlepší a že jakýkoli problém se nejlépe řeší pomocí sed/awk/grep je právě to skalní fanouškovství, o kterém tady byla řeč...

  • 14. 6. 2020 8:44

    r23

    "Mně přijde jednodušší, když se o to OS postará sám a já mu jen nastavím pravidla pomocí GPO (a to jedině, když cítím potřebu něco změnit)."

    Problém je, že ten systém toho dělá sám až příliš, a zřejmě to nelze za 100% ovlivnit a to ani přes GPO (typicky vynucování aktualizací, a zvláště vynucování aktualizací ovadačů). Nastavit to sice jde, ale v některých případech to systém ignoruje....
    To je fatální problém.Je nepřijatelné, aby si to žilo svým životem.

  • 15. 6. 2020 13:39

    Adam Kalisz
    Stříbrný podporovatel

    Dost jsem se PowerShellem zabýval a opravdu jsem tím chtěl řešit reálné a palčivé problémy, ale v době, kdy jsem to potřeboval především (2015) byla situace kolem PowerShellu tristní a úkoly (v tomto případě audit oprávnění k souborům a mapping AD uživatelů na AD skupiny a diff mezi tím v čase) jsem jím nemohl _efektivně_ řešit. V shellu/ s typicky *nixovými nástroji je tohle otázka na jeden screen full, v Pythonu možná na víc, ale pořád neporovnatelně přirozenější a konzistentnější, než možná řešení v PowerShellu (tuším sotva 3.0) té doby.

    Ano, ten jazyk je skoro i elegantní a mocný, dejme tomu srovnatelný s Pythonem. Jenže v Pythonu apod. máte spoustu užitečných nástrojů/ modulů už nainstalovaných a většina funguje multiplatformě. U PowerShellu tohle teprve teď začíná náznakem nějak existovat. Hodně taky pomohlo, že má Windows aspoň možnost mít pořádný SSH klient a server. Některé věci se tím holt řeší jednodušeji.

    V reálu ale PowerShell na jednořádkové příkazy moc používat nejde, to by si člověk dřív zničil ruce psaním. Spousta věcí s tím stále ještě není opravdu dobře integrovaná (právě třeba ten Windows Update) a na spoustě místech jsou nedodělky v ekosystému, které zbytečně věci zesložiťují. Věci, na které je v každé instalaci Pythonu minimálně deset let nějaký modul a pro užitek často stačí jeden řádek (třeba SimpleHTTPServer), tak tohle v PowerShellu ani dnes není a hackuje se to nějak přes C#, což zbytečně do celé věci zanáší složitost. Další věc je kultura, pod Windows je rozšířená kultura všechno naklikat nebo si někde zařídit nějakou centrální instanci s (ideálně dodatečně licencovaným) systémem, který mi zase zprostředkuje GUI. Pod Linuxem se v reálu skriptuje běžně a funguje to obyčejně od jednotek systémů (což se hodí na web serveru nějakého malého podniku) i do tisíců a víc. GPO pro tři počítače doma asi nastavovat nebudu. Další věc je, že Windows 10 Home ale i Pro nemůžu skutečně spravovat, ale jen usměrňovat. Opravdovou kontrolu např. nad telemetrií, reklamou, aplikacemi, restartem po aktualizaci apod. nemám - klidně mě opravte, pokud nemám pravdu.

    Ano, běžná Linuxová distribuce taky není svatý grál konzistentního návrhu, protože žádný takový návrh není a v podstatě ani u _distribuce_ čehokoliv nemůže být. Ve Windows by jednotný, konzistentní záměr patrný být mohl, ale není. Přístupů je tam minimálně stejně tolik jako na Linuxu, ale na Linuxu si můžete přečíst ke všemu zdrojový kód, v posledních letech pomocí BPF (ftrace/ perf/ bcc/ bpftrace apod.) ověřit, že to i za běhu skutečně tak funguje a pokud ne, tak cokoliv změnit k obrazu svému nebo někoho zaplatit, aby to udělal.

    Já "Linux" v podobě neplacených distribucí považuju spíš za jakýsi framework s referenční implementací (něco jako Ikea flatpack nábytek) než nějaký hotový produkt - počítám s tím, že nějakou práci evtl. budu muset investovat i když dosud to bylo spíše méně práce než údržba Windows předtím. RHEL a SLES apod. tam zase čekám, že když s něčím nemůžu pohnout, tak napíšu na support a tak do dne mám u většiny věcí aspoň návrh nějakého rozumného řešení problému. U Windows jsem se s tímto nesetkal, asi dělám něco špatně.

    V neposlední řadě je momentálně pocitově víc vývoje kolem Linuxu, než kolem Windows. Možná žiju v bublině. I když se Microsoft dost snaží do Windows různě investovat, musí zohledňovat ekosystém kolem Linuxu - bariéry přechodu se obousměrně během posledních let zásadně snížily, takže je možné použít na problém správný nástroj a nemuset se rozhodnout předem a potom dělat všechno jedním nástrojem. Někdy je správné/ relativně lehké řešení zavést v kanceláři Active Directory a Windows stanice. Někdy je lepší nasadit web na Linuxu + Apache/ nginx a do výuky ve škole např. Chromebooky.

  • 14. 6. 2020 1:32

    klokan

    To právě není příklad žádné "síly". APT je jistě dobrý nástroj, jenže je napsaný v C a na hony vzdálený oné pověstné "filozofii". Automatizaci volání podobných nástrojů zvládne každý vysokoúrovňový skriptový jazyk, a při troše štěstí umožní doopravdy odchytávat chyby, předávat data mezi jednotlivými kroky jako strukturované, typované objekty s přístupem zero-copy (a ne jenom jako oktety zkrz roury) a bez rovnáků na ohejbáky na rovnáky na ohejbáky na odfiltrování separátorů a znaků, jako ', ", ; a jiných. PowerShell je krok správným směrem, ale na to , co umí, mi připadá zbytečně složitý a překombinovaný.

  • 14. 6. 2020 1:37

    Miroslav Šilhavý

    PowerShell je krok správným směrem, ale na to , co umí, mi připadá zbytečně složitý a překombinovaný.

    S tím bych dokázal souhlasit, ale nejsem v PS tak zkušený, abych posoudil, jestli je ta překombinovanost účelná. Pro k3dARa to bude asi těžko k uvěření, ale daleko víc znám i používám bash (i tcsh), přesto vím, že líp a bezpečněji a s větším potenciálem se mi pracuje s PowerShellem. Netrnu u něj hrůzou, co nepředpokládaného se mi v rouře objeví a nedokážu odchytit.

  • 14. 6. 2020 14:36

    Youda

    To je vtip?

    Ja jsem bohuzel s tim mykosoftim zoufalstvim neco delat musel.

    A naprosto me tehda dorazilo tohle.

    https://stackoverflow.com/questions/3896258/how-do-i-output-text-without-a-newline-in-powershell

    V tom zprasku neexistuje zpusob, jak zapsat text na vystup bez newline na konci a de pokracovat pomoci pipe v dalsim zpracovani.

    Takze prosty generator CSV je no go, vypsat test bez newline na konci umi jenom nizourovnovy write-host, jehoz vystupem je konzole a jehoz vystup nelze dale poslat k dalsimu zpracovani do pipe.

    Musem jsem s tim zprask delat, protoze v tom byla.psana klientska aplikace pro nacitani dat.

    Neco neuveritelneho, skoncil jsem tak, ze powershell core jsem si nainstaloval do linuxu, ten jenom hloupe vycital data, zbytek jsem obalil normalnim pouzitelnym shellem.

  • 14. 6. 2020 18:12

    L.
    Stříbrný podporovatel

    Prostě klasický produkt Microsoftu. Taky jsem v PowerShellu zkoušel něco dělat a je to děs běs, šíleně překomplikované. Zlatý normální shell.

  • 14. 6. 2020 12:45

    bez přezdívky

    hlavni problem awk a podobnych nastroju v Linuxu je, ze neexistuje standardizovany zpusob pojmenovani sloupcu v lozich. Pracuje se s indexy sloupcu, coz je dost primitivni.

    14. 6. 2020, 12:49 editováno autorem komentáře

  • 15. 6. 2020 9:00

    czechsys

    Jo, myslite mnohdy natvrdo nastaveny pocet znaku na sloupec?