Se afișează postările cu eticheta GNU/Linux. Afișați toate postările
Se afișează postările cu eticheta GNU/Linux. Afișați toate postările

sâmbătă, 7 decembrie 2013

Long Live The TeX Live (or How to install TeX Live on Ubuntu?)


What is the most common encountered error message when you try to compile a latex document which wasn't made by you?... Exactly:

! LaTeX Error: File `<somefilename>.sty' not found.

What is the solution? There are at least three solutions:
  1. You could download the package files from the Comprehensive TeX Archive Network and install manually in your system.
  2. If you use a GNU/Linux distribution, Ubuntu for example, then you could google the name of the Ubuntu package (or Debian package) which in turn, contains the latex package that you need and install the first via the apt-get command.
  3. If you use MS Windows then you could launch the Package Manager program from MiKTeX software and install the package via one-two clicks of mouse.
After N years of solving this problem I can say with certitude that I'm tired of solution 1 and 2. I like the solution 3, but it's only available on Windows... Is there a way to move the solution 3 to GNU/Linux context? Yes! It is called TeX Live (2013). And the steps for implementing the solutions are presented bellow.

1. Get rid of all texlive Ubuntu packages

sudo apt-get remove texlive-base

2. Download the TeX Live (2013) installation files form http://tug.org/texlive/acquire.html and install it.

wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
tar -xf install-tl-unx.tar.gz
cd install-tl-20131125
sudo ./install-tl

type I for the question and wait about two - three hours for installation process to finish.

3. Install the dependencies for the graphic interface of the TeX Live (2013) programs. 

sudo apt-get install tk
sudo apt-get install perl-tk

4. Clone key files from TeX Live located in /usr/local/ to /usr/ 

Run: sudo /usr/local/texlive/2013/bin/x86_64-linux/tlmgr --gui

From the Actions menu (Fig. 1) select Handle symlinks in system dirs... item and in the dialog that will show (Fig. 2) click on Update symbolic links button, then on OK.



Figure 1. TeX Live Manager 2013 GUI




 Figure 2. Handle symlinks in system dirs dialog

This step is necessary because it seems that some executable from tlmgr do not use internaly relative paths, but absloute paths like /usr/bin/tex

5. Install the necessary package

sudo tlmgr install <somepackagename>

Voilà.

marți, 8 octombrie 2013

Un exemplu de utilizare a programului GNU parallel

1. Începutul

În data de 29 septembrie 2013, la Bălți, s-a desfășurat „Ziua Libertății Programelor și 30 de ani de GNU”. Evenimentul a fost organizat de Fundația Ceata (http://ceata.org) și sprijinit de Universitatea de Stat "Alecu Russo" din Bălți (http://www.usarb.md). Programul evenimentului poate fi găsit la adresa http://ceata.org/evenimente/zlp-2013-%C8%99i-30-de-ani-de-gnu-%C3%AEn-b%C4%83l%C8%9Bi.html. Țin să precizez că Bălți nu a fost unicul oraș în care Fundația Ceata a organizat evenimente legate Ziua Libertății Programelor. Au fost de tot șase orașe.  Mai multe detalii le puteți găsi în comunicatul oficial al Fundației Ceata.

Cine s-a săturat de citit poate să privească fotografiile de la evenimentul din Bălți, https://albume.ceata.org/index.php?/category/118.

2. GNU Parallel (și GNU Stow)

Reiese așadar din denumirea evenimentului că trebuia să se fi vorbit mult despre GNU. Așa și a fost. S-a vorbit despre GNU Hurd, despre programele făcute de cei de la GNU, în special, de Emacs, de GNU Core Utilities etc. Eu am vorbit despre GNU Prallel și GNU Stow (http://www.slideshare.net/vundicind/gnu-parallel-i-gnu-stow). Apropo prezentarea de pe slideshare.net este pusă la dispoziţie, cu toate că nu este specificat pe primul diapozitiv a prezentării, sub Licenţa Atribuire - Distribuire-în-condiţii-identice 3.0 Ne-adaptată (CC BY-SA 3.0).

Am vorbit despre metode de instalare a GNU parallel, am dat exemple de utilizare combinată cu programul grep, am explicat cum poate fi controlat  numărul de procese paralele  și în final am prezentat un contraexemplu (un caz în care executarea sarcinilor în paralel înrautățește lucrurile). N-am reușit însă să prezint un alt exemplu. Un crawler web realizat în întregime doar prin comenzi GNU/Linux și care face interogările către server în paralel. Nu l-am prezentat pentru nu-l aveam finalizat atunci. Acum după cîteva săptămîni am găsit totuși timp și l-am data gata.

 3. Crawler web care folosește GNU parallel și nu doar GNU parallel

Am fost inspirat de exemplul de crawler web din manualul programului GNU parallel. Crawlerul realizat de mine este la fel un script shell care l-am numit „pwspell” (pe lung ar fi „Parallel Web Spell Checker”) adică un crawler care mai și verifică ortografia paginilor vizitate. Script-ul poate fi descărcat de pe Github.com(https://github.com/vundicind/pwspell). Proiectul pe Github conține trei fișiere: script-ul și două fișiere text. Fișierul README_ro.md conține indicații, în română, pentru instalare (pachete adiționale) și rulare.

Script-ul face ceea ce am scris mai sus că face, dar mai este de lucru la el. De exemplu, dacă textele în website conțin literele „ț” și „ș” cu sedilă (redactate din Windows XP) atunci toate cuvinte cu aceste două litere vor fi considerate greșite de pwspell. Acest fapt se datorează lui aspell (programul utilizat de crawler pentru verificarea ortografiei) în dicționarele căruia se folosesc „ț” și „ș” cu virgulă (cum e corect).

Pentru mine acest script are o importanță mai mult didactică decît funcțională. Crawler-ul este un exemplu netrivial de utilizare combinată de comenzi GNU/Linux, un exercițiu de scriere de script-uri shell reușit.

miercuri, 19 mai 2010

Ubuntu - de fiecare dată ceva nou

Times New Roman în Ubuntu

sudo apt-get install msttcorefonts

Variabila de sistem PATH în bash

În fișierul .bashrc adăugați rîndurile

PATH=$PATH:/var/lib/gems/1.9.0/bin
export PATH

Coșul de gunoi în GNOME

~/.local/share/Trash/files/ - fișierele șterse

~/.local/share/Trash/info/ - informația despre fișierele șterse

Dosarele files și info pot fi șterse întrucît la următoare trimitere a unui fișier în coș el sînt create din nou.

Optimizarea bazelor de date în format sqlite pentru FireFox 3.5*

Știm că Mozilla Firefox frînează în unele situații: la prima lansare, atunci cînd începem a tipări în bara de adrese etc. În multe cazuri acest lucru poate fi eliminat dacă optimizăm bazele de date format sqlite în care Mozilla Firefox stochează informația de sistem. Utilizăm următoarea comandă:

for f in ~/.mozilla/firefox/*/*.sqlite; do sqlite3 $f 'VACUUM;'; done

Increase Firefox 3.* Performance by Optimizing the SQLite Databases [Windows, Linux and Mac OSX]

Montarea imaginilor CD

sudo mount -t iso9660 -o loop disk1.iso /mnt/disk

sau mai simplu (fără a fi nevoie de a memoriza tipul iso9660)

sudo mount -o loop disk1.iso /mnt/disk

Activarea combinației de taste Ctrl + Alt + BackSpace

Începînd cu versiunea 9.04 acestă posibilitate de a reporni X serverul a fost dezactivată. Sînt mai multe modalități de a o activa înapoi. De exemplu:
  1. Accesați System->Preferences->Keyboard
  2. Activați pagina Layouts și dați clic pe butonul Layout Options
  3. Selectați opțiunea Key sequence to kill the X server și bifați Control + Alt + Backspace
Determinarea mărimii unui dosar

du -hs <NUME_DOSAR>

Determinarea mărimii fiecărui subdosar

find . -type d -maxdepth 1 -mindepth 1 | xargs du -sh

Determinarea pachetului părinte

În cazul cînd este nevoie de aflat cărui pachet aparține un fișier anume se poate de utilizata comanda:

dpkg -S <NUME_FISIER>

Vrăji pentru ca lucrurile să revină la normal după o instalare eșuată a driver-ului pentru NVIDIA

sudo apt-get purge nvidia*
sudo rm /etc/X11/xorg.conf
sudo apt-get install --reinstall xserver-xorg-core \
     libgl1-mesa-glx:amd64 libgl1-mesa-dri:amd64
sudo dpkg-reconfigure xserver-xorg
sudo reboot

Eliminarea nucleelor vechi

În primul rînd pentru a vedea ce nucleul este folosit acum

uname -r

Pentru a vedea lista de nuclee instalate puteți încerca

ls /boot

sau

dpkg --list | grep linux-image 

Pentru aelimina un nucleu

sudo apt-get purge linux-image-x.x.x.x-generic

În final

sudo update-grub2

Cisco AnnyConnect

Înprimul și în primul rînd trebuie de instalat pachetul corespunzător

sudo apt-get install network-manager-openconnect-gnome

Apoi clic pe pictograma lui Network Manager (colțul dreaptă-sus al ecranului), după care clic pe itemul Edit Connections.... În ferestra apărută clic pe butonul Add și alegeți Cisco AnyConnect Compatible VPN (openconnect). Dați clic pe butonul Create și completați datele necesare conexiunii cum ar fi: Gateway.

Adăugarea de indicatoare pe panouri

Pe timpuri, înainte de Unity un clic de dreapta pe panou rezolva problema. După Unity e nevoie de fie Alt+clic de dreapta, fie Win+Alt+clic de dreapta pe panou.

Probleme cu cheile pentru sursele de pachete

Dacă după actualizarea pachetelor apare eroare:

The following signatures couldn't be verified because the public key is not available: NO_PUBKEY _CHEIA_CU_PRICINA_

Se rezolvă simplu:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys _CHEIA_CU_PRICINA_