Użyteczne mniej znane narzędzia trybu tekstowego systemu linux

W ostatnim czasie niestety nie miewam za dużo czasu na napisanie naprawdę dobrego dłuższego tekstu.Nie wiem też,czy nie będę musiał na dłuższy czas przerwać pisania tutaj.Jeśli się na to zdecyduję na pewno pojawi się stosowna informacja.

Tymczasem jednak, może choć dla niektórych czytelników interesująca może być lista ciekawych narzędzi dostępnych w systemie Linux o których nie wspomina się w standardowych podręcznikach – uważam,że ma to całkiem sporo sensu. Część z tych aplikacji jest instalowana domyślnie,część trzeba dopiero zainstalować.

  • split – jest z kolei narzędziem do dzielenia plików w systemie Linux. Podział można przeprowadzić na wiele sposobów np:

split -b1m nazwa a

dzieli plik o nazwie „nazwa” na części o rozmiarze 1mb i nazwach zaczynających się na literę „a”.

Jeśli jednak chodzi o archiwa polecam choćby zipsplit.

  • cat – choć jest to stosunkowo prymitywne narzędzie stosowane głównie do wyświetlania zawartości plików można też łączyć ich zawartości. wystarczy wpisać:

cat nazwa1 nazwa2 > nazwa_out

co ciekawe – pliki można też odczytać od końca używając polecenia tac.

  • bc – rodzaj kalkulatora, domyślnie operuje na liczbach całkowitych. wyjście przez „quit”
  • links i lynx – przeglądarki stron www. Pierwsza dysponuje klasycznym menu,druga bywa bardziej kolorowa. Z przeglądarki lynx można wyjść naciskając „q”
  • mc – większość administratorów zapewne i tak korzysta z tego menadżera plików podobnego do Norton Commandera. Wyjście przez komendę F10
  • nano / pico – stosunkowo prosty i przyjemny dla użytkownika edytor tekstu
  • tar – teoretycznie jest narzędziem archiwizacji,jednak jego domyślą funkcją było łączenie plików w 1 dla napędu kasetowego. Można nim zatem zarchiwizować również bez równoczesnej kompresji pliki poleceniem:

tar -cf archive.tar plik1 plik2

  • chroot – uruchamiany z prawami roota program który zmienia katalog główny uruchamianej aplikacji. Choć w teorii niektórzy mogą go traktować jako „coś w rodzaju wirtualizacji” nie jest całkiem bezpieczny i wymaga do uruchomienia konta root.
  • dd – ponieważ w linuksie wszystko jest plikiem, jest to narzędzie do odczytu i kopiowania niestandardowych plików. Z narzędzia dd należy korzystać ostrożnie. Dość powszechnym zastosowaniem jest tworzenie kopii dysków (również dysków twardych), odzyskiwanie danych i nie tylko. dzięki dd można odzyskać skasowane i nie nadpisane pliki. Przykład zastosowania:

dd if=/dev/cdrom of=/home/user/obraz_plyty.iso   -> tworzenie obrazu płytki

  • diff – narzędzie do porównywania zawartości plików

diff plik1 plik2  -> wyświetla różnice

  • factor – narzędzie do faktoryzacji mniejszych liczb (rozkład na czynniki pierwsze)
  • fbi – przeglądarka obrazków (tylko dla konsoli,nie dla jej emulatora ze środowiska graficznego)
  • fbgs – przeglądarka pdf – jak wyżej (uwaga: konwertuje strony do tiff w celu przeglądania)
  • fdisk , cfdisk – narzędzia do partycjonowania dysków
  • find – narzędzie do szukania plików przykładowe wyszukiwanie:

