Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Zobrazit příspěvky

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


Témata - arrange

Stran: [1] 2
1
Vážení přátelé,

chtěl bych oznámit, že jsem po určité době jedním z dalších, kteří se rozhodli z fóra odejít.

Je to 2 roky, co jsem se poprvé zaregistroval zde na fóru. Tenkrát jsem o Linuxu nevěděl skoro vůbec nic. Ani jsem nedělal do počítačů. Díky fóru, a několika lidem zde na fóru i jinde na internetu, jsem se za ty 2 roky naučil tolik, že jsem byl schopen poradit ostatním, a občas i něco dotáhnout do konce a vyřešit. Mým cílem vždy bylo jít po příčině problémů (což často vyžadovalo cestu do konzole a vůbec větší úsilí od tazatele), v průběhu se přiučit něco nového, a přitom neuškodit (špatnou radou). To se myslím většinou povedlo. Vzpruhou a inspirací mi byli lidé, kteří sdíleli podobné nadšení jako já, a byli schopni věnovat svůj volný čas pro ostatní včetně mě.

Podle statistik jsem zde strávil přes 72 dní čistého času, neuvěřitelné. Byla to ale zábava a "výzva". Teď jsem se ale dostal do situace, kdy mi toto fórum už skoro nic nedává, a je čas postoupit někam jinam (doufám, že dál). Lidé, kterých jsem si vážil, a kteří byli schopni poradit nebo nadchnout (Yontalcar, quaker, "starý" kiklhorn, VT, petrakis, ufaak, a mnoho dalších, viz třeba moje staré nominace na Ubunťáka roku), buď odešli, nebo se tu objevují sporadicky, nebo z mého pohledu příliš okrajově. Když za minulé krize VT řekl, že tu nechodí rád, a že tu lidé už nejsou schopni pořádně poradit, doufal jsem, že se to s kiklhornem zlepší, ale asi jsem vkládal do jednoho člověka něco, co není možné splnit. Momentálně je fórum pro mě spíš práce a "boj" na jedné straně s lidmi, kteří neumí dát dohromady ani větu, když vkládají dotaz, a na druhé staně s "vtipálky", kteří by měli dost znalostí na to, aby mohli vést nás ostatní, ale většinou jen dávají rady tipu "pokud chceš bezpečnější Ubuntu, nezapínej počítač", nebo "@arrange: než tvoje amatérské rady, to radši nepiš nic".

Přes to všechno je tu pořád dost lidí, kteří chtějí a umí poradit, a těm moc držím palce, a kvůli nim se tu budu určitě občas vracet a učit se od nich. Jmenoval bych třeba donnyho, MacHalu, karlitose, snoumena, Tibora, silverkeepera, jmp, GdH, aloisama a petergulu, ale určitě jsem ještě na někoho zapomněl (aha, airlive, díky jeho pochvalám a reakcím jsem neodešel už dřív :)).

Takže - mějte se všichni, a hodně štěstí.

arrange

2
Otevřená diskuze kolem Linuxu a OSS / Jak a proč upgradovat?
« kdy: 17 Října 2010, 17:17:52 »
Na instalaci máme krásný a obsáhlý návod, s upgradem je to trochu horší. Přitom lidi častěji upgradují než instalují.

Máte nějaké rady a tipy pro perspektivní upgradéry (povýšence? povyšující? :P)?
  • pro koho doporučeno a pro koho ne, proč, výhody a nevýhody toho, pokud neupgraduju
  • co dělat před upgradem
  • výhody a nevýhody čisté x upgradu
  • faq, časté problémy a jejich řešení

Rád bych to pak sepsal a dal na wiki...

Díky za reakce.

3
Obecná podpora / Máte tipy na zvýšení bezpečnosti Ubuntu?
« kdy: 17 Září 2010, 10:22:45 »
Pro mnoho lidí bude toto téma možná zbytečné ("Linux je bezpečný", "Ubuntu má v defaultu nastavenou bezpečnou politiku" atd), ale chtěl bych dát dohromady pár tipů pro uživatele Ubuntu, kteří mají zájem zlepšit odolnost svého systému (klidně jim třeba říkejte paranoici) nebo sebe samého :) .
Tipy mohou být konkrétní (změňte parametr ten a ten), nebo i obecnější (jak se bránit phishingu, hesla apod.) Měly by být asi směrovány na mírně pokročilé až pokročilé uživatele.

Snad by se hodil i nějaký souhrn dát později na wiki, takže bude fajn, když vaše tipy budou mít nějakou strukturu, i když ne povinně  :)
Třeba:
  • název
  • popis problému, proč důležité
  • návod pro Ubuntu
  • výhody, nevýhody daného postupu, tipu
  • příklady zneužití dané slabiny v historii
  • odkazy, linky

4
Tipy a triky pro Linux / Tržiště AppArmor profilů
« kdy: 17 Září 2010, 09:59:43 »
Rád bych otevřel vlákno, kde by mohl každý přispět nějakým zajímavým AA profilem. Důvodem je, že je jich v Ubuntu zoufale málo, a i když existují repozitáře s AA profily (openSUSE), nejsou v Ubuntu přímo použitelné.

Níže uvádím pár profilů, které používám a mám vyzkoušené. Nezaručuji ale ani funkčnost, ani zvýšení bezpečnosti vašeho systému  ;) Berte je spíše jako odrazový můstek pro vytváření vlastních.

Všechny profily mají striktně nastavený přístup k souborům v home adresáři - v podstatě je možné se dostat jen ke skrytému adresáři dané aplikace + na plochu (prohlížení obsahu adresářů je ale povoleno).

passwd
Kód: [Vybrat]
# vim:syntax=apparmor
# Last Modified: Sat Jan  6 09:35:33 2007
# ------------------------------------------------------------------
#
#    Copyright (C) 2006 Volker Kuhlmann
#
#    This program is free software; you can redistribute it and/or
#    modify it under the terms of version 2 of the GNU General Public
#    License published by the Free Software Foundation.
#
# ------------------------------------------------------------------
# edited

#include <tunables/global>

/usr/bin/passwd {
  #include <abstractions/authentication>
  #include <abstractions/base>
  #include <abstractions/consoles>
  #include <abstractions/nameservice>

  capability chown,
  capability sys_resource,
  capability fsetid,
  capability setuid,

  /etc/.pwd.lock wk,
  /etc/pwdutils/logging r,
  /etc/shadow rwl,
  /etc/shadow.old rwl,
  /etc/shadow.????? rwl,
  /usr/bin/passwd mrk,
  /usr/lib/pwdutils/lib*.so* mr,
  /usr/lib64/pwdutils/lib*.so* mr,
  /usr/share/cracklib/pw_dict.hwm r,
  /usr/share/cracklib/pw_dict.pwd r,
  /usr/share/cracklib/pw_dict.pwi r,

  @{PROC}/filesystems r,
  /var/run/utmp rk,
  /etc/passwd k,
  /etc/nshadow rwk,
}

skype
Kód: [Vybrat]
# Last Modified: Mon Oct 26 13:29:13 2009
# REPOSITORY: http://apparmor.test.opensuse.org/backend/api draglor 53
# Additional profiling based on work by Андрей Калинин, LP: #226624
# edited

