Archiv pro měsíc: Říjen 2012

OpenWRT a CUPS

Už jsem málem házel flintu do žita, p910n mi sice odpovídal popisem činnosti která právě probíhá, ale papír z tiskárny nevyjel. Pak jsem pár týdnů hledal po domě USB hub, do kterého bych připojil flash disk, na který se vejde CUPS a samotnou tiskárnu. A po tomhle jsem neměl vyhráno, v CUPS nebyla tiskárna vidět, surová přednastavená také nic nedělala. Dnes se konečně zadařilo a našel jsem skvělý návod na zprovoznění: http://mattie47.com/getting-cups-working-on-openwrt/

Autor rekapituluje všechny poznatky z wiki openwrt a přidává něco navíc:

K balíkům, které se všude zmiňují, že je třeba nainstalovat a naopak odstranit mě přibyl ještě HPLIP, možná není nutný, ale mě to s ním na staré HP tiskárně fungovalo.

root@OpenWrt:/# vi /etc/cups/cupsd.conf

change
User Nobody
Group Nobody

to:
User root
Group root

And change AuthClass to AuthClass Anonymous.
Remember to change allowed network to your network, otherwise you won’t be able to find the printer. E.G:

Order Deny,Allow
Allow From 127.0.0.1
Allow From 192.168.0.0/24

Dále pokračuje skvělým postřehem: chmod 700 /usr/lib/cups/backend/usb
mě pomohlo až: chmod 700 /usr/lib/cups/backend/hp

V tuto chvíli ve webovém rozhraní CUPS můžete zvolit Find new printer a bude tam. Já jsem jej nainstaloval jako raw tiskárnu a hned šlape jak z Linuxového, tak Win stroje.

EDIT 2013-05-19: Zdá se, že tiskárna začne fungovat až po symlinku, který uvádím v návodu na skenování.

OpenWRT

staAbychom nezůstávali jen u Ubuntu, mám doma i starý počítač, ve kterém jsou nastrkané disky v LVM poli na ukládání fotek ze zrcadlovky a pak ještě překlápí DVB-T do LANu, i takto staré Pentium III zvládne HDčkový multiplex 4, nahrávat však dokáže pouze SD kanály. Vedle toho máme D-Link DIR-825, který s původním firmware funguje pouze jako router. Jenže když vám na střechu dají pěkné 5 GHz sítečko se 400 MHz procesorem jako router, byla by hloupost znovu překládat. Nezbylo než nasadit Linux a to nejprve DD-WRT, které jsme vyměnili za OpenWRT, které vypadá dospěleji a prostě funguje. Dnes jsem řešil, jak rozšířit jeho 3 MB paměť pro instalaci balíčků na 16 GB flashdisk připojený do USB hubu spolu s tiskárnou, kterážto byla také jedním z původců přechodu. Koupíte si totiž krabičku s USB portem, ale výrobce se už nepochlubí, že tiskárna a spol. se zpřístupňují jedině pomocí windowsovského klienta. Naše tiskárna je však stará stejně jako počítač s Debianem a funguje dle nálady, zpočátku jsem samozřejmě nahrál na DIR-825 balík p910n, který překlápí tiskové úlohy přímo tiskárně. Na počítači jsem mohl sledovat stavové hlášení probíhajícího tisku, papír však nevylezl. Následovala snaha nainstalovat hplip či cups a k tomu je třeba mnoho prostoru v úložišti.

K nahrazení systémového úložiště flashkou stačí následovat návody ve wiki OpenWRT. Zejména http://wiki.openwrt.org/doc/howto/extroot

V balíku e2fsprogs jsou nástroje pro formátování disku.

Flash disk se objeví pravděpodobně jako /dev/sda*, ověříte nástrojem fdisk -l.
Ten připojíte např. do existující složky /mnt/sda1. Zkopírujte současný instalovaný software příkazem:
tar -C /overlay -cvf - . | tar -C /mnt/sda1 -xf -

Klikátkem nebo editací /etc/config/fstab nastavte připojení svého /dev/sda* do /overlay a nastavte příznak is_rootfs:

config mount
option device /dev/sda1
option fstype ext3
option options rw,sync
option enabled 1
option enabled_fsck 0
option is_rootfs 1

Pak reboot, a je hotovo, pokud vyndáte flashku, načte se původní stav před přechodem, zkrátka linuxová parádička.

Google kalendář v Gnome Shell

Dnes to bude krátké, jen odkaz na github:
https://github.com/vintitres/gnome-shell-google-calendar

V Synapticu jsem dohledal a nainstaloval balíčky vyhledané řetězcem „python“ a “ gdata“, „iso8601“, dle Readme.

spuštěním příkazu:
./gnome-shell-google-calendar.py --account user@gmail.com