find katalog -name ‚ala_ma_kota’ -> szuka w danym katalogu pliku o nazwie ala_ma_kota

  • lrzip i (w przypadku rozpakowywania plików tar-owanych) lruntar – obok narzędzi do archiwizacji w formacie xz,bzip2 i gzip (oczywiście posiadanie jak największej ilości narzędzi do kompresji/dekompresji jest dobre,a tych 3 właściwie konieczne)jest to jedno z najwydajniejszych narzędzi jakie można zastosować w kompresji plików.Zwłaszcza dużych plików, takich po kilkaset megabajtów.
  • mcrypt – zastępca crypt, systemowe narzędzie do szyfrowania.Stosunkowo prosty, polecałbym raczej gpg.
  • md5sum i sha*sum (np.sha256sum,sha512sum)- narzędzia do sprawdzania sum kontrolnych plików, alternatywnie rhash dla mniej popularnych funkcji
  • mkfs – narzędzie do formatowania dysków (alternatywnie mkdosfs)
  • outguess – narzędzie steganograficzne do ukrywania informacji w obrazkach
  • sc – arkusz kalkulacyjny dla trybu tekstowego
  • vi – nieco starszy i mniej przyjemny w obsłudze edytor tekstu (choć i tak dużo prostszy od emacsa)
  • wc – program do analizy statystyk tekstu w pliku określający ilość linijek,słów znaków.

wc plik

  • zgv – przeglądarka plików graficznych (dla SVGAlib oraz SDL)

Mam nadzieję,że powyższe informacje okażą się przydatne lub przynajmniej ciekawe.Pozdrawiam.

Debian 8 jest dostępny

Nowa wersja stabilna systemu Debian Linux właśnie została wydana. Z tej przyczyny moje wpisy mogą się opóźnić.

W nowym systemie Debian dostępne są m.in:

  • Apache 2.4.10
  • Asterisk 11.13.1
  • GIMP 2.8.14
  • zaktualizowana wersja środowiska graficznego GNOME 3.14
  • kompilatory GCC 4.9.2
  • Icedove 31.6.0 (Mozilla Thunderbird ze zmienioną nazwą i logo)
  • Iceweasel 31.6.0esr (Mozilla Firefox ze zmienioną nazwą i logo)
  • środowisko graficzne i aplikacje KDE 4.11.13
  • LibreOffice 4.3.3
  • Linux Kernel 3.16.7-ctk9
  • MariaDB 10.0.16 oraz MySQL 5.5.42
  • Nagios 3.5.1
  • OpenJDK 7u75
  • Perl 5.20.2
  • PHP 5.6.7
  • PostgreSQL 9.4.1
  • Python 2.7.9 oraz 3.4.2
  • Samba 4.1.17
  • Tomcat 7.0.56 oraz 8.0.14
  • hyperwizor Xen 4.4.1
  • środowisko graficzne Xfce 4.10

Mnie osobiście interesują aktualizacje również innych aplikacji. Należy jednak zwrócić uwagę,że system Debian 8 nie wspiera obecnie architektury mikroprocesorów SPARC i Architektury Itanium oraz 32 bitowej wersji dla s390.

Poza tym kolejnym problemem jest kontrowersja wprowadzenia systemd. Sprawa jest na tyle poważna,że jednak zaczynam się zastanawiać nad alternatywnymi rozwiązaniami,choć nie wiem,czy Devuan czy inne tego typu systemy będą w stanie zastąpić Debiana. W najgorszym przypadku trzeba byłoby przejść na Slackware, nawet pomimo ograniczonej liczby pakietów dostępnych przynajmniej przez slapt-get.

Pobrać Debiana można na stronie https://www.debian.org/CD/

DNA nośnikiem danych ? – krótkie omówienie

Kwas deoksyrybonukleinowy (DNA) występuje w nas samych i wszystkich organizmach na ziemi.Jest podstawą życia. Jednak oprócz starej znanej inżynierii genetycznej nad DNA postanowili popracować badacze powiązani z informatyką. Jeśli chodzi o komputery DNA jednakże – wielkich sukcesów nie ma.Nie oferują one jednak aż tak istotnych nowości w obliczeniach równoległych, ułatwiają tylko szybsze rozwiązywanie niektórych wąskich problemów.Zupełnie inną kwestią jest natomiast wykorzystanie DNA jako nośnika danych.

