é possível instalar software sem pedir uma senha?

0

Ok, então não tenho certeza se é possível, mas estou criando um menu e o usuário pode selecionar uma opção que instalará dois bits de software, no entanto, uma vez pressionado, não haverá outros prompts. / p>

Isso pode ser feito? Eu preciso que o 'gnome-disk-utility' e o 'gparted' sejam instalados.

qualquer ajuda será apreciada

    
por Cain Neal 18.03.2013 / 15:23

2 respostas

2

Eu recomendaria simplesmente adicionar esses programas aos requisitos do seu script para que o script não possa ser instalado, a menos que esses programas estejam presentes. Se o GNOME ainda não estiver instalado em seu sistema de destino, a instalação desses dois utilitários do gnome também instalará muitas bibliotecas do projeto GNOME. Como usuário, eu ficaria irritado se eu tivesse que baixar algumas centenas de megabytes de dados e inchar meu sistema apenas para executar sua ferramenta.

De qualquer forma, a escolha é sua. Quanto à instalação, você não pode instalar um programa globalmente no * nix sem a senha do root, no. Você pode instalar localmente a partir da fonte sem necessidade de senhas, mas eu também não recomendaria isso.

Se você souber que seus usuários estarão executando algum tipo de derivativo Debian baseado no GNOME, você pode ter o comando de menu < gksudo synaptic > ou qualquer outra coisa que permita ao usuário inserir sua senha.

Eu não sei porque você iria querer isso, é claro. Apenas tenha uma mensagem de erro explicando ao seu usuário que esses programas precisam ser instalados. Por que você quer que eles sejam instalados através do seu script? Você está complicando sua vida e a deles sem nenhum benefício real.

    
por 18.03.2013 / 16:25
0

Você precisa executar essa ferramenta com privilégios de root. Tudo o que for iniciado também será executado como root, por isso nada solicitará a senha.

Então, basicamente, você precisa verificar se a ferramenta é iniciada como root e solicitar ao usuário que o faça de outra forma. Para executar o comando como root se você tiver o sudo instalado use:

sudo (command)

Sem sudo, você terá que usar isso:

su -c '(command)'
    
por 18.03.2013 / 16:28