#include <tunables/global>
/usr/bin/skype {
  #include <abstractions/audio>
  #include <abstractions/base>
  #include <abstractions/fonts>
  #include <abstractions/freedesktop.org>
  #include <abstractions/gnome>
  #include <abstractions/nameservice>
  #include <abstractions/user-tmp>
  #include <abstractions/X>
  #include <abstractions/dbus>

  # povolíme čtení adresářů (vždy končí na lomítko!)
  # ale ne souborů
  / r,
  /**/ r,

  # pokud chceme použít videokameru
  # potřebujeme přístup k /dev/video*
  /dev/video* mrw,

  # Skype musí být schopen číst, spouštět a zamykat z vlastních adresářů
  /usr/bin/skype mr,
  /usr/share/skype/** krm,
  /usr/share/skype/sounds/*.wav kr,

  # totéž platí pro nastavení v domovském adresáři
  @{HOME}/.Skype/   rw,
  @{HOME}/.Skype/** krw,
  @{HOME}/.config/* kr,

  # povolit přístup do Downloads, pokud by mi někdo poslal soubor
  @{HOME}/Downloads/ rw,
  @{HOME}/Downloads/** rw,

  /usr/lib/libv4l/v4l1compat.so rm,
  @{PROC}/[0-9]*/net/route r,
  @{PROC}/filesystems r,
  /sys/devices/** r,

  deny @{HOME}/.mozilla/** r,
  deny /etc/passwd m,
  deny /dev/shm/pulse-shm-[0-9]* m,
  deny /usr/share/fonts/** m,
}

transmission
Kód: [Vybrat]
# Bodhi.Zazen's current transmission profile
# Please note this for :
# Ubuntu 10.04
# edited

#include <tunables/global>

/usr/bin/transmission {
  #include <abstractions/audio>
  #include <abstractions/base>
  #include <abstractions/dbus>
  #include <abstractions/fonts>
  #include <abstractions/nameservice>
  #include <abstractions/gnome>

#  network inet,

  #include <abstractions/private-files>
  audit deny @{HOME}/.ssh/ mrwkl,
  audit deny @{HOME}/.ssh/** mrwkl,
  audit deny @{HOME}/.gnome2_private/ mrwkl,
  audit deny @{HOME}/.gnome2_private/** mrwkl,

  # comment this out if using gpg plugin/addons
  audit deny @{HOME}/.gnupg/ mrwkl,
  audit deny @{HOME}/.gnupg/** mrwkl,


  owner @{HOME}/ r,
  owner @{HOME}/.config/gtk-2.0/** rw,
  owner @{HOME}/.config/gtk-2.0/** rw,   
  owner @{HOME}/.config/transmission/ rw,
  owner @{HOME}/.config/transmission/lock rwk,
  owner @{HOME}/.config/transmission/** rw,
  owner @{HOME}/.recently-used** krw,
  owner @{HOME}/Downloads/ rw,
  owner @{HOME}/Downloads/** rw,
  owner @{HOME}/Desktop/** rw,
  owner @{HOME}/Desktop/ rw,

  owner @{HOME}/.local/share/mime/* r,

  @{PROC}/filesystems r,
  @{PROC}/*/maps r,
  @{PROC}/*/mounts r,
  @{PROC}/*/net/route r,
  @{PROC}/[0-9]*/fd/ r,

  /usr/bin/transmission rix,
  /usr/lib/ r,
  /usr/local/share/** r,
  /usr/share/ r,
  /usr/share/** r,

}

thunderbird
Kód: [Vybrat]
# by arrange
#include <tunables/global>

/usr/lib/thunderbird-3.0.5/thunderbird-*bin {
  #include <abstractions/audio>
  #include <abstractions/base>
  #include <abstractions/cups-client>
  #include <abstractions/dbus>
  #include <abstractions/fonts>
  #include <abstractions/freedesktop.org>
  #include <abstractions/gnome>
  #include <abstractions/nameservice>
  #include <abstractions/user-tmp>
  #include <abstractions/X>

  # for networking
  network inet stream,
  network inet6 stream,
  @{PROC}/[0-9]*/net/if_inet6 r,
  @{PROC}/[0-9]*/net/ipv6_route r,

@{PROC}/filesystems r,
/etc/mtab r,
/etc/mime.types r,
/etc/mailcap r,

  #include <abstractions/private-files>

  # so browsing directories works
  / r,
  /**/ r,
 
  owner @{HOME}/.thunderbird/** rw,
  owner @{HOME}/.thunderbird/*/.parentlock k,
  owner @{HOME}/.thunderbird/**/*.sqlite* k,

  @{HOME}/** r,
 
  owner @{HOME}/Desktop/** w,


/usr/lib/thunderbird-3.0.5/** r,
/usr/lib/thunderbird-3.0.5/* w,
/etc/thunderbird/** r,
/usr/lib/thunderbird-3.0.5/components/** w,

/usr/lib/gamin/** rix,
/usr/share/applications/** r,
/usr/share/mozilla/extensions/** r,
/usr/lib/mozilla/extensions/** r,
/usr/share/myspell/** rw,
/usr/share/hunspell/** rw,

deny /usr/share/mozilla/extensions/** w,
deny /usr/lib/mozilla/extensions/** w,

# for PDFs
  /usr/bin/evince PUxr,
 
  # Openoffice.org
  /usr/bin/ooffice Uxr,
  /usr/bin/oocalc Uxr,
  /usr/bin/oodraw Uxr,
  /usr/bin/ooimpress Uxr,
  /usr/bin/oowriter Uxr,
  /usr/lib/openoffice/program/soffice Uxr,

  # Multimedia
  #include <abstractions/ubuntu-media-players>

  # Archivers
  /usr/bin/file-roller Uxr,

  # Text editors
  /usr/bin/gedit Uxr,
 
  # image viewer
  /usr/bin/viewnior Uxr,
}

Další info:
http://wiki.ubuntu.cz/AppArmor
http://forum.ubuntu.cz/index.php?topic=49293.0

5
Nějak mi není jasné, jak fungují hashed passwords na non-SSL zabezpečení. Zkusím nastínit, o co mi jde, a budu vděčný za případné vysvětlení nebo odkaz  :)

Příklad: fórum podobné tomuto, uživatelé. Je vůbec možné přenosy jejich hesel zabezpečit tak, aby nemohlo dojít ke kompromitaci hesel (příp. autentizace) útočníkem, který odchytí registraci uživatele? Přijde mi, že ne, protože:
  • ať už je posílané heslo při registraci čisté (heslo) nebo hashed (hash(heslo)), následné přidání saltu při autentizaci je už neúčinné, protože útočník má stejné informace jako server (hash(heslo+salt), příp. hash(hash(heslo)+salt))
  • pokud by se při registraci poslalo heslo již se saltem, neměl by jak server při autentizaci s jiným saltem výsledky porovnat (za předpokladu, že neukládá hesla v čisté formě, což předpokládám)

Smysl tohoto zabezpečení by byl jen tehdy, pokud by útočník znal jen komunikaci PO registraci. I tak ale v případě přihlášení a zvolení možnosti "Přihlásit: vždy" by mělo stačit odchytit údaj typu session_id.

Je to tak, nebo mi něco uniká?

6
Nevíte někdo, jak to u Sdružení funguje s dobrovolnými finančními příspěvky? Je možné zjistit, jakým způsobem se s nimi nakládá, jak byly použity? Nikde jsem nenašel zprávu o hospodaření, oficiální stránka Sdružení uvádí pro roky 2008-9 "zatím nejsou k dispozici".

Nebo máte nějaký jiný tip, jak co nejefektivněji finančně přispět na rozvoj Ubuntu? Díky.

7
Milé děti,

v dnešní hodině si ukážeme, jak lépe zabezpečit svůj počítač před napadením pomocí AppArmor. Sice jsem se také zrovna vrátila ze stáže, ale protože mě pan ředitel pověřil tímto úkolem, pokusím se ho zhostit nejlépe jak umím.

Za domácí úkol jsem vám zadala prostudovat teoretické podklady:
http://wiki.ubuntu.cz/AppArmor

Pokud vám v dnešní hodině nebude něco jasné, vzpomeňte si na DÚ, anebo rychle nalistujte příslušnou stránku...

Takže:

Ukázka tvorby profilu v AppArmor na Skypu

Skype jsem vybrala proto, že je to takový jakýsi blob furt připojený k internetu, o kterém ani pořádně nevíme, co dělá. Zkusíme se mu tedy kouknout na zoubek a případně mu utnout tipec. Na druhou stranu je to možná příliš velké sousto pro začátečníky, ale co už.

Otevřeme si dva Terminály, v jednom budeme upravovat profil, kde nastavíme, co Skypu povolíme a co už ne
Kód: [Vybrat]
sudo nano /etc/apparmor.d/usr.bin.skypea v druhém budeme sledovat logy
Kód: [Vybrat]
tail -f /var/log/syslog
Nejdřív vytvoříme základní profil pro Skype
(inspirujeme se openSUSáckým profilem z balíku apparmor-profiles).
----------------------------------------------------------
Kód: [Vybrat]
# Last Modified: Mon Oct 26 13:29:13 2009
# REPOSITORY: http://apparmor.test.opensuse.org/backend/api draglor 53
# Additional profiling based on work by Андрей Калинин, LP: #226624

# zahrneme základní proměnné
#include <tunables/global>

/usr/bin/skype {
  # v této části zahrneme předpřipravené profily, které povolují základní přístup,
  # a které Skype nutně potřebuje - podrobnosti viz wiki
 
  # pro používání zvuku
  #include <abstractions/audio>
   
  # základní knihovny nutné pro každý program
  #include <abstractions/base>
 
  # použití fontů
  #include <abstractions/fonts>

  # přístup k ikonám, naposledy uloženým souborům...
  #include <abstractions/freedesktop.org>

  # základní nastavení pro Gnome
  #include <abstractions/gnome>

  # základní nastavení pro sítě a internet
  #include <abstractions/nameservice>

  # přístup k dočasným adresářům
  #include <abstractions/user-tmp>

  # základní nastavení pro X server
  #include <abstractions/X>

  # povolíme čtení všech adresářů (vždy končí na lomítko!)
  # ale ne souborů
  / r,
  /**/ r,

  # pokud chceme použít videokameru
  # potřebujeme přístup k /dev/video*
  /dev/video* mrw,

  # Skype musí být schopen číst, spouštět a zamykat z vlastních adresářů
  /usr/bin/skype mr,
  /usr/share/skype/** kr,
  /usr/share/skype/sounds/*.wav kr,

  # totéž platí pro nastavení v domovském adresáři
  @{HOME}/.Skype/   rw,
  @{HOME}/.Skype/** krw,
  @{HOME}/.config/* kr,

}

Uložíme, nahrajeme profil do AppArmor
Kód: [Vybrat]
sudo apparmor_parser -r -T -W /etc/apparmor.d/usr.bin.skypespustíme Skype a sledujeme, co se bude dít v logách.

První spuštění
-------------------------
Skype se tak nějak spustil, ale log je plný "prohřešků":

denied_mask="::m" fsuid=1000 ouid=0 name="/usr/lib/libv4l/v4l1compat.so"
Povolíme, je potřeba spustit z důvodu kompatibility mezi v4l1 a v4l2.

denied_mask="::m" fsuid=1000 ouid=0 name="/etc/passwd"
Na co mapovat /etc/passwd jako spustitelný? Čtení stačí - to už jsme povolili v abstractions/nameservice! Zakázat.

denied_mask="::r" fsuid=1000 ouid=0 name="/proc/2439/net/route"
Informace k síti číst může.

denied_mask="r::" fsuid=1000 ouid=1000 name="~/.mozilla/firefox/58qx31qt.default/prefs.js"
No tak moment! Nevím, proč bych Skypu a kdoví komu ještě měl prozrazovat mé nastavení FF, včetně záznamů doplňků. Zakázat!

denied_mask="m::" fsuid=1000 ouid=1000 name="/dev/shm/pulse-shm-2861101225"
viz /etc/passwd

denied_mask="::r" fsuid=1000 ouid=0 name="/proc/filesystems"
Povolíme přečtení dostupných filesystémů.

denied_mask="::m" fsuid=1000 ouid=0 name="/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf"
viz /etc/passwd

Takže do profilu přidáme
Kód: [Vybrat]
  /usr/lib/libv4l/v4l1compat.so rm,
  deny /etc/passwd m,
  @{PROC}/[0-9]*/net/route r,
  deny @{HOME}/.mozilla/** r,
  deny /dev/shm/pulse-shm-[0-9]* m,
  @{PROC}/filesystems r,
  deny /usr/share/fonts/** m,
(to deny je zde jen proto, aby nám nezahlcovalo logy)

Takto může následovat nekonečná řada úpravy profilu, uložení, apparmor_parser -r, spuštění Skypu, kontrola logů, až ke konečnému vítězství. Já jsem nakonec došla k něčemu takovému, ale chce to ještě doladit ;)
Kód: [Vybrat]
# REPOSITORY: http://apparmor.test.opensuse.org/backend/api draglor 53

#include <tunables/global>
/usr/bin/skype {
  #include <abstractions/audio>
  #include <abstractions/base>
  #include <abstractions/fonts>
  #include <abstractions/freedesktop.org>
  #include <abstractions/gnome>
  #include <abstractions/nameservice>
  #include <abstractions/user-tmp>
  #include <abstractions/X>
  #include <abstractions/dbus>

  # povolíme čtení adresářů (vždy končí na lomítko!)
  # ale ne souborů
  / r,
  /**/ r,

  # pokud chceme použít videokameru
  # potřebujeme přístup k /dev/video*
  /dev/video* mrw,

  # Skype musí být schopen číst, spouštět a zamykat z vlastních adresářů
  /usr/bin/skype mr,
  /usr/share/skype/** krm,
  /usr/share/skype/sounds/*.wav kr,

  # totéž platí pro nastavení v domovském adresáři
  @{HOME}/.Skype/   rw,
  @{HOME}/.Skype/** krw,
  @{HOME}/.config/* kr,

  # povolit přístup do Downloads, pokud by mi někdo poslal soubor
  @{HOME}/Downloads/ rw,
  @{HOME}/Downloads/** rw,

  /usr/lib/libv4l/v4l1compat.so rm,
  @{PROC}/[0-9]*/net/route r,
  @{PROC}/filesystems r,
  /sys/devices/** r,

  deny @{HOME}/.mozilla/** r,
  deny /etc/passwd m,
  deny /dev/shm/pulse-shm-[0-9]* m,
  deny /usr/share/fonts/** m,
}

Takže za DÚ: udělat si vlastní funkční profil! Příští týden bude písemka!

8
Obecná podpora / chkrootkit - nějaké zkušenosti?
« kdy: 25 Července 2010, 23:39:51 »
Zpracoval jsem pracovní verzi wiki stránky pro chkrootkit, viz http://wiki.ubuntu.cz/chkrootkit. Protože rozhodně nejsem odborníkem na rootkity, budu rád, pokud se na to mrknete a opravíte/upozorníte mě na případné "krpy".

Taky jestli máte k dispozici nějaký zajímavý výstup/nápad k rozšíření, sem s ním!

9
Neví někdo prosím proč ((i++)) funguje pod bashem normálně jen pokud i se nerovná 0?

Příklad:
Kód: [Vybrat]
# projedu i {-2..2}
# i++ vrací OK, ale pokud i=0, je problém
arrange@lucid-lean:/tmp$ i=-2; while [[ $i -lt 2 ]]; do ((i++)) && echo "$i; OK" || echo "$i; bad"; done
-1; OK
0; OK
1; bad
2; OK

arrange@lucid-lean:/tmp$ bash --version
GNU bash, version 4.1.5(1)-release (i486-pc-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

10
Otevřená diskuze kolem Linuxu a OSS / HDD s 4KiB sektory
« kdy: 22 Dubna 2010, 12:12:20 »
Zdravím všechny "fórkaře",

studuju teďka záležitosti ohledně používání nové velikosti fyzického sektoru na HDD (512 → 4096B). Máte s tím nějaké zkušenosti? Uvítal bych, pokud byste se podívali na výpis
Kód: [Vybrat]
grep -H '[0-9]' /sys/block/sd[a-z]/alignment_offset /sys/block/sd[a-z]/queue/{physical,logical}_block_sizejestli se vám liší physical a logical velikost bloku, případně jestli je velikost alignment_offset nenulová.

Pokud ano, přidejte výpis
Kód: [Vybrat]
sudo fdisk -lu (stačí pro ten konkrétní disk), a jestli s tím máte nějaké problémy.

Je to jen pro zajímavost, u sebe to vyzkoušet nemohu -
Kód: [Vybrat]
arrange@lean:~ $ grep -H '[0-9]' /sys/block/sd[a-z]/alignment_offset /sys/block/sd[a-z]/queue/{physical,logical}_block_size
/sys/block/sda/alignment_offset:0
/sys/block/sdb/alignment_offset:0
/sys/block/sda/queue/physical_block_size:512
/sys/block/sdb/queue/physical_block_size:512
/sys/block/sda/queue/logical_block_size:512
/sys/block/sdb/queue/logical_block_size:512

11
Obecná podpora / Nebezpečné příkazy
« kdy: 25 Března 2010, 00:02:31 »
Nastal čas si totálně zrušit svou instalaci Ubuntu, nebo ještě lépe počítač sám.  :)

Teď vážně - díval jsem se, že tu nikde nemáme seznam nebezpečných příkazů, které mohou potencionálně i reálně škodit nepoučenému začátečníkovi i pokročilci. Znáte nějaké? Podělte se, příp. i s možnou prevencí.

Příkazy vyskytující se v tomto tématu jsou potencionálně nebezpečné! Nezkoušejte je!!

Na začátek uvedu pár klasik:

Vymaž mě
---------------------

rm -rf /
Vymaže (téměř) všechny soubory a adresáře v systému.
Toto už je staré, slabé, a na Ubuntu nefunkční. Funkční varianty by byly sudo rm -rf /* nebo sudo rm -rf --no-preserve-root /.
"Slabé" proto, že je hned vidět, že je něco v nepořádku (viz třeba výpis zde), a je to taky aspoň částečně vratné (TestDisk apod.)

rm -rf <cesta_k_adresáři>/.*
Do této kategorie spadá i tento nevinně vypadající příkaz na "smazání všech skrytých souborů" v daném adresáři. V konečném důsledku je ale totožný s klasickým rm -rf /, protože dané masce odpovídá i .., která označuje nadřazený adresář.


OPRAVA: nefunguje, vypisuje
Kód: [Vybrat]
rm: cannot remove directory `.'
rm: cannot remove directory `..'
a nepřejde do nadřazeného adresáře.


fork bomb
---------------------

Kód: [Vybrat]
:(){ :|:& };:Dojde k přehlcení systému kupícími se procesy a ten zatuhne. Bližší vysvětlení viz zde nebo obšírněji na wiki. Prevence viz ta wiki nebo třeba přidání řádků
Kód: [Vybrat]
* soft nproc 400
* hard nproc 500
do /etc/security/limits.conf.


Manipulace s /dev/sda apod.
---------------------

# (vše pod rootem)
mke2fs /dev/sda*
dd if=/dev/zero of=/dev/sda
> /dev/sda
cat /dev/null > /dev/sda
shred -f /dev/sda

# atd.

Vymaže všechna data z disku, v "lepším" případě totálně nevratně (shred), v ostatních případech téměř nevratně.


Hrátky s hdparm
---------------------

Příkaz hdparm přímo oplývá parametry, které jsou označeny v lepším případě jako experimentální (zničení dat), v horším jako přímo nebezpečná (zničení HDD). Stačí se podívat do manuálových stránek příkazu. Pro maniaky sestavil James Shubin příkaz shrnující všechny takové parametry pod označením most dangerous command ever
hdparm -mRuUwx --dco-restore --drq-hsm-error --fwdownload \
--security-unlock PWD --security-set-pass PWD --security-disable PWD --security-erase PWD \
--security-erase-enhanced PWD --user-master USER --security-mode MODE [device]

Podobné varování platí pro všechny příkazy nastavující parametry hardwaru (fancontrol apod.)


"Dělejte si se mnou co chcete"
---------------------

# (vše pod rootem)
echo "ALL ALL=NOPASSWD: ALL" >> /etc/sudoers
echo -e "Identity=*\nAction=*\nResultActive=yes" > /var/lib/polkit-1/localauthority/90-mandatory.d/com.ubuntu.ho.pkla
chmod -R 777 /
/bin/bash | nc -l 1234


První tři příkazy jsou ideální řešení pro ty, co je
docela hodně otravuje pořád dokola psát heslo roota u každé blbosti.
Prostě zrušit to úplně, a je klid. Někdy navždy :)
1. Zruší nutnost psát heslo při použití sudo. Se systémem si pak může dělat co chce kdy chce.
2. Nevyžaduje nikdy ověření heslem pro činnosti kontrolované přes polkit (výpis těchto činností viz pkaction, např. nastavení hodin).
3. Kdokoli může upravovat/mazat/číst kterékoliv soubory v systému.
4. "Připoj se k mému počítači přes port 1234 a dělej si s ním, co chceš." (backdoor)

Hrátky s PAM
---------------------

Zásadní programy v systému dnes pro autentizaci používají tzv. PAM moduly, proto je při manipulaci s nimi důležitá opatrnost.
sudo rm -rf /etc/pam.d
např. vymaže všechna existující nastavení, takže se prostě nepřihlásíte do systému, ať už graficky, nebo konzolově. Dá se ale opravit pomocí recovery mode nebo LiveCD. Pro začátečníka ale noční můra.

Obecné rady pro bezpečnější proplouvání příkazovou řádkou:
Nespouštějte příkazy, kterým nerozumíte. Snažte se k nim zjistit více informací (Google, manuálové stránky), nebo požádejte na fóru o vysvětlení. Je lepší se zeptat a vypadat jako blbec, než se nezeptat a vypadat jako větší :)

Můžete zkusit nejdřív použít bezpečnější variantu příkazu - bez práv roota (bez sudo); s parametry --simulate či --dry-run, u rm parametr -i nebo -I; ve virtuálním systému apod.

Zjistěte si více informací (Google!) k programům a skriptům, které jste získali z jiných zdrojů než oficiální Ubuntu repozitáře.

Pokud měníte systémové soubory, vždy si udělejte jeho zálohu. V případě problému nebývá problém soubor ze zálohy obnovit, třeba pomocí LiveCD nebo recovery mode.

Poznámka:
Žádný příkaz není sám o sobě (ne)bezpečný, vždy záleží na použití a uživateli. Např. "neškodné" ls při použití jako ls > /dev/sda vymaže MBR disku.
Aby bylo možné toto obšírné téma vměstnat do rozumného prostoru, je nutné dost zjednodušovat. Pokud jsem někde zjednodušil příliš, dejte prosím vědět.

Zdroje:
http://www.commandlinefu.com/commands/browse
http://ubuntuforums.org/announcement.php?a=54
http://dazzle.cs.mcgill.ca/wordpress/?p=36

12
Hardware / Zmizely mi vadné bloky... Jak je to možné? [vyřešeno]
« kdy: 16 Března 2010, 13:25:24 »
Bude to asi trochu náročnější čtení, ale směle do toho.

Pro lenivce souhrn hned na začátku
  • pokud vám tuhne nějaká aplikace nebo systém, podívejte se i na zdraví disku
  • můj problém: proč se ze SMART dat ztratil záznam o vadných blocích?

Full verze:
Včera mi začal tuhnout FF. Po kratším ohledání jsem zjistil, že mám zvýšené I/O wait, takže jsem hledal problémy s diskem, a taky že jo.

SMART (viz current-pending a raw-read)
Kód: [Vybrat]
   ATA SMART:                 Updated at Mon 15 Mar 2010 10:38:52 PM CET
      overall assessment:      Disk has a few bad sectors
===============================================================================
 Attribute       Current|Worst|Threshold  Status   Value       Type     Updates
===============================================================================
 raw-read-error-rate         200|200| 51   good    179         Pre-fail Online
 spin-up-time                157|156| 21   good    3.1 secs    Pre-fail Online
 start-stop-count            100|100|  0    n/a    557         Old-age  Online
 reallocated-sector-count    200|200|140   good    0 sectors   Pre-fail Online
 seek-error-rate             200|200|  0    n/a    0           Old-age  Online
 power-on-hours               96| 96|  0    n/a    125.8 days  Old-age  Online
 spin-retry-count            100|100|  0    n/a    0           Old-age  Online
 calibration-retry-count     100|100|  0    n/a    0           Old-age  Online
 power-cycle-count           100|100|  0    n/a    555         Old-age  Online
 power-off-retract-count     200|200|  0    n/a    11          Old-age  Online
 load-cycle-count            200|200|  0    n/a    557         Old-age  Online
 temperature-celsius-2       102| 94|  0    n/a    41C / 106F  Old-age  Online
 reallocated-event-count     200|200|  0    n/a    0           Old-age  Online
 current-pending-sector      200|200|  0    n/a    2 sectors   Old-age  Online
 offline-uncorrectable       200|200|  0    n/a    0 sectors   Old-age  Offline
 udma-crc-error-count        200|200|  0    n/a    0           Old-age  Online
 multi-zone-error-rate       200|200|  0    n/a    0           Old-age  Offline

dmesg (oblíbený DRDY ERR a Unrecovered read error - auto reallocate failed)
Kód: [Vybrat]
ata4.01: BMDMA stat 0x64
 ata4.01: cmd c8/00:20:8f:0d:b1/00:00:00:00:00/f8 tag 0 dma 16384 in
          res 51/40:00:a4:0d:b1/00:00:00:00:00/f8 Emask 0x9 (media error)
 ata4.01: status: { DRDY ERR }
 ata4.01: error: { UNC }
 ata4.00: configured for UDMA/133
 ata4.01: configured for UDMA/133
 ata4: EH complete
 ata4.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
 ata4.01: BMDMA stat 0x64
 ata4.01: cmd c8/00:20:8f:0d:b1/00:00:00:00:00/f8 tag 0 dma 16384 in
          res 51/40:00:a4:0d:b1/00:00:00:00:00/f8 Emask 0x9 (media error)
 ata4.01: status: { DRDY ERR }
 ata4.01: error: { UNC }
 ata4.00: configured for UDMA/133
 ata4.01: configured for UDMA/133
 ata4: EH complete
 ata4.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
 ata4.01: BMDMA stat 0x64
 ata4.01: cmd c8/00:20:8f:0d:b1/00:00:00:00:00/f8 tag 0 dma 16384 in
          res 51/40:00:a4:0d:b1/00:00:00:00:00/f8 Emask 0x9 (media error)
 ata4.01: status: { DRDY ERR }
 ata4.01: error: { UNC }
 ata4.00: configured for UDMA/133
 ata4.01: configured for UDMA/133
 Unhandled sense code
 Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE

 Descriptor sense data with sense descriptors (in hex):
         72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00
         08 b1 0d a4
 Add. Sense: Unrecovered read error - auto reallocate failed
 end_request: I/O error, dev sdb, sector 145821092
 ata4: EH complete

badblocks: Pass completed, 159 bad blocks found.

Problém byl v tom, že se jednalo o read error (ne write), a tak nedošlo k automatické realokaci vadného sektoru. FF tuhnul dál. raw-read a pending-sectors se postupně zvyšovaly (na stovky, respektive desítky).

Nevadí, našel jsem úžasnou stránku, kde je problém popsán i s řešením, a zjistil, že je problém v cache souborech FF, které se nedají přečíst.

Navrhnuté řešení spočívalo v tom, že se člověk pokusil o zápis do poškozeného souboru, a pokud by se to nepovedlo, vadný blok by byl automaticky realokován (kýžený write error). Navrhované dd do souboru nemělo žádný účinek, a tak jsem zkusil shred poškozených cache souborů. Ten zafungoval až moc zázračně.

V čem je problém? Vše funguje jak po čisté instalaci, jen po vadných blocích ani památky. V logách není nikde vidět, že by byly realokovány. Jak je to možné?

SMART teď (disk jako nový)
Kód: [Vybrat]
   ATA SMART:                 Updated at Tue 16 Mar 2010 12:29:23 PM CET
      overall assessment:      Good
===============================================================================
 Attribute       Current|Worst|Threshold  Status   Value       Type     Updates
===============================================================================
 raw-read-error-rate         200|200| 51   good    804         Pre-fail Online
 spin-up-time                157|156| 21   good    3.1 secs    Pre-fail Online
 start-stop-count            100|100|  0    n/a    558         Old-age  Online
 reallocated-sector-count    200|200|140   good    0 sectors   Pre-fail Online
 seek-error-rate             100|253|  0    n/a    0           Old-age  Online
 power-on-hours               96| 96|  0    n/a    126.0 days  Old-age  Online
 spin-retry-count            100|100|  0    n/a    0           Old-age  Online
 calibration-retry-count     100|100|  0    n/a    0           Old-age  Online
 power-cycle-count           100|100|  0    n/a    556         Old-age  Online
 power-off-retract-count     200|200|  0    n/a    11          Old-age  Online
 load-cycle-count            200|200|  0    n/a    558         Old-age  Online
 temperature-celsius-2       101| 94|  0    n/a    42C / 108F  Old-age  Online
 reallocated-event-count     200|200|  0    n/a    0           Old-age  Online
 current-pending-sector      200|200|  0    n/a    0 sectors   Old-age  Online
 offline-uncorrectable       200|200|  0    n/a    0 sectors   Old-age  Offline
 udma-crc-error-count        200|200|  0    n/a    0           Old-age  Online
 multi-zone-error-rate       200|200|  0    n/a    0           Old-age  Offline

Očekával bych záznam v reallocated-sector-count, příp. v reallocated-event-count. Ale nic. Badblocks také hlásí čisto. Jak to? (Jinak disk je to WD, cca rok starý.)

Díky za příp. postřehy.

13
Už delší dobu mi lezou na nervy zjevně nepravdivé výroky uváděné v patičkách příspěvků některých uživatelů fóra. Pokusil jsem se jich pár vybrat a uvést na pravou míru.

An infinite number of monkeys typing into GNU Emacs would never make a good program.
FALSE. An infinite number of monkeys typing into GNU Emacs would make an infinite number of good programs. But what would that be good for?

Osobní počítače jsou nanic a opravdu nikdy nedělají to, co se po nich chce. Fakt. I když na něm třeba běží Debian, Ubuntu, Widle, Mac, je to skoro furt to samé... :-(
FALSE. Tuhle jsem po něm chtěl, aby mi zamrzl a...

Logic clearly dictates that the needs of the many outweigh the needs of the few.
FALSE. See Stalin, Mao, Hitler, Pol Pot...

Stupid post
TRUE

"...naše práce není vidět, ale je důležitá!"
FALSE. Naše práce je akorát hodně vidět, ale není k ničemu.

Jsou ve vašem dotazu OPRAVDU VŠECHNY vám dostupné informace o problému?
FALSE. Totálně zbytečný dotaz. Určitě ne.

Linus, Lajnas, Línus, Luínus, Lajnus a je mi naozaj jedno, ako ľudia vyslovujú moje meno. Ale "Linux" je vždy "Linux". LINUS TORVALDS
FALSE.  ˈliːnɵs ˈtuːrvalds> "I don't have a message for people... I just don't care enough... You can all rot in hell!"

Open source is gold way...
FALSE. Open source is the empty-pocket way...

notebook MSI EX720X, Ubuntu 8.10
FALSE. notebook MSI EX720X, Ubuntu 8.10 → plíny

Opera: King of Browsers.
FALSE. Podivný hudební útvar, který vyhynul již před několika tisíci lety.

Plno problémů vyřeší používání předposledních, nebo rok starých verzí...
prostě jen FALSE - stačí se podívat, kolik má dotyčný uživatel založených témat : )

Povedz mi čo počúvaš a ja ti poviem kto si.
FALSE. Povedz mi čo počúvaš a ja ti poviem, čo počúvaš.
FALSE. Povedz mi čo počúvaš a ja ti poviem, čo si mi povedal, že počúvaš.

FALSE. Povedz mi čo počúvaš a ja ti poviem, čo som si zapamätal z toho, čo si mi povedal, že počúvaš.

Vim rulez.
FALSE. Zelur miv.

Nepoužívejte Windows !
FALSE. Bez oken není rozhledu.

Na svete je 10 skupín ľudí, tí ktorí poznajú binárny kód a tí, ktorí ho nepoznajú.
FALSE. Na svete je 103 skupín ľudí: tí, ktorí poznajú binárny kód, tí, ktorí ho nepoznajú, a napokon tí, ktorí si myslia, že existuje iba dvojková a desiatková sústava.

Do života je třeba mít připravený rozum, nebo provaz.
FALSE. Znám plno šťastných nerozumných lidí.

Ubuntu is an ancient african word meaning "I can't configure Debian"
FALSE. Ubuntu is an ancient african word meaning "Money from Mark." Zdroj: uncyklopedia

14
Mám problém se zabitím neposlušného dítěte  ;)

Mějme skript
Kód: [Vybrat]
#! /bin/bash
prikaz="sleep 1m"

$prikaz &
ChildPID=$!

sleep 5
kill -0 $ChildPID && kill -9 $ChildPID
Úkolem je ukončit proces, pokud trvá déle než (řekněme) 5 sekund. Na zkoušku je tímto procesem sleep 1m.

Takto ten skript funguje. Pokud ale místo $prikaz & dám eval $prikaz & (eval tam potřebuji), tak se mi nedaří toho potomka vystopovat, abych ho mohl zabít  >:(

Máte prosím někdo nějaký (seriózní) nápad?

15
Moje minulé téma Co takhle nechat uživatele spouštět (polo)automatické debugovací skripty? si moc pozornosti nezískalo, uvidíme teď, jak zafunguje bulvární titulek  :D

Podle včerejší zprávy od Ricka Spencera dojde v Lucidovi ve FF ke změně výchozího prohlížeče z Google na Yahoo. Jedná se o reakci na obchodní jednání mezi Yahoo a Canonicalem, které vyústilo v domluvu na podílech ze zisku (z reklamy z vyhledávače Yahoo zřejmě) pro Canonical. Pro hodně lidí těžko stravitelný kousek asi bude fakt, že Yahoo úzce spolupracuje s Microsoftím Bingem. Na druhou stanu by bylo fajn, kdyby se angažmá Canonicalu v Ubuntu pohnulo směrem k ziskovosti/vlastnictví více peněz na vývoj.

Tak co na to vaše žluč?  :)

Důležitá upřesnění:
ti, kteří mají ručně přednastavený jiný vyhledávač, žádnou změnu nepocítí. Zůstane jim původní.
Yahoo půjde jednoduše změnit na jakýkoliv jiný vyhledávač (klik na ikonu vpravo nahoře, zvolit jiný vyhledávač).
Vše se týká samozřejmě jen firefoxu.

16
Občas se mi zdá, že při řešení problémů zde na fóru se stráví hodně času mámením dodatečných informací od přispěvatele, které jsou pak často neúplné, přispěvatel příkaz špatně zkopíruje apod. Napadlo mě, že pokud by se podařilo vytvořit skript, který by informace k problému schraňoval automaticky (něco podobného boot_info_scriptu na řešení problémů při bootování nebo systémového apportu), ušetřilo by nám/přispěvatelům to spoustu práce.

Jako vzorek jsem udělal bash skript na analýzu problémů s externími disky apod. Návod jsem se snažil udělat tak, aby se nemusel použít terminál.

Postup by byl asi takový: návod by byl na wiki včetně skriptu (aby ho mohl kdokoli doplnit/upravit).
Skript by se zkopíroval do souboru na plochu.
Pravoklik na skript a vybrat Otevřít jinou aplikací.



Použít vlastní příkaz a tam dát gksudo bash


Pak už skript pracuje sám. Výsledek uloží do souboru na plochu - výsledek.txt a ten se zkopíruje zpět do fóra.

Moje dotazy:
1. Myslíte, že by to takto mohlo fungovat, a že by to opravdu ulehčilo práci?
2. Zkuste postup i skript na nějakém svém externím zařízení (flash disk třeba). Funguje jak má?
3. Znáte nějaký elegantnější způsob, jak spustit skript s právy roota bez použití terminálu? Nebo jak mít kód veřejně dostupný/upravovatelný, a přitom si ho může kdokoli lehce stáhnout?

Vzorový skript ("DiskDebug")
Kód: [Vybrat]
#! /bin/bash

Devkit(){
for i in /dev/[sh]d[a-z]*; do
devkit-disks --show-info $i
done
}

if [[ `whoami` != "root" ]]; then
zenity --info --title="DiskDebug" --text="Musíš být root!\nSpouštěj skript přes gksudo."
exit 1
fi

# seznam příkazů, u nichž budeme dělat diff
DiskPrikazy=( "dmesg" "lsusb" "fdisk -l" "parted -l" "mount" "blkid -c /dev/null" "Devkit" )

# seznam obecných příkazů, které by mohly naznačit, že problém je někde jinde
SystemPrikazy=( "uname -a" "cat /etc/lsb-release" "free -m" "df -h" )
AktAdresar=$(cd $(dirname $0);pwd)

# vytvoř temp soubory s výpisy příkazů
for i in $(seq 0 $((${#DiskPrikazy[@]} - 1))); do
${DiskPrikazy[$i]} &> /tmp/$i.txt
done

zenity --info --title="DiskDebug" --text="Ujisti se, že je zařízení vysunuté z počítače nebo vypnuté.\nPak znovu připoj zařízení.\nAž bude připojené, klikni OK."

# čekej, než systém disk zaregistruje
( for i in {1..15}; do echo $(($i * 7)); sleep 1; done ) |
zenity --title="DiskDebug" --text="Sbírám data" --progress --percentage=0 --auto-close --auto-kill

# veškerý výstup odteď jde do výsledky.txt
exec &> $AktAdresar/výsledky.txt

# znovu výstup z DiskPrikazy, ale výstupem bude jen rozdíl mezi temp a aktuálním
for i in $(seq 0 $((${#DiskPrikazy[@]} - 1))); do
prikaz=${DiskPrikazy[$i]}
echo
echo $prikaz
echo ---------------------------
        $prikaz | diff - /tmp/$i.txt
done

# zaznamenej výstup z obecných příkazů
for i in $(seq 0 $((${#SystemPrikazy[@]} - 1))); do
prikaz=${SystemPrikazy[$i]}
echo
echo $prikaz
echo ---------------------------
        $prikaz
done

exit 0

17
Zkouším Kubuntu 9.10. V Gnome jsem používal několik skriptů, ve kterých se nejdřív zobrazí ikonka v systray, a teprve po kliknutí na ni se spustí skript (podobně jako třeba u systémového upozornění na aktualizace). Vypadalo to nějak takto
Kód: [Vybrat]
zenity --notification --text='Nové zprávy z forum.ubuntu!'
# ... stáhni nové zprávy (až po kliknutí na ikonu)

V KDE by na tyto účely snad mělo sloužit ksystraycmd. Nemůžu ale do něj dostat vlastní ikonu, zobrazí se vždy výchozí ikonka s otazníkem. Zkoušel jsem to např. takto
Kód: [Vybrat]
ksystraycmd --ownicon --icon "/usr/share/app-install/icons/ballz.png" --startonshow echo jedem
echo jedem je tam jen na vyplnění, ksystraycmd nefunguje bez příkazu (narozdíl od zenity).

Zkoušel jsem:
- různě přeházet přepínače v příkazu
- různé ikony, cesty k nim, formáty ikon
- spustit v novém účtu, v interaktivním módu, ze skriptu
- hledat na google i codesearch, dokumentace i použití ve skriptech je ale slabé, příp. nefunguje v KDE4

Nemáte prosím nějaký nápad? Nebo jiný způsob jak docílit podobného výsledku, jako u zenity --notification? Díky.

18
Hardware / Doporučíte hudební/multimediální mobil?
« kdy: 15 Října 2009, 21:48:14 »
Hezkou zimu vespolek,

nějak se odhodlávám si koupit nový mobil, no a kromě telefonování potřebuju, aby uměl přehrávat hudební soubory, a aby měl 3.5mm zdířku na sluchátka či reproduktory. Chci se tedy zeptat:

Máte někdo konkrétní zkušenosti s nějakým takovým mobilem a jeho funkčností v Ubuntu/Linuxu? Jde mi hlavně o synchronizaci souborů, čili nejlepší by bylo, aby se po připojení choval jako externí disk. Stačí mi napsat značku + typ mobilu a aplikaci, kterou k synchronizaci/prohlížení používáte.

Díky za případné náměty, třeba se to bude hodit i někomu jinému.

19
Zdravíčko,

nechcete se svěřit se svým tipem na dobrý podcast? Už jsem jich pár slyšel, třeba výborný rozhovor s Hansem Reiserem o "jeho" FS blahé paměti, ale vždycky jsou to jen ojedinělé nahrávky, ne pravidelný pořad. Zajímá mě:

  • audio, ne video podcast
  • anglicky nebo česky
  • spíš techničtěji zaměřený, diskuze o tom, jak je něco cool či víc vychytané radši ne-e

Anebo: nechce se toho tady někdo ujmout, a začít nahrávat sám (blogů už je dost)  ;D ;D

20
Taky vás někdy štve, jak je Ubuntu plné různých možností, aplikací a programů, které nikdy nevyužijete? Nemáte různé ty Nvidia karty, Bluetooth, Wacom tablet, a přitom na ně pořád stahujete různé záplaty a spouštíte jejich démony? Jasně, šlo by to všechno odinstalovat. A nebo...

Toto je návod, jak si poskládat své Ubuntu od začátku podle sebe, příp. jak doinstalovat grafické prostředí do serveru. Podle své nátury můžete zažít cestou plno legrace nebo frustrace, ale odměnou vám bude čistší a rychlejší systém přesně podle vašich požadavků. (Ilustrováno na Jauntym s graf. prostředím Gnome. Použity jsou hotové balíčky - "bez kompilace".)

Co budete potřebovat
1 Instalační CD - "alternate".
2 Volný oddíl na disku nebo virtualizaci.
3 Schopnost si nastavit připojení k internetu ručně. To je důležité pro stahování balíčků (fungování apt-getu). Pokud používáte DHCP server, nemusíte nastavovat nic.

Jdeme na to!
Najedeme do instalačního CD a přes F4 zvolíme možnost Install a command-line system



Zvolíme jazyk a necháme pracovat instalátor



Rozdělení disků je podobné jako u grafického instalátoru, jen se musíme obejít bez myši...



Po dokončení instalace restart a najedeme do příkazové řádky. Aktualizujeme
Kód: [Vybrat]
sudo apt-get update
sudo apt-get upgrade

Nainstalujeme základní věci pro start grafického prostředí
Kód: [Vybrat]
sudo apt-get install xorg gdm gnome-session gnome-terminal
A po restartu (sudo reboot) jsme v Gnomu!



No, zatím to nevypadá nic moc, ale když na tom trochu zapracujeme...

Takže nejdřív něco pro oko (to je samozřejmě nepovinné, a stačí jen human-theme)
sudo apt-get install human-theme gnome-themes-ubuntu ubuntu-wallpapers



Čeština zdá se není ideální, takže doinstalujeme podporu
(Změny se projeví až po restartu X/počítače. Možná bude potřeba změnit v Options → Select language jazyk na Czech)
sudo apt-get install language-support-cs language-pack-gnome-cs

Nějaké základní nástroje
sudo apt-get --no-install-recommends install gnome-volume-manager gnome-system-tools

A to by mělo být ze základu všechno. Pokud vám něco chybí,
- mrkněte na internet - co jsem potřeboval, tak jsem vždycky našel, chce to ale asi umět trochu anglicky nebo použít překladač;
- nebo zkuste velmi užitečný příkaz apt-cache search, který vyhledá, co je k dispozici. Příklad: chtěl bych doinstalovat nějaký šetřič obrazovky, ale nevím název balíku. Anglicky je šetřič screensaver, takže po zadání apt-cache search screensaver vyjede hodně možností, ale my si asi vybereme tu první: gnome-screensaver - GNOME screen saver and locker;
- mrkněte na stránku s balíkem ubuntu-desktop, kde jsou všechny základní balíky Gnome i s popisky pěkně pohromadě.

Další tipy na doinstalaci:

Systémové
fast-user-switch-applet na rychlé přepínání uživatelů
anacron pro pravidelné úlohy (databáze locate, zálohy logů apod.) v případě, že počítač na noc vypínáte
acpi-support podpora pro notebooky - uspání apod.
gnome-power-manager to okýnko na nastavování uspávání, vypínání monitoru atd. ("Správa napájení")
update-manager, update-notifier něco grafického pro automatické aktualizace
network-manager-gnome správce připojení

Aplikace
gedit textový editor
evince prohlížeč-pdf
eog prohlížeč-obrázky
firefox, příp. ještě ubufox a firefox-gnome-support
thunderbird, příp. ještě thunderbird-gnome-support
file-roller práce s archivy
openoffice.org, příp. openoffice.org-gnome

Tisk
cups, cups-bsd, system-config-printer-gnome

Zvuk
v základním nastavení funguje ALSA, takže pokud byla zvuk. karta rozpoznána, není třeba nic doinstalovávat (nefungují ale systémové zvuky). Nebo doinstalujte pulseaudio.

Grafika
compiz pro hračičky
jockey-gtk grafické nastavení ATI a NVIDIA ovladačů apod.

Multimedia
vlc
mplayer
mozilla-mplayer pro přehrávání ve FF
flashplugin-installer adobe flash pro FF

Anebo už vás to nebaví? Snadná pomoc - celý systém v plné verzi lze doinstalovat pomocí jednoduchého příkazu
sudo apt-get install ubuntu-desktop

Závěr
A je to. Jak se to povedlo?

Podle mých zkušeností není systém celkově o moc rychlejší, o pár sekund při startu a vypínání. Větší zrychlení pozoruji při instalaci programů a updatech. Když si doinstaluji všechny potřebné aplikace, systém celkově zabírá tak 75-80% místa oproti plné instalaci. Jde spíš o to se něco přiučit. A vědět, co se mi děje "pod kapotou".

Zdroje
vlastní pokusy
Hlavní sponzor: http://distrowatch.com/weekly.php?issue=20081215
Mediální partneři: http://www.ubuntugeek.com/install-gui-in-ubuntu-server.html
https://help.ubuntu.com/community/Installation/LowMemorySystems
http://packages.ubuntu.com/

Pozn.
Screenshoty byly dělány ve virtuálu, takže se skutečná instalace může mírně lišit. Hlavně je to vidět při rozdělování disku a nefunkčním zvuku. V reálu používám lean install pro 8.10 a 9.04 na desktopu Intel s integrovanou zvukovkou a grafickou kartou + pevným Ethernet připojením.

21
Tipy a triky pro Linux / Zálohování systému pomocí rsync
« kdy: 10 Května 2009, 13:35:48 »
Podařilo se mi pořešit zálohování celého systému včetně dat pomocí rsync. Třeba se to někomu bude hodit. Náměty vítány  :) (mám to vyzkoušené jen u sebe)

Výhody:
- používá se rsync, který je schopen synchronizovat rychle a i vzdáleně;
- možno zálohovat z běžícího systému; systém i data;
- bezpečné; pokud nepopletu zdroj a cíl, nemělo by to mít na zdroj žádný vliv - také možno nejdřív vyzkoušet nanečisto pomocí přepínače --dry-run;
- v případě problému stačí restartovat a přihlásit se do zálohy.

Nevýhody:
- je potřeba vytvořit zvlášť oddíl pro zálohu;
- trochu umět psát do skriptu, umět editovat menu.lst apod.

Tak jdeme na to.

První záloha:
1. Vytvoříme si na HDD oddíl pro zálohu, třeba pomocí Správce oddílů/GParted, a pojmenujeme jej např. zaloha.
2. Připojíme jej, a spustíme jako root (po úpravě - viz níže) skript ZalohujSystem
3. Zkopírujeme soubor fstab
Kód: [Vybrat]
sudo cp /etc/fstab /etc/fstab_zaloha
sudo cp /etc/fstab /media/zaloha/etc/fstab
a /media/zaloha/etc/fstab upravíme tak, aby připojoval kořenový adresář k oddílu zaloha.

4. Po synchronizaci vytvoříme v novém oddíle připojeném jako /media/zaloha nutné adresáře a dáme jim práva, a dále linky na cdrom a floppy
Kód: [Vybrat]
sudo -i
mkdir media mnt proc sys tmp
chmod 1777 tmp/
chmod 555 proc/
cd /media
mkdir cdrom0 floppy0
ln -s cdrom0 cdrom
ln -s floppy0 floppy

5. Přidáme do menu.lst odkaz na naši zálohu, třeba takto:
Kód: [Vybrat]
title BACKUP ("zaloha") na (1,1)=sdb2
root (hd1,1)
kernel /vmlinuz root=/dev/sdb2 ro
initrd /initrd.img
quiet
(hd1,1) a sdb2 si samozřejmě musíte upravit podle své situace. Dobré je tuto část dát POD řádek s
Kód: [Vybrat]
### END DEBIAN AUTOMAGIC KERNELS LIST aby nám do toho update-grub nezasahoval.

Všechny další zálohy:
Stačí připojit oddíl zaloha a spustit skript. Možno dát do cronu.


Část skriptu s poznámkami:
# Kopírujeme kořenový adresář ("z") do /media/zaloha ("do")
z=/
do=/media/zaloha/

rsync \
    --verbose \ # bude HODNĚ ukecaný, při první záloze to může být přes 100 000 řádků!
                        # možno vypnout anebo spouštět třeba jako sudo ./ZalohujSystem &> /tmp/RsyncDebug
    --recursive \ # samozřejmě rekurzivně
    --links \       # několik řádků s tím, co má všechno zachovat (snaha o maximum vlastností)
    --hard-links \
    --perms \
    --owner \
    --group \
    --devices \
    --specials \
    --times \
    --xattrs \
    --acls \
    --human-readable \
    --delete \                           # co vymažu v originále, ať se vymaže i v kopii
   --exclude=/home/*/.gvfs \               # co nesynchronizovat
   --exclude=/home/*/.mozilla/firefox/*/Cache \
   --exclude=/home/*/.thumbnails \     # náhledy obrázků atd. nejsou třeba, vygenerují se příp. znovu
   --exclude=/media \
   --exclude=/mnt \
   --exclude=/proc \
   --exclude=/sys \
   --exclude=/tmp \
   --exclude=/home/*/.local/share/Trash \           # koš taky nee
   --exclude=~/data/filmy \                          # nezálohuji filmy apod., ty mám už jinde, nutno upravit podle sebe
   --exclude=~/data/gpodder \
   --exclude=~/data/hudba \
   --exclude=/home/*/.opera/cache4 \
   --exclude=/etc/fstab \                               # fstab nezálohovat!
   --exclude=/var/run \                                 # násl. dva adresáře jsou stejně mazány při bootu
   --exclude=/var/lock \
   --exclude=/lib/modules/*/volatile/.mounted \          # "lock", který pak generuje (ale nefatální) chyby - lépe bez něj
        $z $do


[attachment deleted by admin]

22
Zdravím všechny,

mám problém s appletem na Přepínání uživatelů (fast-user-switch-applet). Pokud se odloguju, můžu se do jiného účtu přihlásit bez problémů. Pokud použiji applet bez odhlášení, obrazovka zčerná a systém zamrzne (nereaguje na nic kromě SysRq). V syslogu jsem našel tuto poslupnost akcí vedoucích k hlášení 'X failed', ale nepoznám z ní, proč. Vidí to tam někdo nebo má podobnou zkušenost?

Applet jsem přeinstaloval i se závislostmi, compiz nepoužívám (mám vypnutý v obou účtech).

Díky za příp. nápady.

Syslog:
Kód: [Vybrat]
May  1 20:59:20 arrange gdm[2717]: DEBUG: Loading locale string: Welcome (null)
May  1 20:59:20 arrange gdm[2717]: DEBUG: Key file does not have key 'Welcome'
May  1 20:59:20 arrange gdm[2717]: DEBUG: Loading non-locale string: Welcome (null)
May  1 20:59:20 arrange gdm[2717]: DEBUG: Loading locale string: Welcome (null)
May  1 20:59:20 arrange gdm[2717]: DEBUG: Key file does not have key 'Welcome'
May  1 20:59:20 arrange gdm[2717]: DEBUG: Loading non-locale string: Welcome (null)
May  1 20:59:20 arrange gdm[2717]: DEBUG: Loading locale string: RemoteWelcome (null)
May  1 20:59:20 arrange gdm[2717]: DEBUG: Key file does not have key 'RemoteWelcome'
May  1 20:59:20 arrange gdm[2717]: DEBUG: Loading non-locale string: RemoteWelcome (null)
May  1 20:59:20 arrange gdm[2717]: DEBUG: Loading locale string: RemoteWelcome (null)
May  1 20:59:20 arrange gdm[2717]: DEBUG: Key file does not have key 'RemoteWelcome'
May  1 20:59:20 arrange gdm[2717]: DEBUG: Loading non-locale string: RemoteWelcome (null)
May  1 20:59:20 arrange gdm[2717]: DEBUG: Attempting to parse key string: debug/Enable=false
May  1 20:59:20 arrange gdm[2717]: DEBUG: Got config debug/Enable=true <runtime-user> 
May  1 20:59:20 arrange gdm[2717]: DEBUG: Handling user message: 'CLOSE'
May  1 21:00:47 arrange gdm[2717]: DEBUG: gdm_socket_handler: Accepting new connection fd 7
May  1 21:00:47 arrange gdm[2717]: DEBUG: Handling user message: 'VERSION'
May  1 21:00:47 arrange gdm[2717]: DEBUG: Handling user message: 'AUTH_LOCAL 1234942513e843212b1d18ca8d552210'
May  1 21:00:47 arrange gdm[2717]: DEBUG: Handling user message: 'FLEXI_XSERVER_USER baja'
May  1 21:00:47 arrange gdm[2717]: DEBUG: Handling flexi request has-user:1
May  1 21:00:47 arrange gdm[2717]: DEBUG: flexi server: '/usr/X11R6/bin/X -br -audit 0 '
May  1 21:00:47 arrange gdm[2717]: DEBUG: Attempting to parse key string: daemon/FlexibleXServers=5
May  1 21:00:47 arrange gdm[2717]: DEBUG: gdm_display_manage: Managing :-1
May  1 21:00:47 arrange gdm[2717]: DEBUG: loop check: last_start 0, last_loop 0, now: 1241204447, retry_count: 0
May  1 21:00:47 arrange gdm[2717]: DEBUG: Resetting counts for loop of death detection
May  1 21:00:47 arrange gdm[2717]: DEBUG: Forking slave process
May  1 21:00:47 arrange gdm[3833]: DEBUG: Attempting to parse key string: xdmcp/PingIntervalSeconds=15
May  1 21:00:47 arrange gdm[3833]: DEBUG: gdm_slave_start: Starting slave process for :-1
May  1 21:00:47 arrange gdm[3833]: DEBUG: gdm_slave_start: Loop Thingie
May  1 21:00:47 arrange gdm[3833]: DEBUG: Attempting to parse key string: xdmcp/PingIntervalSeconds=15
May  1 21:00:47 arrange gdm[3833]: DEBUG: Sending VT_NUM == -1 for slave 3833
May  1 21:00:47 arrange gdm[2717]: DEBUG: gdm_display_manage: Forked slave: 3833
May  1 21:00:47 arrange gdm[2717]: DEBUG: Attempting to parse key string: debug/Enable=false
May  1 21:00:47 arrange gdm[2717]: DEBUG: Handling message: 'VT_NUM 3833 -1'
May  1 21:00:47 arrange gdm[2717]: DEBUG: Got VT_NUM == -1
May  1 21:00:47 arrange gdm[3833]: DEBUG: Sending DISP_NUM == 20 for slave 3833
May  1 21:00:47 arrange gdm[2717]: DEBUG: Attempting to parse key string: debug/Enable=false
May  1 21:00:47 arrange gdm[2717]: DEBUG: Handling message: 'DISP_NUM 3833 20'
May  1 21:00:47 arrange gdm[2717]: DEBUG: Got DISP_NUM == 20
May  1 21:00:47 arrange gdm[3833]: DEBUG: gdm_server_start: :20
May  1 21:00:47 arrange gdm[3833]: DEBUG: gdm_auth_secure_display: Setting up access for :20
May  1 21:00:47 arrange gdm[3833]: DEBUG: Attempting to parse key string: daemon/ServAuthDir=/var/lib/gdm
May  1 21:00:47 arrange gdm[3833]: DEBUG: gdm_auth_secure_display: Setting up access
May  1 21:00:47 arrange gdm[3833]: DEBUG: Attempting to parse key string: debug/Enable=false
May  1 21:00:47 arrange gdm[3833]: DEBUG: gdm_auth_secure_display: Setting up access for :20 - 1 entries
May  1 21:00:47 arrange gdm[3833]: DEBUG: Attempting to parse key string: debug/Enable=false
May  1 21:00:47 arrange gdm[3833]: DEBUG: Sending COOKIE == <secret> for slave 3833
May  1 21:00:47 arrange gdm[2717]: DEBUG: Attempting to parse key string: debug/Enable=false
May  1 21:00:47 arrange gdm[2717]: DEBUG: Handling message: 'COOKIE 3833 12...'
May  1 21:00:47 arrange gdm[2717]: DEBUG: Got COOKIE == <secret>
May  1 21:00:47 arrange gdm[3833]: DEBUG: Attempting to parse key string: debug/Enable=false
May  1 21:00:47 arrange gdm[3833]: DEBUG: Sending AUTHFILE == <secret> for slave 3833
May  1 21:00:47 arrange gdm[2717]: DEBUG: Attempting to parse key string: debug/Enable=false
May  1 21:00:47 arrange gdm[2717]: DEBUG: Handling message: 'AUTHFILE 3833 /var/lib/gdm/:20.Xauth'
May  1 21:00:47 arrange gdm[2717]: DEBUG: Got AUTHFILE == /var/lib/gdm/:20.Xauth
May  1 21:00:47 arrange gdm[3833]: DEBUG: Attempting to parse key string: daemon/VTAllocation=true
May  1 21:00:47 arrange gdm[3833]: DEBUG: Attempting to parse key string: daemon/FirstVT=7
May  1 21:00:47 arrange gdm[3833]: DEBUG: Attempting to parse key string: security/DisallowTCP=true
May  1 21:00:47 arrange gdm[3833]: DEBUG: Forking X server process
May  1 21:00:47 arrange gdm[3837]: DEBUG: Attempting to parse key string: daemon/LogDir=/var/log/gdm
May  1 21:00:47 arrange gdm[3837]: DEBUG: Attempting to parse key string: daemon/LogDir=/var/log/gdm
May  1 21:00:47 arrange gdm[3837]: DEBUG: gdm_server_spawn: '/usr/X11R6/bin/X :20 -br -audit 0 -auth /var/lib/gdm/:20.Xauth -nolisten tcp vt8'
May  1 21:00:47 arrange gdm[3833]: DEBUG: gdm_server_spawn: Forked server on pid 3837
May  1 21:00:47 arrange gdm[3833]: DEBUG: do_server_wait: Before mainloop waiting for server
May  1 21:00:47 arrange gdm[3833]: DEBUG: Attempting to parse key string: daemon/GdmXserverTimeout=10
May  1 21:00:47 arrange gdm[3833]: DEBUG: Attempting to parse key string: daemon/GdmXserverTimeout=10
May  1 21:00:49 arrange gdm[2717]: DEBUG: Attempting to parse key string: debug/Enable=false
May  1 21:00:49 arrange gdm[2717]: DEBUG: Handling message: 'XPID 3833 0'
May  1 21:00:49 arrange gdm[2717]: DEBUG: Got XPID == 0
May  1 21:00:49 arrange gdm[3833]: DEBUG: Attempting to parse key string: daemon/GdmXserverTimeout=10
May  1 21:00:49 arrange gdm[3833]: DEBUG: gdm_server_start: After mainloop waiting for server
May  1 21:00:49 arrange gdm[3833]: DEBUG: gdm_server_start: Server :20 died during startup!
May  1 21:00:49 arrange gdm[3833]: DEBUG: Attempting to parse key string: daemon/LogDir=/var/log/gdm
May  1 21:00:49 arrange gdm[2717]: DEBUG: mainloop_sig_callback: Got signal 17
May  1 21:00:49 arrange gdm[2717]: DEBUG: gdm_cleanup_children: child 3833 returned 64
May  1 21:00:49 arrange gdm[2717]: DEBUG: X failed!

23
Otevřená diskuze kolem Linuxu a OSS / DOJMY z LinuxExpo 2009
« kdy: 17 Dubna 2009, 00:03:10 »
Byli jste na LinuxExpu? Jak se vám tam líbilo?



Já jsem se byl jako linuxový novic podívat hlavně na představení distribucí: Fedory, OpenSUSE, Mandrake, JJ a databáze MySQL. Bylo to hodně zajímavé. A řekl bych, že Ubuntu se ve své prezentaci hodně lišilo od těch ostatních.

Ve svém podtitulu měla výstava slogan "O Linuxu s nadhledem", a v propozicích se mluví něco o výstavě pro "představení svých produktů, služeb a řešení přesně definované klientele". Proto se asi hodně přednášejících soustředilo na prezentaci předností daných distribucí, takže lítala hlavně slova jako "levnější řešení", "stabilita systému", "korporátní klientela" apod. Taky se hodně mluvilo o technických novinkách, které dané distribuce přináší.

Vlastimil Ott mluvil např. o novém "Hardwarovém centru" na jednotné rozpoznávání a nastavování hardware v Mandrivě.
Radek Vokál z Red Hatu o novém systému (jméno si nepamatuju) nahrazujím HAL a zlepšeném crash reportování, které (automaticky) funguje napříč aplikacemi.
Borci ze SUSE předváděli v real-timu nový systém patchování balíčků a (už ne real-time) vytváření vlastního forku SUSE pomocí webového rozhraní.
No a Tomáš Pivoda něco říkal o "obracení na víru MySQL".

Většinou to byli lidi přímo z dané distribuce (Red Hat Czech, Brno; SUSE Linux s.r.o.; Servodata (MySQL)) Byl jsem teda zvědavý, jak dopadne Vojtěch Trefný.

Oproti ostatním distribucím se v Ubuntu řešily "prkotiny" jako nový notifikační systém, nové Brasero, titulky v Totemu apod. Ale lidi to bavilo. VT měl dle sloganu ten správný nadhled a nadšení, které mu nebránily i pochválit jiné distibuce a udělat si legraci z vlastní [parafráze - org byl lepší]: "... slibovali nové téma už pro 8.04, nebylo. Pak ho slibovali znova, a zase nebylo..." "evergreenem je zkracování start-upu systému, tu o 10 sekund, tu o dvacet, s každou novou verzí systému. Kdyby to všechno, co říkají, byla pravda, byly bychom dnes už v záporných hodnotách..." Taky si myslím, že na tuto přednášku přišlo nejvíce lidí. Prostě asi ideální systém pro běžné uživatele.

Z mého pohledu bezchybná byla prezentace na stáncích - praktické ukázky, rady, možnost si vyzkoušet přímo na místě. Ideál. No a vidět Mr Trefného a Kiklhorna in natura také stojí za to, jsou to (v pozitivním slova smyslu) nepřehlédnutelné postavy ... :)