Najnowsze badania w tej kwestii opisane w lutym tego roku (2015) w magazynie New Scientist  (na bazie artykułu w Angewandte Chemie) sugerują,że na 1 gramie DNA można zapisać 455 eksabajtów (EB; 445*1015)danych. Jest to dużo lepsza metoda od metody przedstawionej w 2012 roku w magazynie Science , gdzie mowa o średnio 700 terabajtach (TB ; 7*1014) na gram.

Teoretycznie, nic nie stoi na przeszkodzie umieszczenia informacji zawartej w takim DNA w żywych organizmach (choć to również nieco ryzykowne ze względu na to,czym jest DNA). Ponieważ jednak DNA ulega degeneracji w żywych organizmach i pod wpływem środowiska, konieczne są rozwiązania chroniące je przed warunkami zewnętrznymi.Takimi rozwiązaniami są m.in. zamrożenie go lub umieszczenie w szklanej powłoce.Kolejnym problemem jest charakter kodowania. Odczytanie informacji w obu omówionych przypadkach wymaga wykorzystania technik  sekwencjonowania DNA i zdekodowania zapisu. Wymaga to, oczywiście dość sporej mocy obliczeniowej maszyny pośredniej,sama zaś metoda odczytu nośnika ma charakter przypuszczalnie jednorazowy. Prowadzi to do dość oczywistego wniosku – konieczne jest dodatkowe opisanie metody zapisu i kodowania oraz odczytu innymi środkami w przypadku długotrwałego przechowywania danych, jak i zastosowanie ewentualnej nadmiarowości, oraz podziału próbek do analizy na mniejsze fragmenty.

Poza tym, same badania prowadzone były na stosunkowo małych próbkach. Oryginalny tegoroczny artykuł „Robust Chemical Preservation of Digital Information on DNA in Silica with Error-Correcting Codes” wydany w czasopiśmie Angewandte Chemie pisze o przetłumaczeniu do formy zapisanej w DNA jedynie 83 kb informacji.Niewątpliwie zapewnienie trwałości nośnika rzędu co najmniej 2000 lat dzięki zastosowaniu kodów korekcji błędów robi wrażenie – pytanie jednak jakie w takim razie środki należy zastosować by przedłużyć trwałość nośnika itd.

Niestety na obecnym etapie współczesne nośniki danych mają stosunkowo krótką trwałość szacowaną na 25 lat, lub krócej.Zasadniczo dziś teoretycznie dane powinny wytrzymać na odłączonym dysku twardym więcej niż kilka(naście) lat, nawet pomimo rozmagnesowania. Pewności jednak nie ma,technologia bardzo się zmienia i wszystko zależy od urządzenia. Nasza technologia ma zatem kosmiczną przewagę w porównaniu z wypalonymi glinianymi tabliczkami czy kutymi obeliskami,albo innymi tego typu rozwiązaniami.Dane zapisane dzięki jej wykorzystaniu nie mają jednak szans przetrwać tysięcy lat. Możliwość przechowywania danych przez 2000 lat na nośniku DNA wygląda zatem na olbrzymi postęp – niestety w praktyce zakodowanie takiej ilości danych oraz spadek kosztów sekwencjonowania DNA do tego stopnia, by każda większa firma mogła w ten sposób archiwizować swoje dane to w najlepszym razie jeszcze kwestia przyszłości. Na pewno jest to wydajniejsze rozwiązanie, niż „chmura” oparta o współczesne dyski twarde (właściwie tylko dzięki wykorzystaniu np. macierzy RAID,wielu kopii i innych rozwiązań ma to sens – a jednocześnie jak to urządzenia online podatne na ataki hackerów i wirusów). Niewątpliwie jednak, do opracowania dysków twardych opartych o syntezę DNA raczej nie dojdzie szybko – o ile dojdzie w ogóle. Koszty kodowania i dekodowania danych są bowiem spore i wymagają stosunkowo dużych dziś narzędzi. Niewątpliwie jednak, opracowanie nośnika będącego długoterminową „kapsułą czasu” dla danych jest oczywistą potrzebą, tak samo jak opracowanie nowocześniejszych nośników. Większość produktów współczesnej cywilizacji jest bowiem stosunkowo nietrwała, ze względu na ekologię i rachunek ekonomiczny,a zabezpieczenie dorobku intelektualnego ludzkości i śladów po każdym z na osobna przed ewentualną katastrofą czy dla przyszłych historyków (niezależnie od tego,czy będą to ludzie czy nie) jest całkiem mądrym pomysłem.Tym bardziej,że zastosowanie nośnika DNA nie ogranicza się bynajmniej do katastrof,bowiem przyszłe nośniki danych w przyszłych komputerach powinny móc przechowywać coraz większe ilości danych.W dobie Big Data bowiem każdy szczegół może się przydać,a kasowanie potencjalnie użytecznych danych nie jest aż tak dobrym nawykiem jak większości się to wydaje.

