На этот вопрос уже есть ответ здесь:
I хочу установить Go-Servre на свой Ubuntu 14.04, и я следую этому документу http://www.go.cd/documentation/user/current/installation/install/server/linux.html # debian-based-distributions-ie-ubuntu
Согласно документу, это процедура:
$ echo "deb http://dl.bintray.com/gocd/gocd-deb/ /" > /etc/apt/sources.list.d/gocd.list
$ wget --quiet -O - "https://bintray.com/user/downloadSubjectPublicKey?username=gocd" | sudo apt-key add -
$ apt-get update
$ apt-get install go-server
Однако у меня проблема в первой строке, когда я запускаю команду, и получаю следующий ответ:
$ echo "deb http://dl.bintray.com/gocd/gocd-deb/ /" > /etc/apt/sources.list.d/gocd.list
bash: /etc/apt/sources.list.d/gocd.list: Permission denied
Я даже пробовал чтобы изменить разрешение, но я все равно получаю сообщение об ошибке:
$ sudo chmod +x /etc/apt/sources.list.d/gocd.list
[sudo] password for hesam:
chmod: cannot access ‘/etc/apt/sources.list.d/gocd.list’: No such file or directory
Любая идея приветствуется. Спасибо.
Необходимо выполнить первую команду (echo ...
) как привилегированный пользователь. Поэтому первый переключатель, который базируется sudo su
, затем работайте эти echo
команда.
Выполнение sudo echo ...
не будет работать, как >
, перенаправление будет сделано, прежде sudo
выполняется.
Разрешение отклонено, потому что Вы пытаетесь создать файл в привилегированном месте. И sudo echo
не работает. Однако существует способ работать вокруг этой проблемы.
можно использовать любую из следующих команд для выполнения первого шага:
echo "deb http://dl.bintray.com/gocd/gocd-deb/ /" | sudo tee /etc/apt/sources.list.d/gocd.list
или
sudo sh -c 'echo "deb http://dl.bintray.com/gocd/gocd-deb/ /" > /etc/apt/sources.list.d/gocd.list'