Omlouvám se všem za příp. zprznění jejich jmen, postav a slov. Jsou to jen a jen mé dojmy z výstavy.

24
Už jsem několikrát použil magickou kombinaci uvedenou v titulku při různých experimentech se systémem a při (mnou) pokažené instalaci Debianu a chrootu. Jak si ale danou kombinaci zapamatovat?

V angličtině existuje pomůcka např. Raising Skinny Elephants Is Utterly Boring. To ale asi není pro každého. Znáte nebo vymyslíte nějaký český ekvivalent?

Mě napadají jen samé blbosti, třeba

Rachitický Slon Ejakuloval I U Brány
Rozkrok Stále Existuje I U Babiček


apod. Znáte něco lepšího?

25
Hraju si s grepem a různými možnostmi jak si nechat vypsat textový soubor bez prázdných řádků a poznámek. Možností je mnoho, mně se nejvíce zalíbila
Kód: [Vybrat]
grep '^[^#]' text.file protože je (asi) nejkratší a nepotřebuje přepínače typu -Ev. Jen nechápu, jak to, že to funguje. OK --

^ - označuje začátek řádku
[] - seznam
^ na prvním místě v seznamu [] - označuje negaci

Takže by to mělo vypsat řádky, které NEzačínají na #. Ale proč to nepíše i prázdné řádky, ty jsem nikde nevyloučil? Ten příkaz je jakoby ekvivalentní s příkazem grep '^[^# ]' (je tam navíc ta mezera).

Ví někdo, proč to vynechává i ty prázdné řádky?

Příklad
Kód: [Vybrat]
$ echo -e '111\n\n\n22222\n\n333333\n#4444'
111


22222

333333
#4444
$ echo -e '111\n\n\n22222\n\n333333\n#4444' | grep '^[^#]'
111
22222
333333

Stran: [1] 2

Provoz zaštiťuje spolek OpenAlt.