Moim zdaniem zatem, jest to potężne narzędzie do archiwizacji danych – lecz niestety kosztowne i praktycznie jednorazowe na dzień dzisiejszy.Ze względu na problemy powiązane z DNA jako nośnikiem chemicznym,kodowaniem,sekwencjonowaniem i dekodowaniem jest też raczej wątpliwe,by możliwe było szybkie skonstruowanie miniaturowych dysków opartych o DNA (choć większe urządzenia dla superkomputerów będą możliwe !)

Przykładowe materiały filmowe na temat zastosowania DNA jako nośnika danych:

PS: nowości dotyczące bezpieczeństwa z Arxiv:

Nowości w bezpieczeństwie i nauce – 15.4.2015 (+małe uaktualnienie 16.4.2015)

Bezpieczeństwo:

Nauka:

  • Na phys.org ukazało się opracowanie pt. „Quantum Criticality in life’s proteins” – oryginalny artykuł „Quantum Criticality at the Origin of Life” dostępny jest na stronie arxiv.org. Artykuł ten jest bardzo istotny,ponieważ zwraca uwagę (i trochę omawia) istotny fakt – organiczne cząsteczki z których jesteśmy zbudowanie funkcjonują na granicy „dwóch światów” – kwantowego i klasycznego (w istocie to rozróżnienie jest użyteczne tylko dla nas,a fizycznie jest bez sensu,ale mniejsza o to)
  • Na phys.org ukazał się również artykuł o kamerze która sama jest swoim źródłem zasilania.Urządzenie opracowano na Columbia University,dostępny jest tam też artykuł pt. „Towards Self-Powered Cameras„.
  • Jak informuje phys.org badacze z Rice University prowadzili badania nad elektrycznymi właściwościami dwuwarstwowych nanorurek. Więcej na ten temat można przeczytać w artykule: „Effect of interwall interaction on the electronic structure of double-walled carbon nanotubes.” czasopisma „2015 Nanotechnology” 26 165201 DOI: 10.1088/0957-4484/26/16/165201 [artykuł IOP-Science]
  • Również na phys.org ukazał się artykuł sugerujący,że cienka warstwa kobaltu może być interesującym katalizatorem.Więcej w artykule: „Porous Cobalt-Based Thin Film as a Bifunctional Catalyst for Hydrogen Generation and Oxygen Generation”, czasopisma „Advanced Materials”. DOI: 10.1002/adma.201500894
  • Innym ciekawym artykułem na stronie phys.org jest „Light in a spin: Researchers demonstrate angular accelerating light” – oryginalny artykuł to „Accelerated rotation with orbital angular momentum modes” czasopisma: Phys. Rev. A 91, 043821 – autorzy: Christian Schulze, Filippus S. Roux, Angela Dudley, Ronald Rop, Michael Duparré, i Andrew Forbes, dx.doi.org/10.1103/PhysRevA.91.043821
  • Ciemna materia nie taka ciemna ? Może i tak. Można o tym przeczytać na phys.org i w artykule: „The behaviour of dark matter associated with 4 bright cluster galaxies in the 10kpc core of Abell 3827”, czasopismo: Monthly Notices of the Royal Astronomical Society, DOI: 10.1093/mnras/stv467
  • Ciekawy jest też dostępny na phys.org artykuł „New method to engineer surfaces along multiple directions in a nanowire” – więcej przeczytać można w artykule „Coaxial lithography” czasopisma Nature Nanotechnology 10, 319–324 (2015) DOI: 10.1038/nnano.2015.33
  • Jeszcze istotniejsze jest również dostępne na phys.org opracowanie „Researchers find a way to convert waste heat to electricity at nano-scale” i artykuł bazowy: „Voltage Fluctuation to Current Converter with Coulomb-Coupled Quantum Dots”, czasopisma Physical Review Letters 114, 146805 – Published 10 April 2015. DOI: 10.1103/PhysRevLett.114.146805

