Я хочу сократить
sudo http_proxy="http://proxy:port" apt-get ______
до
sudo rep apt-get ________
Можно ли это реализовать в Ubuntu?
Итак, я добавил
alias rapt-get="http_proxy="10.1.1.26:8080" apt-get"
в мой ~/.bash_aliases
. У меня есть другие рабочие псевдонимы в этом файле.
Если я наберу в терминале rapt-get, я получу:
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
- простой интерфейс командной строки для загрузки и установки пакетов. Наиболее часто используемые команды - это обновление и установка.
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
-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
(извините за проблемы с форматированием, я работаю через мобильный телефон и не вижу панель форматирования)
Вы также можете создать скрипт sh, который читает ввод, вставляет его в команду и запускает его. Я хотел бы загрузить такой файл для вас, но у меня нет доступа к моему компьютеру.
Это также зависит от ваших настроек /etc/sudoers
. Для начала, как было указано, псевдоним даже не будет доступен в контексте sudo
. Тем не менее, вы можете настроить свой псевдоним так:
alias rapt-get='http_proxy="10.1.1.26:8080" sudo apt-get'
Т.е. включите переменную, которую вы установили для этого вызова. Если вы хотите, чтобы sudo
взял это из контекста пользователя, вам нужно отредактировать /etc/sudoers
, чтобы добавить имя переменной в настройку env_check
или env_keep
. Цитирование man sudoers
:
По умолчанию опция
BLOCKQUOTE>env_reset
включена. Это приводит к тому, что команды выполняются в минимальной среде, содержащейTERM
,PATH
,HOME
,SHELL
,LOGNAME
,USER
иUSERNAME
в дополнение к переменным из процесса вызова разрешено опциямиenv_check
иenv_keep
. Это фактически белый список для переменных среды.
~/.bashrc
добавляет псевдонимы для вас, и только вы
sudo
запускаются от имени root. Даже если у вас есть права администратора, ваш пользователь не является пользователем root.
Итак, добавьте свой псевдоним в ~root/.bashrc
(обычно это /root/.bashrc
).
Если вы хотите добавить этот псевдоним для всех пользователей, добавьте его в /etc/profile