Inilah yang saya dapatkan:
ascendermedia@magic2tower:~$ sudo apt-get install flashplugin-installer
bash: sudo: command not found
ascendermedia@magic2tower:~$ sudo apt-get install flashplugin-installer
bash: sudo: command not found
ascendermedia@magic2tower:~$ apt-get install flashplugin-installer
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
ascendermedia@magic2tower:~$ sudo aptitude install flashplugin-nonfree
bash: sudo: command not found
ascendermedia@magic2tower:~$ aptitude install flashplugin-nonfree
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
ascendermedia@magic2tower:~$
Apa yang saya lakukan salah?
sumber
sudo
tidak hanya menjalankan perintah "seolah-olah Anda root," itu benar-benar menjalankannya sebagai root. Jika Anda melihat prosesnya, Anda akan melihatnya berjalan sebagai root, bukan sebagai id pengguna Anda. Kebetulan, pada mesin yang tidak diatur untuk memungkinkan login interaktif oleh root secara default, Anda bisa menjalankansudo bash
untuk mendapatkan shell root. :)sudo -i
lebih disukai, karena itu menghormati shell Anda saat ini.Anda memerlukan hak akses root untuk menjalankan pembaruan sistem melalui
apt-get
.Anda dapat beralih ke akun root menggunakan
su root
. Tampaknya Anda tidaksudo
menginstal program.sumber
sudo
hak istimewa, dia bahkan belumsudo
menginstal.sudo
.PATH
.sudo
danapt-get
keduanya diinstal/usr/bin
secara default (setidaknya pada Debian).Apa artinya “apakah Anda melakukan root?”?
Untuk menginstal paket di seluruh sistem (apa yang
apt-get
dilakukan), ia membutuhkan hak akses root, karena Anda akan membuat dan mengubah file sistem (root
adalah nama yang biasa untuk akun administrator * nix).Pesan «are you root?» Adalah pengingat yang lembut bahwa Anda "harus menjadi root" untuk dapat berjalan
apt-get install
. Ini adalah alasan yang paling sering ditemui untuk masalah itu (ditunjukkan di atas):.
Bagaimana cara menjadi root?
su
Cara tradisional "menjadi root" adalah menjalankan
su
(dan memberikan kata sandi pengguna root). su (1) adalah singkatan dari s uper u ser atau s witch u ser.Catatan itu dapat digunakan untuk menjadi pengguna apa pun, sehingga Anda dapat menjalankan
su john
untuk mendapatkan shell sebagai john. Berjalansu
tanpa nama pengguna adalah singkatan untuksu root
.Agar ini berfungsi, akun pengguna root harus diaktifkan dan memiliki set kata sandi. Beberapa sistem dikonfigurasikan (bahkan secara default), dengan akun root dinonaktifkan, untuk menghindari seseorang -eg. login penyerang- dengan akun administrator. Dalam kasus itu mereka menawarkan cara lain untuk menjalankan perintah administratif, seperti sudo.
sudo
sudo (1) adalah program yang memungkinkan Anda untuk menjalankan perintah sebagai pengguna lain (seperti di atas, biasanya dilakukan untuk root). Ini dikonfigurasi dalam
/etc/sudoers
, dan memungkinkan kontrol yang lebih baik, seperti hanya memungkinkan untuk menjalankan satu program sebagai root, untuk pengguna tertentu (yang mungkin diatur untuk memerlukan kata sandi mereka sendiri lagi), dan juga menyediakan fasilitas logging (mis. " john mengeksekusi sistem penghancuran sebagai root ").Ada opsi lain untuk menjalankan dengan peningkatan hak istimewa (seperti calife ) tetapi penggunaannya jauh lebih rendah.
Log Anda di atas menunjukkan
sudo
tidak diinstal pada magic2tower.sumber
Mereka telah menjelaskan apa itu root, ketika Anda memiliki "perintah tidak ditemukan" mungkin karena Anda tidak menginstal program yang Anda coba jalankan, atau Anda tidak memiliki path dalam variabel env Anda.
Coba jalankan perintah seperti ini:
Dalam beberapa distro linux, Anda tidak dapat mengubah ke root sehingga setiap perintah mas dijalankan dengan sudo. =)
sumber
bash: sudo: command not found
ide terbaik adalah menginstalnyasudo apt-get install sudo
, dan jika itu memberi Anda kesalahan yang sama Anda akan belajar apa itu rekursisudo
.