se hned vyplní kalendář a ten je aktualizovaný každým dalším otevřením, tak dlouho dokud démon běží.

O čem to bude.

Pokud se sem někdo jakousi záhadou dostal, nechť ví, že zde hodlám skladovat návody pro vyřešení problémů během provozu linuxové distribuce Ubuntu. Neb se již blíží vydání nové verze Ubuntu ( Quantal Quetzal) je na čase znovu vytáhnout již jednou používaný apt-cacher-ng na mém Debian serveru. Potíž je v tom, že jsem si nikam nezapsal, kterak jsem na jaře provedl ultra rychlou instalaci pomocí alternate CD, staženého přes torrent a importovaného na server, který se chová jako zrcadlo oficiálního repozitáře, i když ne tak úplně. Tím, že si stáhnu CD přes torrent nejenže ušetřím servery Canonical, ale aktivně se zapojím do šíření Ubuntu dalším lidem, odměnou mi bude nebývale rychlé získání balíčků pro povýšení a to pro několik instalací distribuce naráz. Tolik k popudům této činnosti. Jenže jak já to před půl rokem dělal. Nejlepší bude si to někam napsat a systematicky skladovat. Tohle mile rád svěřím Googlu. Až se mi zase povede něco vyřešit, budu mít možnost se o to podělit s komunitou, ale také se k již vyřešeným problémům vrátit, až přijde znovu jejich doba. Během zítřka vyjde nové Ubuntu a příprava spočívala v následujícím.

Na serveru:

# apt-get install apt-cacher-ng

nebo

# aptitude install apt-chacher-ng

Na klientech:

Je třeba dát vědět o zrcadle vytvořením souboru

/etc/apt/apt.conf.d/01proxy

o obsahu:

Acquire::http { Proxy „http://xxx.xxx.xxx.xxx:3142“; };


jednoduše tvořeného IP adresou serveru, nebo jeho názvem, jak se to lépe hodí.

 

Pokud se však klient pohybuje v různých prostředích, jako já, je šikovné vytvořit spíše soubor

/etc/network/if-up.d/apt-proxy

o obsahu

#!/bin/sh

set -e
# Don't bother when lo is configured.
if [ "$IFACE" = lo ]; then
exit 0
fi
# Only run from ifup.
if [ "$MODE" != start ]; then
exit 0
fi
# currently only cares about IPv4
if [ "$ADDRFAM" != inet ] && [ "$ADDRFAM" != NetworkManager ]; then
exit 0
fi
# only run for DHCP-assigned addresses
if [ "$DHCP4_IP_ADDRESS" = "" ]; then
exit 0
fi

# we're matching on network *broadcast* address,
# not the specific IP address we were assigned
#case "$DHCP4_BROADCAST_ADDRESS" in
#10.3.141.255)
# PROXY='Acquire::http::Proxy "http://xxx.xxx.xxx.xxx:3142";';
# ;;
# add as needed
#*)
# unknown, no proxying
# PROXY=""
# ;;
#esac

if ping -c 1 xxx.xxx.xxx.xxx ; then
PROXY='Acquire::http { Proxy "http://xxx.xxx.xxx.xxx:3142"; };';
else
PROXY=""
fi

echo $PROXY
# set the proxy
FNAME="/etc/apt/apt.conf.d/01proxy"
echo -n "$PROXY">$FNAME

exit 0

Jak vidíte možností je požehnaně, původní složitou část jsem zakomentoval a spolehl se na obyčejný ping. Třeba nezapomenout na to aby měl soubor spustitelný příznak.

To že spojení se serverem máme, lze ověřit jednoduše:

$ cat /etc/apt/apt.conf.d/01proxy


Nemáme-li spojení bude výpis prázdný a stačí jednoduše „restartovat“ připojení k domácí síti což spustí onen skript. Tolik k nastavení a teď k použití.

 

$ update-manager -d

Přejít na vyšší verzi.

 

Potvrzovat a nechat stahovat informace až do chvíle, kdy instalátor nabídne počty stahovaných, odstraněných a ponechaných balíčků spolu s volbou zda povýšit, či akci zrušit. V tuto chvíli je na zrcadle vytvořeno podhoubí pro import nových balíčků, takže zvolíme zrušit a přejdeme k importu balíčků.

 

K importu balíčku už nedošlo, nebo jsem zpětně dohledal informaci, která tvrdí, že Canonical zrušil Alternate CD pro Ubuntu, protože se mu povedlo dostat všechny vlastnosti do grafikého instalátoru. Pro ostatní by mělo fungovat přimountování do:

 

/var/cache/apt-cacher-ng/_import

 

a spuštění importu z webového rozhraní. Bohužel to nemohu vyzkoušet.