我正在尝试安装 java jre;我通常这样做
sudo echo 'deb http://www.duinsoft.nl/pkg debs all' >> /etc/apt/sources.list
sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 5CB26B26
sudo apt-get update
sudo apt-get install update-sun-jre
exit
但当我这样做
sudo echo 'deb http://www.duinsoft.nl/pkg debs all' >> /etc/apt/sources.list
我懂了
permission denied: /etc/apt/sources.list
当我做
ls -l /etc/apt/sources.list
我懂了
-rw-r--r-- 1 root root 3360 Aug 26 01:45 /etc/apt/sources.list
当我做
sudo mv /etc/apt/sources.list /etc/apt/sources.list.old
sudo cat /etc/apt/sources.list.old | sudo tee /etc/apt/sources.list
我懂了
#deb cdrom:[Ubuntu 12.04 LTS _Precise Pangolin_ - Release amd64 (20120425)]/ dists/precise/main/binary-i386/
#deb cdrom:[Ubuntu 12.04 LTS _Precise Pangolin_ - Release amd64 (20120425)]/ dists/precise/restricted/binary-i386/
#deb cdrom:[Ubuntu 12.04 LTS _Precise Pangolin_ - Release amd64 (20120425)]/ precise main restricted
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://lb.archive.ubuntu.com/ubuntu/ precise main restricted
deb-src http://lb.archive.ubuntu.com/ubuntu/ precise main restricted
## Major bug fix updates produced after the final release of the
## distribution.
deb http://lb.archive.ubuntu.com/ubuntu/ precise-updates main restricted
deb-src http://lb.archive.ubuntu.com/ubuntu/ precise-updates main restricted
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://lb.archive.ubuntu.com/ubuntu/ precise universe
deb-src http://lb.archive.ubuntu.com/ubuntu/ precise universe
deb http://lb.archive.ubuntu.com/ubuntu/ precise-updates universe
deb-src http://lb.archive.ubuntu.com/ubuntu/ precise-updates universe
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://lb.archive.ubuntu.com/ubuntu/ precise multiverse
deb-src http://lb.archive.ubuntu.com/ubuntu/ precise multiverse
deb http://lb.archive.ubuntu.com/ubuntu/ precise-updates multiverse
deb-src http://lb.archive.ubuntu.com/ubuntu/ precise-updates multiverse
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://lb.archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://lb.archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu precise-security main restricted
deb-src http://security.ubuntu.com/ubuntu precise-security main restricted
deb http://security.ubuntu.com/ubuntu precise-security universe
deb-src http://security.ubuntu.com/ubuntu precise-security universe
deb http://security.ubuntu.com/ubuntu precise-security multiverse
deb-src http://security.ubuntu.com/ubuntu precise-security multiverse
## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu precise partner
# deb-src http://archive.canonical.com/ubuntu precise partner
## This software is not part of Ubuntu, but is offered by third-party
## developers who want to ship their latest software.
deb http://extras.ubuntu.com/ubuntu precise main
deb-src http://extras.ubuntu.com/ubuntu precise main
答案1
这是一个已知问题;当您sudo
以这种方式使用时,它不会按预期工作。这是因为当命令echo
以 root1 身份运行时,>>
for append 由 shell 完成,而 shell 以普通用户身份运行,因此当它尝试打开文件目标时,就会出现权限问题。
您可以通过多种方式解决这个问题,例如使用
sudo su -c "echo 'deb http://www.duinsoft.nl/pkg debs all' >> /etc/apt/sources.list"
或者
echo 'deb http://www.duinsoft.nl/pkg debs all' | sudo tee -a /etc/apt/sources.list
然而,/etc/apt/sources.list
为此源创建单独的文件比编辑主文件更安全。为此,您可以使用相同的技术,如下echo | sudo tee
所示:
sudo touch /etc/apt/sources.list.d/duinsoft.list
echo 'deb http://www.duinsoft.nl/pkg debs all' | sudo tee -a /etc/apt/sources.list.d/duinsoft.list
这样,我们不用管主程序sources.list
,但源程序将通过专门处理此存储库的包含文件添加。(顺便说一下,这就是 PPA 的添加方式!)
答案2
命令发生的情况是echo
以 root 身份运行,但 不是>>
。请尝试以下命令:
echo 'deb http://www.duinsoft.nl/pkg debs all' | sudo tee -a /etc/apt/sources.list
或者,您可以分两步进行:
sudo -i
echo 'deb http://www.duinsoft.nl/pkg debs all' >> /etc/apt/sources.list
exit
答案3
此命令的作用是附加deb http://www.duinsoft.nl/pkg debs all
到/etc/apt/sources.list
。让我们用另一种方法做!只需打开该文件并手动附加它!
sudo nano /etc/apt/sources.list
然后添加deb http://www.duinsoft.nl/pkg debs all
到其末尾并按Ctrl+O然后Enter保存更改,最后按Ctrl+X退出nano
。
您现在可以跳转到下一个命令...
答案4
myscript.sh
创建包含以下内容的脚本
#!/bin/bash
echo 'deb http://www.duinsoft.nl/pkg debs all' >> /etc/apt/sources.list
执行它(你必须先授予它执行权限,例如chmod u+x myscript.sh
)
sudo ./myscript.sh