Jawaban:
Singkatnya, apt-get update
sebenarnya tidak menginstal perangkat lunak versi baru. Sebagai gantinya, ia memperbarui daftar paket untuk peningkatan untuk paket-paket yang perlu ditingkatkan, serta paket-paket baru yang baru saja datang ke repositori.
apt-get update
mengunduh daftar paket dari repositori dan "memperbaruinya" untuk mendapatkan informasi tentang versi terbaru paket dan dependensinya. Ini akan melakukan ini untuk semua repositori dan PPA. Dari http://linux.die.net/man/8/apt-get :
Digunakan untuk menyinkronkan kembali file indeks paket dari sumbernya. Indeks paket yang tersedia diambil dari lokasi yang ditentukan dalam
/etc/apt/sources.list
(5). Pembaruan harus selalu dilakukan sebelum upgrade atau dist-upgrade.
apt-get upgrade
akan mengambil versi baru dari paket yang ada pada mesin jika APT tahu tentang versi baru ini dengan cara apt-get update
.
Dari http://linux.die.net/man/8/apt-get :
Digunakan untuk menginstal versi terbaru dari semua paket yang saat ini diinstal pada sistem dari sumber yang disebutkan dalam
/etc/apt/sources.list
(5). Paket yang saat ini diinstal dengan versi baru yang tersedia diambil dan ditingkatkan; dalam keadaan apa pun, paket yang diinstal saat ini dihapus, dan paket yang belum diinstal pun tidak diambil dan diinstal. Versi baru dari paket yang diinstal saat ini yang tidak dapat ditingkatkan tanpa mengubah status instalasi dari paket lain akan dibiarkan pada versi mereka saat ini. [Emphasis mine] Pembaruan harus dilakukan terlebih dahulu agar apt-get tahu bahwa versi baru paket tersedia.
apt-get dist-upgrade
akan melakukan pekerjaan yang sama dengan yang dilakukan oleh apt-get upgrade
, ditambah itu juga akan secara cerdas menangani dependensi, sehingga mungkin menghapus paket usang atau menambah yang baru. Lihat di sini: Apa itu "dist-upgrade" dan mengapa itu upgrade lebih dari "upgrade"?
Dari http://linux.die.net/man/8/apt-get :
Selain melakukan fungsi pemutakhiran, opsi ini juga secara cerdas menangani perubahan ketergantungan dengan versi paket baru; apt-get memiliki sistem resolusi konflik "pintar", dan itu akan berusaha untuk memperbarui paket yang paling penting dengan mengorbankan yang kurang penting, jika perlu. File
/etc/apt/sources.list
(5) berisi daftar lokasi untuk mengambil file paket yang diinginkan. Lihat juga apt_preferences (5) untuk mekanisme over-riding pengaturan umum untuk setiap paket.
Anda dapat menggabungkan perintah dengan &&
sebagai berikut:
sudo apt-get update && sudo apt-get install foo bar baz foo-dev foo-dbg
atau untuk mendapatkan versi terbaru sesuai dengan persyaratan versi dependensi:
sudo apt-get update && sudo apt-get dist-upgrade
Anda membutuhkan sudo
kedua kali, tetapi karena sudo
secara default tidak meminta Anda dalam 5 menit atau lebih sejak sudo
operasi terakhir , Anda akan diminta kata sandi hanya sekali (atau tidak sama sekali).
apt-get update
membutuhkan waktu, internet di sini masih primitif.
Pencarian Google dapat memberi Anda definisi untuk hampir semua perintah terminal, seperti halnya --membantu di terminal. Sebagai contoh,
apt-get --help
sudo apt-get update
dasarnya memiliki tiga bagian:
sudo
melakukan perintah berikut dengan kemampuan super-user (root). Banyak tindakan yang memerlukan modifikasi file sistem atau menginstal aplikasi memerlukan izin tambahan untuk melewati.
apt-get
adalah alat baris perintah yang digunakan Ubuntu untuk menginstal, menghapus, dan mengelola paket perangkat lunak
update
adalah opsi untuk program apt-get untuk digunakan yang memperbarui daftar paket dari server di internet. Daftar paket menyediakan utilitas apt-get dengan informasi penting tentang paket perangkat lunak yang dapat Anda instal menggunakan apt-get. apt-get menggunakan daftar ini untuk menentukan perangkat lunak mana yang akan diinstal ketika diberi perintah untuk menginstal. Sebagai contoh
sudo apt-get install guake
akan menginstal terminal Guake karena saat ini tercantum dalam daftar perangkat lunak lokal komputer saya. Namun, ini mungkin bukan versi yang sesuai, atau jika program ini baru, mungkin tidak tersedia sama sekali. Jadi, ketika menginstal perangkat lunak dengan apt-get, Anda biasanya mengetik
sudo apt-get update
sudo apt-get install <package>
memastikan bahwa apt-get tahu untuk menginstal versi terbaru dari paket.
Sumber informasi lain yang bermanfaat adalah help.ubuntu.com
situs. Misalnya, jika Anda mencari situs itu untuk apt-get
menemukan AptGet / Howto sebagai salah satu hasilnya.
&&
antara mereka sebagaisudo apt-get update&&sudo apt-get install foo bar baz
&&
berarti bahwa perintah kedua hanya akan berjalan jika yang pertama berhasil. Jika Anda tidak peduli dengan keberhasilan perintah pertama, gunakan ;
saja.
Menjalankan sudo apt-get update
hanya memastikan daftar paket Anda dari semua repositori dan PPA terbaru. Jika Anda tidak menjalankan perintah ini, Anda bisa mendapatkan versi lama dari berbagai paket yang Anda instal, atau lebih buruk, masalah ketergantungan. Jika Anda baru saja menambahkan PPA dan belum memperbarui, tidak ada dari PPA yang akan berfungsi sama sekali karena Anda tidak memiliki daftar paket dari PPA atau repositori tersebut.
Singkatnya: Hal ini sangat dianjurkan untuk menjalankan sudo apt-get update
sebelum menginstal, tapi mungkin dilewati jika Anda benar-benar terdesak waktu kecuali Anda telah mengubah repositori atau AKP sejak terakhir apt-get update
.
Ini memperbarui daftar perangkat lunak yang tersedia di komputer Anda.
Komputer Anda memiliki daftar (seperti katalog) yang berisi semua perangkat lunak yang tersedia yang tersedia di server Ubuntu. Tetapi perangkat lunak dan versi yang tersedia mungkin berubah, sehingga "pembaruan" akan mengenai server dan melihat perangkat lunak apa yang tersedia untuk memperbarui daftar lokal (atau katalog).
Perhatikan bahwa update
ini berbeda dari upgrade
. Pembaruan, sebagaimana disebutkan di atas, akan mengambil perangkat lunak yang tersedia dan memperbarui daftar sementara upgrade
akan menginstal versi baru perangkat lunak yang diinstal pada komputer Anda (pembaruan perangkat lunak yang sebenarnya).
Untuk benar-benar meningkatkan perangkat lunak Anda (bukan "memperbarui" daftar), Anda menjalankan perintah
sudo apt-get upgrade
yang biasanya dijalankan setelah "pembaruan".
sudo apt-get install
itu? Menginstal paket tertentu alih-alih peningkatan umum?
Anda perlu menjalankan apt-get update
satu kali sebelum menginstal paket baru karena ini memperbarui informasi repositori lokal. Jika Anda akan menginstal beberapa paket segera setelah satu sama lain, Anda tidak perlu menjalankan apt-get update
. Juga, Anda dapat menginstal beberapa paket sekaligus jika Anda mengetik
sudo apt-get install package1 package2...
Ketika Anda menginstal paket dari baris perintah dengan sudo apt-get install ...
(atau sudo aptitude install ...
), atau ketika Anda memutakhirkannya dari baris perintah (dengan upgrade
atau dist-upgrade
bukannya install
), informasi berikut ini diperoleh dari konfigurasi sistem lokal Anda, dan bukan dari Internet:
paket apa yang tersedia
versi apa yang tersedia
dari mana paket yang tersedia harus diambil
Menjalankan sudo apt-get update
(atau sudo aptitude update
) memperbarui ini di sistem lokal Anda. Ini adalah langkah yang benar-benar mengambil informasi tentang paket apa yang dapat diinstal, termasuk pembaruan apa yang tersedia untuk paket paket yang diinstal , dari sumber Internet.
Ketika Anda menginstal paket dengan antarmuka GUI (Manajer Pembaruan, Pusat Perangkat Lunak, atau Manajer Paket Synaptic), pekerjaan sudo apt-get update
dilakukan secara otomatis. Ketika Anda menginstal paket dari command-line, itu tidak, dan Anda harus selalu melakukannya sendiri kecuali Anda telah melakukannya baru-baru ini .
Karena informasi tentang versi terbaru dari paket yang tersedia diperoleh dengan menjalankan sudo apt-get update
(atau sudo aptitude update
), disarankan untuk menjalankan ini sebelum menginstal paket apa pun, dan diperlukan untuk menjalankannya untuk menginstal pembaruan terbaru, bahkan jika Anda belum menambahkan atau menghapus Perangkat Lunak apa pun Sumber (seperti PPA) .
Harap dicatat bahwa jika Anda akan melakukan beberapa operasi manajemen paket sekitar waktu yang sama, Anda tidak perlu menjalankan sudo apt-get update
sebelum masing-masing. Hanya jika informasi belum diperbarui untuk sementara waktu, Anda harus memastikan untuk menjalankannya.
Seperti yang Eliah Kagan sebutkan di atas, Anda akan berharap bahwa aplikasi GUI akan berjalan apt-get update
sebelum apt-get install
/ apt-get upgrade
, tapi saya baru saja menemukan kesalahan yang menarik 404, pada mesin VM ofensif-keamanan yang relatif baru, yang membuat saya bingung sejenak.
Dari baris perintah, saya berlari apt-get update
, dan kemudian mencoba perintah System Tools / Software-Update lagi, dan kali ini berjalan tanpa 404 kesalahan.
Jadi, saya kira Anda tidak selalu dapat menganggap bahwa apt-get update
dijalankan dari aplikasi GUI ...
apt-get
daripada dengan pemeriksaan otomatis yang dilakukan dengan menjalankan Pembaruan Perangkat Lunak / Pembaruan Manajer? Apakah Anda menggunakan proxy HTTP? Dan apakah Anda dapat mewujudkannya lagi, atau pernahkah terjadi satu kali saja? Jika ini adalah anomali terisolasi, saya bertanya-tanya apakah mungkin masalahnya karena kesalahan konfigurasi server sementara. Cermin apa yang Anda gunakan? Dengan info lebih lanjut, mungkin saya bisa meningkatkan jawaban saya. (Btw, apakah ini dimaksudkan sebagai jawaban yang terpisah, atau haruskah dikonversi menjadi komentar?)
Seperti yang dikatakan oleh banyak orang sebelum saya, ini memperbarui repositori lokal Anda (daftar paket).
Anda dapat mengalami masalah jika Anda mencoba menginstal
apt-get install foobar
dan foobar atau dependensi tidak memiliki versi terbarunya di repositori. Ini bisa sangat bermasalah jika menginstal file deb secara manual atau ppa dari pihak ke-3.
Pada dasarnya itu memastikan daftar Anda cocok dengan daftar utama .
Mari kita perhatikan contoh menginstal VLC media player di Ubuntu:
sudo apt-get update
Ini akan memeriksa repositori untuk pembaruan yang tersedia.
Sedangkan
sudo apt-get install vlc vlc-plugin-pulse mozilla-plugin-vlc
akan menginstal VLC media player dari repositori yang kami cari.
Jika Anda telah masuk sebagai pengguna root (administrator), Anda tidak harus menggunakan sudo
, karena Anda sudah memiliki hak pengguna super.
sudo apt-get update
perintah setiap kali kita menginstal paket? Apa kerugiannya jika kita tidak melakukannya?