Arxiv – nowe artykuły:

Informatyka:

Materiały i nanomateriały:

Inne:

MIT News – ciekawy artykuł o studentach MIT którzy 10 lat temu opracowali aplikację do generowania fałszywych artykułów naukowych

Elektronics Weekly – artykuły:

UAKTUALNIENIE 16.4.2015:

Arxiv – artykuły:

Bezpieczeństwo i kryptografia:

Sztuczna inteligencja:

Inżynieria oprogramowania:

System Linux – dlaczego używam,dlaczego jeszcze każdy nie używa

https://i0.wp.com/upload.wikimedia.org/wikipedia/commons/thumb/3/35/Tux.svg/512px-Tux.svg.png Pomimo praktycznego monopolu firmy Microsoft rodzina systemów GNU Linux jest pierwszą po produktach firmy Microsoft grupą samodzielnych systemów operacyjnych stosowanych we współczesnych komputerach.Ponadto system operacyjny firmy Google – Android, wywodzący się z tej samej rodziny co GNU Linux jest obecnie najpopularniejszym systemem na rynku urządzeń mobilnych. Ponieważ tak się składa,że jestem użytkownikiem systemu Debian należącego do tej rodziny postanowiłem wypowiedzieć się tym razem o tym,co mi się podoba a co mi się nie podoba w tym oprogramowaniu. Żeby nie było zbyt miło – wymienię podstawowe wady systemu Linux:

  • Tak naprawdę trzeba na starcie dysponować choćby podstawową wiedzą o systemie – chyba,że to Ubuntu.
  • Linux nie jest znany, bo nie jest znany – Windows wcale nie jest lepszym systemem,jest po prostu systemem popularniejszym i lepiej poznanym przez mniej świadomych użytkowników.
  • Mniej sterowników – co prawda developerzy intensywnie nad tym pracują a czasy się zmieniają i dużo gorsza sytuacja jest prawdopodobnie w przypadku systemów z rodziny BSD która jest jeszcze mniej popularna – ale nie zawsze wszystko działa.
  • Pomoc techniczna – w przeciwieństwie do firmy Microsoft zarabiającej na licencjach na oprogramowanie, duża część twórców oprogramowania z rodziny Linux zarabia bezpośrednio, lub pośrednio na udzielaniu pomocy technicznej. Linux ma sporo użytkowników i wspaniałą społeczność, ale gdy coś nie działa trzeba włożyć trochę wysiłku
  • Problemy z komercyjny oprogramowaniem – prawda jest taka: komercyjne oprogramowanie w dużej części pisane jest dla środowiska Windows. Co prawda niektóre zaawansowane narzędzia można uruchomić za pomocą narzędzia WINE, inne programy komercyjne są nawet dostępne dla środowiska Linux – np NX firmy Siemens czy narzędzia MES takie jak Ansys (Choć głównie RHEL) czy po części Abaqus czy inne. Bardziej egzotyczne oprogramowanie stworzone dla Windows może sprawić jednak spore problemy, a uruchomienie pod WINE nie zawsze jest kwestią kilku kliknięć.
  • Problemy dla graczy z komercyjnymi grami – jak wyżej.Generalnie jednak WINE, czy inne narzędzia mogą czasem pomóc,poza tym coraz popularniejsza jest platforma STEAM. Choć gry dla Linuxa nie są tak liczne i z reguły są dużo prostsze – to jednak istnieją.
  • Zapisywanie często jakiś danych na dysku – logi i inne rzeczy są generalnie bardzo pożyteczne,ale to m.in one mogą być przyczyną dawnego (czy na pewno) problemu pt. parkowanie dysku,szeroko znanego jakiś czas temu jako „Ubuntu niszczy dyski w laptopach” (tak naprawdę – nie Ubuntu, ale raczej producenci są głównym winnym,a problem robi się intensywniejszy głównie przez to,że system dużo zapisuje na dysku – sam problem daje się zresztą obejść jeśli zrezygnować z zarządzania energią). Osobiście uważam,że takie zarządzanie dyskami przez system może nie podobać się również w przyszłości posiadaczom dysków SSD które mają ograniczoną liczbę cykli funkcjonowania.
  • Linuxa nie można traktować jako w pełni ukończonego produktu finalnego w przeciwieństwie do BSD czy Windows – niektóre oprogramowanie dostępne z systemem jest niezupełne,lub słabiej przetestowane niż powinno. Mimo to mamy dostęp i tak do ogromnej liczby oprogramowania.
  • Problemy z kompatybilnością wsteczną i błędami przy zastępowaniu nie-wolnych sterowników – jako osoba używająca tego systemu dłużej muszę przyznać,że to bywa szczególnie irytujące.Cóż z tego,że np. od teraz system nie musi zawierać nie-wolnych sterowników jak jądro systemowe zaczyna wariować z Wifi ? (atheros, już chyba naprawiłem). Kompatybilność wsteczna jest jednak dużo gorsza – program który ma jedynie dwa lata ma problem z uruchomieniem/kompilacją.Jeśli nie jest się programistą – ma się problem jeśli wsparcie aplikacji czy sterownika zostało zakończone. Z drugiej strony przypadki takich aplikacji i sterowników są stosunkowo rzadkie.

