Onde está o executável real do LiveUSB-Creator localizado no Fedora?

0

Eu realmente não sei como expressar melhor essa pergunta, então vamos a um exemplo:

Instalei liveusb-creator no meu Fedora há algum tempo e imagino onde estão os arquivos que ele executa. Eu sei sobre which e whereis :

which liveusb-creator /usr/sbin/liveusb-creator

liveusb-creator em si é uma parte do código Python que contém, juntamente com algum método parse_args() que simplesmente faz o que seu nome diz, isto:

    import sys
    import os        
    from liveusb import _

    def parse_args():
         #
         # some code that handles parsing command line arguments...
         #

    def main():
        opts, args = parse_args()
        if opts.console:
            from liveusb import LiveUSBCreator
            try:
                live = LiveUSBCreator(opts)
                live.detect_removable_drives()
                live.verify_filesystem()
                live.extract_iso()
                live.update_configs()
                live.install_bootloader()
            except Exception, e:
                print str(e)
            x = raw_input("\nDone!  Press any key to exit")
        else:
            ## Start our graphical interface
            from liveusb.gui import LiveUSBApp
            try:
                LiveUSBApp(opts, sys.argv)
            except KeyboardInterrupt:
                pass

    if __name__ == '__main__':
        if sys.platform != 'win32':
            if os.getuid() != 0:
                print >> sys.stderr, _("You must run this application as root")
                sys.exit(1)
        main()

Ocorreu-me que o próprio código Python não é o programa que você vê quando executa o aplicativo LiveUSB. Eu não entendo Python, então isso é um pouco enigmático para mim: Onde está o arquivo real executado?

Também parece fazer alguma mágica de importação em

from liveusb import LiveUSBCreator

Como ele sabe o que são liveusb e LiveUSBCreator ?

    
por SaphirShroom 24.11.2015 / 08:07

1 resposta

2

A primeira linha do script provavelmente deve começar com #! , seguida do nome do interpretador python. (Como /usr/bin/env python .) Você pode iniciá-lo manualmente em um terminal e adicionar um -v :

/usr/bin/env python -v

ele sobrecarregará você com 100 linhas de informação por causa do -v . Para ver a localização do módulo liveusb python, digite

import liveusb

(ou from liveusb import _ ), pressione enter e você deverá obter as informações que procura.

Use Control + D para sair.

    
por 24.11.2015 / 10:29