Abreviando um comando de execução frequente

5

Eu quero encurtar

sudo http_proxy="http://proxy:port" apt-get ______ 

para

sudo rep apt-get ________

Isso é possível implementar no Ubuntu?

EDITAR:

Então eu adicionei

alias rapt-get="http_proxy="10.1.1.26:8080" apt-get"

para o meu ~/.bash_aliases . Eu tenho outros aliases de trabalho neste arquivo.

Se eu digitar rapt-get no terminal, obtenho:

apt 0.8.16~exp12ubuntu10 for amd64 compiled on Apr 20 2012 10:19:39
Usage: apt-get [options] command
       apt-get [options] install|remove pkg1 [pkg2 ...]
       apt-get [options] source pkg1 [pkg2 ...]

apt-get é uma interface de linha de comando simples para download e instalar pacotes. Os comandos usados com mais frequência são atualização e instale.

Comandos:

update - Retrieve new lists of packages
upgrade - Perform an upgrade
install - Install new packages (pkg is libc6 not libc6.deb)
remove - Remove packages
autoremove - Remove automatically all unused packages
purge - Remove packages and config files
source - Download source archives
build-dep - Configure build-dependencies for source packages
dist-upgrade - Distribution upgrade, see apt-get(8)
dselect-upgrade - Follow dselect selections
clean - Erase downloaded archive files
autoclean - Erase old downloaded archive files
check - Verify that there are no broken dependencies
changelog - Download and display the changelog for the given package
download - Download the binary package into the current directory

Opções:

-h  This help text.
-q  Loggable output - no progress indicator
-qq No output except for errors
-d  Download only - do NOT install or unpack archives
-s  No-act. Perform ordering simulation
-y  Assume Yes to all queries and do not prompt
-f  Attempt to correct a system with broken dependencies in place
-m  Attempt to continue if archives are unlocatable
-u  Show a list of upgraded packages as well
-b  Build the source package after fetching it
-V  Show verbose version numbers
-c=? Read this configuration file
-o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp
See the apt-get(8), sources.list(5) and apt.conf(5) manual pages for more information and options.
This APT has Super Cow Powers. Seems to be working. But if i type 'sudo rapt-get update', I get 

sudo: rapt-get: command not found

(Desculpe pelos problemas de formatação, estou no celular e não consigo ver a barra de formatação)

    
por abcdxyz 09.02.2013 / 09:20

3 respostas

1

Você também pode criar um script sh que leia entrada, insira-o no comando e execute-o. Eu colocaria um arquivo assim para você, mas não tenho acesso ao meu computador.

    
por Zac Canoy 21.02.2013 / 04:10
1

Isso também depende das configurações de /etc/sudoers . Para começar, como apontado, o alias não estará disponível no contexto sudo . No entanto, você pode ajustar seu alias para dizer:

alias rapt-get='http_proxy="10.1.1.26:8080" sudo apt-get'

i.e. inclua a variável que você definiu para esta invocação. Se você quiser que sudo cuide disso no contexto do usuário, precisará editar /etc/sudoers para adicionar o nome da variável à configuração env_check ou env_keep . Citando man sudoers :

By default, the env_reset option is enabled. This causes commands to be executed with a minimal environment containing TERM, PATH, HOME, MAIL, SHELL, LOGNAME, USER and USERNAME in addition to variables from the invoking process permitted by the env_check and env_keep options. This is effectively a whitelist for environment variables.

    
por 0xC0000022L 21.02.2013 / 04:27
0

~/.bashrc adiciona aliases para você e somente você

sudo é executado como raiz. Mesmo que você tenha acesso de administrador, seu usuário não é root.

Portanto, adicione seu alias a ~root/.bashrc (geralmente isso é /root/.bashrc ).

Se você quiser adicionar esse alias para todos os usuários, adicione-o a /etc/profile

    
por Manishearth 09.02.2013 / 09:44