No dobrze.Skoro ten system ma tyle wad, to po co w ogóle go używać ? Otóż dlatego,że posiada szereg dużo ważniejszych zalet:

  • Systemy GNU Linux dają wolność programiście i użytkownikowi – wolność modyfikacji kodu i pewnej weryfikacji CO uruchamia na swoim komputerze. W zamkniętym systemie Windows kupujemy kota w worku,a licencja zabrania analizy.Samą analizę można teoretycznie prowadzić po dezasemblacji kodu – ale jest to trudne.
  • Co za tym idzie – dużo większa możliwość konfiguracji i dostosowania do zapotrzebowania użytkowników oraz relatywnie szybkie namierzanie i usuwanie błędów – co szczególnie istotne można wybrać spośród wielu środowisk graficznych a je same dostosować bardziej niż Aero. Nikt nie przymusza do kafelków i środowiska z maksimum „wodotrysków”. System nie musi pożerać dziesiątków gigabajtów miejsca na dysku. Ba – można nawet nagrać na nośniku takim jak płytka CD czy Pendrive swoją kopię systemu.Od lat.Windows PE istnieje od niedawna i jest bardzo ograniczony.
  • Uniwersalność platformy Linux – dostępne są wersje dla bardzo różnych mikroprocesorów a po pewnych modyfikacjach system ten można uruchamiać na bardzo słabych urządzeniach i układach elektronicznych. Telefony komórkowe,Raspberry Pi i wiele innych narzędzi.A jednocześnie serwery IBM czy rzadsze komputery z architekturą SPARC, czy PowerPC. (Choć zależy to od konkretnej dystrybucji !). System radzi sobie też z dużo większą ilością dysków i procesorów niż Windows.
  • Pomimo mniejszej liczbie sterowników generalnie nie jest tak źle – a w przypadku oprogramowania WINE jednak coś daje.
  • Mnóstwo dostępnego oprogramowania – w systemie DEBIAN którego używam pakietów (instalatorów) jest ok 37500 [edit: w wersji 8 już ponad 43000].Nie wszystkie z nich są oczywiście instalowane od razu,nie wszystko to też samodzielne aplikacje – ale i tak w porównaniu z Windows ma się dostęp do dużo większej liczby użytecznych narzędzi, a system świeżo po instalacji można uznać za w miarę funkcjonalny. W dodatku, dzięki narzędziom takim jak APT GET znalezienie i zainstalowanie części użytecznych aplikacji/znalezienie nowych jest znacznie łatwiejsze. Przyznaję – niektóre rzadsze oprogramowanie przydało by się nadal. Programów CAD/CAM które byłyby naprawdę groźnymi i uniwersalnymi rywalami dla narzędzi komercyjnych jest wciąż za mało (są choć naprawdę dobre zamienniki), w dodatku chciałbym widzieć zamienniki większej ilości narzędzi kryptograficznych i steganograficznych niż to jest obecnie.Niektóre prostsze programy nie mają wszystkich potrzebnych moim zdaniem funkcji. Niektórych rzeczy trzeba wytrwale szukać w internecie. Z drugiej jednak strony – jest to więcej narzędzi,niż użytkownik na co dzień potrzebuje i to bez wielotygodniowego szukania.I z reguły za darmo. Darowanemu pingwinowi nie zagląda się w dziób 😉 – no nie ? Zresztą potężnych narzędzi jest aż nadto:
    • Pakiet LibreOffice – jest  dobrym zamiennikiem pakietu biurowego MS-Office,choć niestety kiepsko sobie radzi z rozszerzeniami nowego typu a Microsoft nie dba szczególnie o zgodność swojego pakietu z pakietem LibreOffice. Główną jego wadą może być brak bardziej zaawansowanych narzędzi obecnych w nowszych wersjach pakietu MS Office. Tym niemniej istnieje nadal szereg uniwersalnych formatów,a narzędzie to jest więcej niż wystarczające do większości normalnych domowych zastosowań i nie tylko.
    • GIMP – program GIMP jest jednym z lepszych i potężniejszych programów graficznych do grafiki rastrowej.A przy tym jest dostępny za darmo.
    • Inkscape – to program do grafiki wektorowej, może być stosowany w zastępstwie programu Corel Draw.
    • Blender – komercyjne narzędzia takie jak 3D Studio Max mogą nie być w zasięgu twojej kieszeni. Ale Blender jest dostępny dla każdego kto chce. Oto jak zaawansowane animacje można stworzyć przy pomocy Blendera:
    • Narzędzia matematyczne i statystyczne – zamiast Matlaba – Charakterystyczne dla Linuxa GNU Octave i GNU R oraz Scilab INRIA ENPC.
    • Komplet narzędzi dla serwerów – coś czego normalnie nie można dostać z systemem Windows. Od serwera Apache umożliwiającego postawienie własnego serwera www,poprzez serwery FTP,SSH czy SQL po bardziej egzotyczne usługi.
    • Narzędzia do analizy i diagnostyki działania komputerów i sieci
    • Wiele narzędzi programistycznych – dostępnych jest wiele pakietów obsługujących nie tylko języki takie jak C czy Java,ale i Adę (Gnat),Fortran, Haskell, Lisp,Erlang itd.
    • Potężne narzędzie kryptograficzneGPG/GnuPG może być z łatwością zainstalowane. Dodatkowo w nowszych systemach – np Ubuntu kilka kliknięć w zupełności wystarczy by domyślnie włączyć szyfrowanie dysku.
    • Możliwość zainstalowania narzędzi do analizy danych graficznych takich jak Gwyddion i ImageJ oraz innych narzędzi z powodzeniem stosowanych w środowisku naukowym.
    • Sporo narzędzi dla poligrafii i innych specyficznych zastosowań
    • Ponadto muszę przyznać,że nawet spośród narzędzi CADowskich istnieją bardzo interesujące rozwiązania jak LibreCAD,FreeCAD można też skorzystać z jednego z najstarszych narzędzi otwartoźródłowych (niestety niedostępny nawet z Debianem) – BRL CAD. choć wielu narzeka ze względu na to,że program (czy raczej pakiet) ten nie używa w praktyce np. myszy i jest traktowany jako prymitywny (Repozytorium BRL CADa istnieje od 1983 roku, projekt jest wręcz starszy od Linuxa) Istnieje też kilka ciekawych narzędzi do projektowania elektroniki.
    • Wiele drobnych lecz bardzo użytecznych narzędzi umożliwiających wykonanie operacji o jakich przeciętny użytkownik Windows nie ma pojęcia. I wiele użytecznych większych narzędzi.Mnie podoba się np. Dia.
  • Jest albo ZA DARMO albo TAŃSZY niż Windows – całkiem ważna sprawa.
  • Bezpieczeństwo – pod Windows bezpieczeństwo w praktyce nie istnieje. Praca z ograniczonymi uprawnieniami użytkownika to katorga,istniejące latami nie załatane dziury w systemie i problemy z podstawowymi narzędziami takimi jak firewall.Linux nie ma problemów z tymi kwestiami, może na nim pracować naraz bardzo wielu użytkowników i w większości przypadków naprawdę nie potrzeba korzystać z konta administratora (root). Kompleksowa obsługa zdarzeń i logów systemowych, jak również możliwość wprowadzenia stosunkowo skomplikowanych polityk bezpieczeństwa (np. SE Linux,ale nie tylko),narzędzi wykrywania intruzów w systemie ma duże znaczenie w systemach Linux.
  • Zainstalowanie sobie wirusa jest tu nieco trudniejsze,poza tym wirusów jest znacznie mniej (choć wbrew mitom – wirusy atakujące systemy UNIXowe istnieją,a odporności na niektóre wirusy atakujące samą przeglądarkę może nie być)
  • Stabilność – co prawda od czasów Windows XP systemy Windows są stabilniejsze niż kiedyś,ale Linux i tak jest liderem.
  • W gruncie rzeczy architektura systemu jest oparta o dużo prostsze,i bardziej zrozumiałe (nie tylko dla programisty) zasady – tak jeśli chodzi o środowisko tekstowe jak i graficzne.
  • Ze względu na znaczną liczbę narzędzi sieciowych Linux świetnie nadaje się na serwer (a nawet klaster !)
  • Tryb tekstowy pozwala na zrealizowanie bardzo skomplikowanych operacji z klawiatury. Windows posiada co prawda również narzędzia takie jak PowerShell ale filozofia działania tych narzędzi jest zupełnie inna tak samo jak zużycie zasobów.

