Installazione pacchetto layaureo in Linux

  • Creatore
    Topic
  • #7301
    Up
    0
    Down
    ::


    Ciao a tutti e grazie per l’attenzione.

    So che questo topic risulterà un poco OT ma non so a chi rivolgermi. Ho appena installato Ubuntu Linux 5.10, e da totale novizio di Linux mi trovo con il grosso problema di aggiungere nuovi pacchetti. Ho installato tutto quello che è scritto nella vostra guida ma … per totale inesperienza non riesco ad aggiungere layaureo nel senso che non riesco a copiare i file nelle cartelle di tex.
    Il sistema mi dice che non ho provilegi di root, ma nonostante io faccia come ho letto su alcuni forum:

    sudo h s
    Pass

    e mi identifichi come superutente mi dice che non posso effettuare la copia.

    So che è molto OT ma senza layaureo non posso ricompilare tutti i documenti che avevo realizzato in ambiente windows.

    Grazie ancora per l’attenzione

Visualizzazione 15 filoni di risposte
  • Autore
    Risposte
    • #7302
      Up
      0
      Down
      ::

      So che questo topic risulterà un poco OT ma non so a chi rivolgermi. Ho appena installato Ubuntu Linux 5.10, e da totale novizio di Linux mi trovo con il grosso problema di aggiungere nuovi pacchetti. Ho installato tutto quello che è scritto nella vostra guida ma … per totale inesperienza non riesco ad aggiungere layaureo nel senso che non riesco a copiare i file nelle cartelle di tex.
      Il sistema mi dice che non ho provilegi di root, ma nonostante io faccia come ho letto su alcuni forum:

      sudo h s
      Pass

      e mi identifichi come superutente mi dice che non posso effettuare la copia.

      Non è OT, a mio parere. Una distribuzione teTeX come quella di Ubuntu mantiene due alberi, uno con l’installazione “standard” che dovrebbe essere chiamato “texmf” e stare probabilmente in /usr/local, l’altro “texmf.local”, dove si può aggiungere ciò che si desidera. È meglio non toccare l’albero principale, perché è quello che viene gestito da eventuali aggiornamenti; rischi di cancellare le tue aggiunte.

      Metti il file guit.sty nella directory texmf.local/tex/latex/guit, poi dai il comando “sudo mktexlsr”.

      Se non riesci a copiare non so che farci. Ma che significa “sudo h s”? Il comando “sudo” è un prefisso; per copiare qualcosa devi dare il comando completo dopo:`sudo cp guit.sty /usr/local/texmf.local/tex/latex/guit`per esempio. Oppure, se ti fidi, “sudo bash” che lancia una shell con privilegi di root. Meglio starci attenti.

      Ciao
      Enrico

    • #7303
      Up
      0
      Down
      ::


      Ehehe, che bello avere una Ubuntu, senza un superuser 🙂

      Risolviamo in modo semplice, da utente:`mkdir $HOME/texmf
      mv layaureo.sty $HOME/texmf
      texhash`

      Facendo così dovresti poter compilare sempre con layaureo.

      Ciao.

    • #7304
      Up
      0
      Down
      ::


      Grazie mille … appena torno su Linux provo entrambe le soluzioni….
      Spero così di poter sfruttare a pieno Kile, lo trovo infinitamente più bello di Texnic Center.

      Vi informerò sul mio risultato.

      PS
      Una info ancora più OT:
      Mi sapete consigliere un buon manuale (possibilmente distribuito gratuitamente) per imparare un po’ di comandi da usare con il terminale di Linux. Non necessariamente riferito alla distribuzione Ubuntu, mi basta qualcosa per iniziare piano piano….
      Grazie ancora … siete sempre disponibilissimi!

    • #7305
      ev
      Partecipante
        Up
        0
        Down
        ::

        Ehehe, che bello avere una Ubuntu, senza un superuser 🙂

        A dire il vero, root esiste ma disabilitato e con sudo si riesce a fare tutto.

        Piccola modifica alle istruzioni proposte da Emiliano:`mkdir $HOME/texmf
        mv layaureo.sty $HOME/texmf
        cd $HOME/texmf
        texhash .`

        Per quanto riguarda la locazione degli alberi di sistema, l’albero principale di teTeX viene solitamente installato in /usr/share/texmf mentre quello locale e $TEXMFVAR variano da distribuzione a distribuzione.

        Ulteriore complicazione se si usa teTeX 3.0: non chiedetemi il motivo, ma in texmf.cnf (l’originale, non quello eventualmente pasticciato da qualche manteiner senza sale in zucca) l’ordine di ricerca presenta l’albero principale prima dell’albero locale di sistema, in netto contrato con quanto avveniva con le versioni precedenti e con quanto suggerisce il mio scarso buon senso (me ne sono accorto a mie spese dopo aver “aggiornato” beamer e pgf installandoli nell’albero locale di sistema).

      • #7306
        Up
        0
        Down
        ::


        Ho provato a fare come mi avete detto :

        `
        mkdir $HOME/texmf
        mv layaureo.sty $HOME/texmf
        cd $HOME/texmf
        texhash .`

        Ma non funziona …
        Per fare il texhash ho dovuto entrare come utete root con sudo bash (altrimenti a ogni operazione riportava skipping).

        Questo è quello che mi restituisce il comando texhash:
        `
        root@ubuntu:~/texmf# texhash
        texhash: Updating /home/davide/texmf/ls-R…
        texhash: Updating /usr/local/share/texmf/ls-R…
        texhash: Updating /var/lib/texmf/ls-R…
        texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN…
        texhash: Updating /var/cache/fonts/ls-R…
        texhash: Done.
        root@ubuntu:~/texmf#
        `

        Non so cosa fare … ho anche provato a copiare in texmf sotto user/share/texmf … ma non è serivito a nulla.
        L’albero texmf.local invece non riesco neppure a trovarlo …

        Ogni volta che provo a ricompilare mi dice che il pacchetto layaureo.sty non lo trova…

      • #7307
        Up
        0
        Down
        ::


        Secondo quanto è scritto in questa pagina, /usr/share è una directory gestita dalla tua distribuzione e pertanto è meglio non toccarla.

        /usr/local/share/texmf invece è fatto apposta per quei pacchetti che devono essere messi a disposizione di tutti gli utenti ma che non devono essere rimossi ad ogni aggiornamento della distribuzione.

        Una volta aggiornato il db dei pacchetti con texhash, puoi controllare se il pacchetto è accessibile lanciando:`if [[ -f $(kpsewhich layaureo.sty) ]]
        then
        echo “Ok”
        else
        echo “C'e' qualcosa che non va…”
        fi` (non è comando di base, ma almeno è chiaro se tutto va bene o meno :P).

        Per il tuo problema, sospetto che tu possa non avere il permesso di lettura sulle cartelle… Non mi viene in mente altro, per ora…

        Facci sapere.

      • #7308
        Up
        0
        Down
        ::


        Ho provato a metterlo nella /usr/local/share/texmf e rilanciato il comando texhash … ma non ci sono stati cambiamenti…
        Con il codice che mi hai dato, se lanciato all’interno della directory sopra citata ho risposta affermativa, ma se lanciato in una cartella differente allora la risposta è negativa ….

        Compilando però continuo a incorrere nello stesso errore … file layaureo.sty not found…

        PS
        Ovviamente la compilazione avviene correttamente se metto il file .sty nella cartella del file da compilare … il problema è che non è una soluzione molto pratica in quanto uso layaureo praticamente in qualunque mio lavoro.

      • #7309
        ev
        Partecipante
          Up
          0
          Down
          ::

          Ho provato a fare come mi avete detto

          No, non hai fatto come suggerito: da utente normale non hai scritto `texhash .` ma `texhash` senza il punto.

          Ogni volta che provo a ricompilare mi dice che il pacchetto layaureo.sty non lo trova…

          Da utente normale esegui `kpsewhich -expand-var=\$TEXMF` e riporta il risultato qui sul forum.

        • #7310
          Up
          0
          Down
          ::


          Scusami … ma il punto non l’avevo proprio visto … 🙁
          Cmq … ora l’ho fatto con il punto. Senza sudo bash mi dice che mancano i permessi di scrittura e non fa nulla … con sudo bash ha eseguito l’operazione… però continua a non funzionare.

          Ho fatto da utente normale quello che mi avevi chiesto … ecco il log:
          `
          davide@ubuntu:~$ kpsewhich -expand-var=\$TEXMF
          {/home/davide/texmf,!!/usr/local/share/texmf,!!/usr/local/lib/texmf,!!/var/lib/texmf,!!/usr/share/texmf}
          `

        • #7311
          ev
          Partecipante
            Up
            0
            Down
            ::

            Senza sudo bash mi dice che mancano i permessi di scrittura e non fa nulla

            Se hai eseguito texhash in $HOME/texmf, allora significa che non puoi scrivere in quella directory. L’hai creata usando sudo? In tal caso facciamo tabula rasa e ripartiamo dall’inizio:

            1. rimuovi la directory usando sudo;

            2. esegui nuovamente i comandi suggeriti in precedenza da utente normale, cioè senza usare sudo.

            Ho fatto da utente normale quello che mi avevi chiesto … ecco il log:
            `
            davide@ubuntu:~$ kpsewhich -expand-var=\$TEXMF
            {/home/davide/texmf,!!/usr/local/share/texmf,!!/usr/local/lib/texmf,!!/var/lib/texmf,!!/usr/share/texmf}
            `

            Bene, quindi significa che se metti qualche cosa in $HOME/texmf ed esegui texhash in quella directory (sempre da utente normale ed indicando il punto), il pacchetto deve essere rintracciabile con un semplice`kpsewhich layaureo.sty`

          • #7312
            Up
            0
            Down
            ::


            `davide@ubuntu:~$ mkdir $HOME/texmf
            davide@ubuntu:~$ mv layaureo.sty $HOME/texmf
            davide@ubuntu:~$ cd $HOME/texmf
            davide@ubuntu:~/texmf$ texhash .
            texhash: Updating /home/davide/texmf/./ls-R…
            texhash: Done.
            davide@ubuntu:~/texmf$ kpsewhich layaureo.sty
            ./layaureo.sty
            davide@ubuntu:~/texmf$
            `
            Ho provato a fare come mi hai detto tu … ma continua a non funzionare…

            Scusami … ma di Linux sono veramente novizio ….

          • #7313
            Up
            0
            Down
            ::


            A me sembra che il sistema teTeX funzioni a dovere. Mi eseguiresti, cortesemente,`file `kpsewhich layaureo.sty“da utente?

            Come richiami poi quel pacchetto all’interno di un documento?

            Ciao.

          • #7314
            Up
            0
            Down
            ::


            `davide@ubuntu:~$ file `kpsewhich layaureo.sty`
            Usage: file [-bcikLnNsvz] [-f namefile] [-F separator] [-m magicfiles] file…
            file -C -m magicfiles
            Try `file –help' for more information.
            `

            All’interno lo chiamo come ho sempre fatto su Miktex
            `
            \usepackage{layaureo}
            `

          • #7315
            Up
            0
            Down
            ::


            I pacchetti devono seguire la TDS (TeX Directory Structure), ovvero sia vanno inseriti all’interno di ciascuna parte della variabile $TEXMF all’interno delle sottocartelle tex/latex. Non credevo fosse così indispensabile, ma a quanto pare teTeX (o per lo meno la mia versione, che dovrebbe essere la 3.0.*) lo richiede. Quindi, da utente:`rm -rf ~/texmf
            mkdir -p ~/texmf/tex/latex/layaureo # più ordine!
            mv layaureo.sty ~/texmf/tex/latex/layaureo
            texhash ~/texmf`

            Così dovresti riuscire a compilare; controlla comunque prima con il solito`kpsewhich layaureo.sty`

            Ciao.

          • #7316
            Up
            0
            Down
            ::


            Ora funziona … grazie mille!!!

            Non ho ancora capito molto quello che ho fatto … ma penso che imparando un po’ a usare linux i comandi saranno di volta in volta più chiari!

            Grazie mille ancora!!!
            😀 😀 😀

          • #7317
            Up
            0
            Down
            ::


            `rm -rf ~/texmf`Cancella qualsiasi file dalla directory ~/texmf, compresa la directory stessa (~ = $HOME, la cartella utente)

            `mkdir -p ~/texmf/tex/latex/layaureo # più ordine!`Crea la cartella ~/texmf/tex/latex/layaureo, creando anche le eventuali directory parentali non esistenti (quindi, crea tutto il percorso). “#” invece è il simbolo del commento per la shell, ignora qualsiasi cosa dalla sua occorrenza fino alla fine della riga.

            `mv layaureo.sty ~/texmf/tex/latex/layaureo`Sposta il file layaureo.sty nella cartella sopra creata.

            `texhash ~/texmf`Rigenera il database dei pacchetti nella dir ~/texmf, perché il sistema possa trovare i files installati a mano.

            Se vuoi sapere cosa fa il singolo comando,`man rm
            man mkdir
            man mv
            man texhash
            man kpsewhich`
            Ciao.

        Visualizzazione 15 filoni di risposte
        • Devi essere connesso per rispondere a questo topic.

        Go to top