Pagina 1 di 1

Creare file autoestraente

Inviato: sabato 30 maggio 2015, 19:55
da LucaF76
Ciao a tutti,
premetto che chiedo scusa se non uso i termini corretti, ma provengo da Windows, e non conosco molto bene Linux.
Ho realizzato un plug-in per un'applicazione già disponibile in Windows, Linux e Mac.
Il plug-in è costituito da una cartella con all'interno alcuni file.

Tale cartella dovrà essere copiata all'interno della cartella Home, in quanto deve essere accessibile in lettura/scrittura.
Ora ho due soluzioni:
1. spiegare all'utente di copiare la cartella manualmente in un determinato punto
2. oppure realizzare un pacchetto autoestraente. In questo caso come si fa in Linux, cosa dovrei usare?

Altra domanda: volendo copiare alcuni file in altre cartelle del sistema, e più precisamente in /opt/sottocartella/sottocartella/nomefile, anche in questo caso dovrei spiegare all'utente cosa fare, ma personalmente preferisco realizzare un pacchetto di installazione che fa tutto da solo; avete qualche consiglio o qualche link da studiare?

Grazie in anticipo.

Re: Creare file autoestraente

Inviato: sabato 30 maggio 2015, 20:24
da ubuntumate
Autorun e simili su Linux non esistono anche per motivi di sicurezza.Puoi scrivere un piccolo script che sposta i file dove vuoi e dire all'utente come eseguirlo(vedi bash scripting o anche python).Comunque per permettere l'accesso a un file in lettura e scrittura basta

Codice: Seleziona tutto

chmod 666 nome-file
nel terminale,equivalente di CMD su windows.
Nota che la FAT e famiglia non mantengono i permessi rwx,mentre ext4 etc sì. Tieni presente ciò.

Re: Creare file autoestraente

Inviato: lunedì 1 giugno 2015, 12:13
da LucaF76
ubuntumate [url=http://forum.ubuntu-it.org/viewtopic.php?p=4763847#p4763847][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Autorun e simili su Linux non esistono anche per motivi di sicurezza.Puoi scrivere un piccolo script che sposta i file dove vuoi e dire all'utente come eseguirlo(vedi bash scripting o anche python).Comunque per permettere l'accesso a un file in lettura e scrittura basta

Codice: Seleziona tutto

chmod 666 nome-file
nel terminale,equivalente di CMD su windows.
Nota che la FAT e famiglia non mantengono i permessi rwx,mentre ext4 etc sì. Tieni presente ciò.

Ciao!
grazie per la tua risposta e scusami per il ritardo della mia.
Ho trovato questa applicazione:
http://debreate.sourceforge.net/

ho fatto qualcosa ma devo raffinare il risultato.
Tuttavia non sono sicuro che continuerò per questa strada, in quanto per me è più pratico spiegare all'utente i 2 passaggi che deve fare.
Ad ogni modo ho la necessità di modificare tramite terminale i permessi della cartella "/opt/nomeappprincipale/sottocartella"

nomeappprincipale non è una mia applicazione, ma è un'applicazione in teoria già esistente nel sistema o precedentemente installata dall'utente.
In realtà la modifica dei permessi alla cartella "/opt/nomeappprincipale/sottocartella" non verrà fatta manualmente da terminale, ma deve essere fatta attraverso una funzione esistente nell'applicativo principale che accetta i comandi cosi come fossero inseriti da Terminale.

Quali sono i comandi da Terminale per modificare i permessi di questa cartella?
Grazie in anticipo.

Re: Creare file autoestraente

Inviato: lunedì 1 giugno 2015, 12:29
da ubuntumate
Il link da te postato mi sembra che serva a creare pacchetti deb facilmente,però come già detto non esiste nulla di autoestraente,che io sappia.
Per cambiare i permessi di qualsiasi cartella su Linux basta il comando chmod.
Se vuoi che nel tuo programma vengano cambiati i permessi di quella cartella, dovrai usare una funzione che permette ciò.
Se usassi Python io farei così:

Codice: Seleziona tutto

from subprocess import call
call(["chmod","666","/opt/cartella/.."])
Tieni presenti che l'utente dovrà eseguire il programma come superuser per cambiare i permessi di alcune cartelle.

Re: Creare file autoestraente

Inviato: lunedì 1 giugno 2015, 12:42
da LucaF76
ubuntumate [url=http://forum.ubuntu-it.org/viewtopic.php?p=4764381#p4764381][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Il link da te postato mi sembra che serva a creare pacchetti deb facilmente,però come già detto non esiste nulla di autoestraente,che io sappia.
Per cambiare i permessi di qualsiasi cartella su Linux basta il comando chmod.
Se vuoi che nel tuo programma vengano cambiati i permessi di quella cartella, dovrai usare una funzione che permette ciò.
Se usassi Python io farei così:

Codice: Seleziona tutto

from subprocess import call
call(["chmod","666","/opt/cartella/.."])
Ho provato con il Terminale:

Codice: Seleziona tutto

chmod 666 /opt/percorsocartella
ma viene emesso l'errore "Operazione non permessa"
ubuntumate [url=http://forum.ubuntu-it.org/viewtopic.php?p=4764381#p4764381][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto: Tieni presenti che l'utente dovrà eseguire il programma come superuser per cambiare i permessi di alcune cartelle.
Probabilmente ho avuto l'errore proprio per questo motivo.
Come faccio ad eseguire il programma come superuser?

Re: Creare file autoestraente

Inviato: lunedì 1 giugno 2015, 12:45
da caturen
sudo ?