Podsumowując: Choć w systemie Linux jest dość dużo „grzebania” a wiele aplikacji wymaga w nim nadal dopracowania, jest to świetne narzędzie z powodzeniem mogące w zdecydowanej większości przypadków zastępować system Windows i jego narzędzia. Oczywiście z mojej perspektywy dość bolesną wadą są problemy z kompatybilnością wsteczną niektórych starszych aplikacji, znajdowanych w internecie zarówno w wersji binarnej jak i kodu źródłowego oraz ewentualne problemy związane ze sterownikami i pomocą techniczną – tym niemniej nie zmieniają one faktu,że generalnie jest to świetny system oferujący ogromne możliwości i to bez ponoszenia ogromnych wydatków na oprogramowanie. Ponadto nie należy przesadnie panikować w kwestii wad które wymieniłem.Windows bowiem ma ich też całkiem sporo:

  • Bugi
  • Bugi
  • Bugi 😀
  • Wirusy
  • Cena i uroki rejestrowania systemu przez internet
  • „Interfejs użytkownika”
  • Problemy z konfiguracją
  • Wymagania sprzętowe i zużycie zasobów
  • Braki w oprogramowaniu i ograniczenia licencyjne
  • Problemy z bezpieczeństwem (patrz 4 pierwsze podpunkty 😛 )
  • Ograniczona funkcjonalność po zainstalowaniu.
  • Zamknięty charakter oprogramowania
  • itd.