Έξυπνες αναζητήσεις
Το googling είναι μια από τις πιο σημαντικές δεξιότητες για κάθε προγραμματιστή. Ας δούμε πώς κάνουμε εξειδικευμ...
Το googling είναι μια από τις πιο σημαντικές δεξιότητες για κάθε προγραμματιστή. Ας δούμε πώς κάνουμε εξειδικευμ...
Στη JavaScript, οι χρονικές σημάνσεις συνήθως συσχετίζονται με την ώρα Unix. Και υπάρχουν διαφορετικές μέθοδοι για τ...
Αλληλεπιδρούμε πολύ με το HTTP και το HTTPS στην καθημερινή μας ζωή, αλλά πολλοί από εμάς δεν γνωρί...
An absolute path refers to defining the full exact file path, for example, D:\http\project\lib\file.php. While a relative path is based on the current working directory, where the script is located. ...
What Is a PHP Interface? A PHP interface defines a contract which a class must fulfill. If a PHP class is a blueprint for objects, an interface is a blueprint for classes. Any class implementing a ...
@Οι εντολές sudo apt-get update και sudo apt-get upgrade είναι δύο εντολές που μπορείτε να χρησιμοποιήσετε για να διατηρείτε ενημερωμένα όλα τα πακέτα σας στο Debian ή σε μια διανομή Linux που βασίζεται στο Debian. Η κύρια διαφορά είναι ότι sudo apt-get update ανακτά την πιο πρόσφατη έκδοση της λίστας πακέτων από το αποθετήριο λογισμικού της διανομής σας και τυχόν αποθετήρια τρίτων που μπορεί να έχετε διαμορφώσει. Με άλλα λόγια, θα καταλάβει ποια είναι η πιο πρόσφατη έκδοση κάθε πακέτου και εξάρτησης, αλλά δεν θα πραγματοποιήσει λήψη ή εγκατάσταση οποιασδήποτε από αυτές τις ενημερώσεις.
Η sudo apt-get upgrade κατεβάζει και εγκαθιστά τις ενημερώσεις για κάθε παρωχημένο πακέτο και εξάρτηση από το σύστημά σας. Αλλά μόνο η εκτέλεση sudo apt-get upgrade δεν θα αναβαθμίσει αυτόματα τα παλιά πακέτα – θα έχετε ακόμα την ευκαιρία να ελέγξετε τις αλλαγές και να επιβεβαιώσετε ότι θέλετε να πραγματοποιήσετε τις αναβαθμίσεις.
Πώς να χρησιμοποιήσετε την sudo apt-get update εντολή
Στη διανομή Linux που βασίζεται στο Debian (Debian, Ubuntu, Linux Mint, Kali Linux, Raspberry Pi OS κ.λπ.), ανοίξτε ένα παράθυρο τερματικού. Στο τερματικό, πληκτρολογήστε sudo apt-get update, εισαγάγετε τον κωδικό πρόσβασης διαχειριστή και πατήστε το πλήκτρο Enter. Εάν υπάρχουν ενημερώσεις, θα δείτε μια έξοδο παρόμοια με αυτήν:
kris@pihole:~ $ sudo apt-get update
Hit:1 https://ftp.harukasan.org/raspbian/raspbian bullseye InRelease
Get:2 https://download.docker.com/linux/raspbian bullseye InRelease [26.7 kB]
Get:3 http://archive.raspberrypi.org/debian bullseye InRelease [23.7 kB]
Get:4 http://packages.azlux.fr/debian buster InRelease [3,989 B]
Get:5 http://archive.raspberrypi.org/debian bullseye/main armhf Packages [282 kB]
Get:6 http://packages.azlux.fr/debian buster/main armhf Packages [3,418 B]
Fetched 340 kB in 4s (94.8 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
3 packages can be upgraded. Run 'apt list --upgradable' to see them.
Εάν θέλετε να δείτε ποια πακέτα μπορούν να αναβαθμιστούν, εκτελέστε apt list --upgradable:
kris@pihole:~ $ apt list --upgradable
Listing... Done
libcamera0/stable 0~git20220426+18e68a9b-1 armhf [upgradable from: 0~git20220303+e68e0f1e-1]
raspi-config/stable 20220425 all [upgradable from: 20220419]
rpi-eeprom/stable 13.13-1 armhf [upgradable from: 13.12-1]
Αν δεν υπάρχουν νεότερες εκδόσεις πακέτων ή εξαρτήσεων στο αποθετήριο λογισμικού της διανομής σας, θα δείτε μια έξοδο όπως αυτή:
kris@pihole:~ $ sudo apt-get update
Get:1 https://download.docker.com/linux/raspbian bullseye InRelease [26.7 kB]
Hit:2 https://ftp.harukasan.org/raspbian/raspbian bullseye InRelease
Hit:3 http://packages.azlux.fr/debian buster InRelease
Hit:4 http://archive.raspberrypi.org/debian bullseye InRelease
Fetched 26.7 kB in 3s (8,789 B/s)
Reading package lists... Done
Σημειώστε ότι δεν υπάρχει καμία αναφορά σε πακέτα που μπορούν να αναβαθμιστούν και καμία σημείωση σχετικά με την εκτέλεση apt list --upgradable. Αυτό, όμως, δεν σημαίνει απαραίτητα ότι δεν υπάρχει ξεπερασμένο λογισμικό στο σύστημά σας, απλώς ότι έχετε ήδη την πιο πρόσφατη έκδοση της λίστας πακέτων. Μπορεί να έχετε τρέξει sudo apt-get update πολλές φορές. Μπορείτε πάντα να τρέξετε apt list --upgradable ξανά για να δείτε αν κάτι μπορεί να αναβαθμιστεί. Εναλλακτικά, μπορείτε να χρησιμοποιήσετε την πιο σύγχρονη sudo apt update εντολή. Αυτή η εντολή θα σας δείχνει πάντα τον αριθμό των πακέτων που μπορούν να αναβαθμιστούν ή μια σημείωση που λέει ότι όλα είναι ενημερωμένα.
Πώς να χρησιμοποιήσετε την εντολή sudo apt-get upgrad
Αφού έχετε ήδη εκτελέσει την εντολή sudo apt-get update, στο ίδιο παράθυρο τερματικού, πληκτρολογήστε sudo apt-get upgrade. Δώστε τον κωδικό πρόσβασής σας εάν χρειάζεται και πατήστε enter. Στη συνέχεια, θα δείτε μια έξοδο παρόμοια με αυτήν:
kris@pihole:~ $ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
libcamera0 raspi-config rpi-eeprom
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,616 kB of archives.
After this operation, 1,596 kB of additional disk space will be used.
Do you want to continue? [Y/n]
Προς το κάτω μέρος της εξόδου, θα δείτε τα πακέτα που θα αναβαθμιστούν:
The following packages will be upgraded:
libcamera0 raspi-config rpi-eeprom
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Ο όγκος των δεδομένων που πρέπει να ληφθούν και ο χώρος αποθήκευσης που θα χρησιμοποιήσουν τα αναβαθμισμένα πακέτα μόλις εγκατασταθούν:
Need to get 2,616 kB of archives.
After this operation, 1,596 kB of additional disk space will be used.
Και τέλος, θα δείτε ένα μήνυμα που σας ρωτά εάν θέλετε να συνεχίσετε με την αναβάθμιση:
Do you want to continue? [Y/n]
Μπορείτε να εισαγάγετε y, Y, ή yesγια να συνεχίσετε με την αναβάθμιση, ή n, N, ή noνα βγείτε από την upgradeεντολή.
Εάν επιλέξετε να βγείτε έξω, θα δείτε μια έξοδο όπως αυτή:
kris@pihole:~ $ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
libcamera0 raspi-config rpi-eeprom
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,616 kB of archives.
After this operation, 1,596 kB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.
Εάν επιλέξετε να συνεχίσετε με την αναβάθμιση, θα δείτε μια μεγάλη έξοδο όπως αυτή:
kris@pihole:~ $ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
libcamera0 raspi-config rpi-eeprom
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,616 kB of archives.
After this operation, 1,596 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://archive.raspberrypi.org/debian bullseye/main armhf libcamera0 armhf 0~git20220426+18e68a9b-1 [548 kB]
Get:2 http://archive.raspberrypi.org/debian bullseye/main armhf raspi-config all 20220425 [30.3 kB]
Get:3 http://archive.raspberrypi.org/debian bullseye/main armhf rpi-eeprom armhf 13.13-1 [2,037 kB]
Fetched 2,616 kB in 3s (1,019 kB/s)
Reading changelogs... Done
(Reading database ... 43496 files and directories currently installed.)
Preparing to unpack .../libcamera0_0~git20220426+18e68a9b-1_armhf.deb ...
Unpacking libcamera0:armhf (0~git20220426+18e68a9b-1) over (0~git20220303+e68e0f1e-1) ...
Preparing to unpack .../raspi-config_20220425_all.deb ...
Unpacking raspi-config (20220425) over (20220419) ...
Preparing to unpack .../rpi-eeprom_13.13-1_armhf.deb ...
Unpacking rpi-eeprom (13.13-1) over (13.12-1) ...
Setting up rpi-eeprom (13.13-1) ...
Setting up libcamera0:armhf (0~git20220426+18e68a9b-1) ...
Setting up raspi-config (20220425) ...
Processing triggers for man-db (2.9.4-2) ...
Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u2) ...
Και μόλις ολοκληρωθεί, όλα τα παλιά πακέτα και οι εξαρτήσεις θα ενημερωθούν.
Ένα σημαντικό πράγμα που πρέπει να θυμάστε σχετικά με την sudo apt-get upgrade εντολή είναι ότι αναβαθμίζει μόνο ό,τι μπορεί, χωρίς να αφαιρεί τίποτα. Για παράδειγμα, εάν μια αναβάθμιση απαιτεί μια νέα εξάρτηση, η upgrade εντολή θα την κατεβάσει και θα την εγκαταστήσει, αλλά δεν θα αφαιρέσει την παλιά εξάρτηση. Η κατάργηση παλιών εξαρτήσεων απαιτεί διαφορετική εντολή. Αυτό θα το δείτε πολύ όταν κάνετε αναβάθμιση σε μια νέα έκδοση πυρήνα.
Εάν δείτε ένα παρόμοιο μήνυμα μετά την αναβάθμιση:
The following packages were automatically installed and are no longer required:
g++-8 gir1.2-mutter-4 libapache2-mod-php7.2 libcrystalhd3
Use 'sudo apt autoremove' to remove them.
Μπορείτε να ακολουθήσετε την πρόταση και να το χρησιμοποιήσετε sudo apt autoremove για να αφαιρέσετε αυτά τα περιττά πακέτα.
Πώς να χρησιμοποιήσετε τις ειδικές επιλογές με την sudo apt-get upgrade
Υπάρχει ένας αριθμός ειδικών επιλογών ή παραμέτρων που μπορείτε να χρησιμοποιήσετε με την sudo apt-get upgrade, αλλά δύο ξεχωρίζουν: --dry-run και --yes.
Πώς να χρησιμοποιήσετε την επιλογή --dry-run:
Η επιλογή --dry-run (εναλλακτικά -s ή --simulate) προσομοιώνει τι θα συμβεί κατά τη διαδικασία αναβάθμισης, αλλά στην πραγματικότητα δεν αλλάζει τίποτα στο σύστημά σας:
kris@pihole:~ $ sudo apt-get upgrade --dry-run
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
libcamera0 raspi-config rpi-eeprom
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Inst libcamera0 [0~git20220303+e68e0f1e-1] (0~git20220426+18e68a9b-1 Raspberry Pi Foundation:stable [armhf])
Inst raspi-config [20220331] (20220425 Raspberry Pi Foundation:stable [all])
Inst rpi-eeprom [13.12-1] (13.13-1 Raspberry Pi Foundation:stable [armhf])
Conf libcamera0 (0~git20220426+18e68a9b-1 Raspberry Pi Foundation:stable [armhf])
Conf raspi-config (20220425 Raspberry Pi Foundation:stable [all])
Conf rpi-eeprom (13.13-1 Raspberry Pi Foundation:stable [armhf])
Αυτή η επιλογή είναι χρήσιμη εάν θέλετε να βεβαιωθείτε ότι δεν υπάρχουν διενέξεις κατά τη διάρκεια μιας αναβάθμισης.
Πώς να χρησιμοποιήσετε την επιλογή --yes:
Η επιλογή --yes (εναλλακτικά -y ή --assume-yes) απαντά αυτόματα ναι σε τυχόν ζητήματα, εάν είναι ασφαλές να το κάνετε:
kris@pihole:~ $ sudo apt-get upgrade --yes
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
libcamera0 raspi-config rpi-eeprom
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,616 kB of archives.
After this operation, 1,596 kB of additional disk space will be used.
Get:1 http://archive.raspberrypi.org/debian bullseye/main armhf libcamera0 armhf 0~git20220426+18e68a9b-1 [548 kB]
Get:2 http://archive.raspberrypi.org/debian bullseye/main armhf raspi-config all 20220425 [30.3 kB]
Get:3 http://archive.raspberrypi.org/debian bullseye/main armhf rpi-eeprom armhf 13.13-1 [2,037 kB]
...
Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u2) ...
Σημειώστε ότι το Do you want to continue? [Y/n] παραπάνω παραλείπεται και όλα τα πακέτα έχουν αναβαθμιστεί.
Συχνές ερωτήσεις
Τι είναι sudo και apt-get;
Ένα σημαντικό πράγμα που πρέπει να σημειωθεί είναι ότι οι εντολές sudo apt-get update και sudo apt-get upgrade αποτελούνται από τρία μέρη: sudo, apt-get, και update ή upgrade.
sudo σημαίνει "superuser do" και σας επιτρέπει να εκτελείτε προγράμματα με δικαιώματα root ή διαχειριστή. Για παράδειγμα, η επανεκκίνηση ενός συστήματος απαιτεί δικαιώματα σε επίπεδο υπερχρήστη/root, επομένως η εκτέλεση reboot στο τερματικό ενδέχεται να εμφανίσει σφάλματα παρόμοια με αυτό:
Failed to set wall message, ignoring: Interactive authentication required.
Failed to reboot system via logind: Interactive authentication required.
Failed to open initctl fifo: Permission denied
Failed to talk to init daemon.
Αλλά εάν εκτελέσετε το sudo reboot, μετά εισάγετε τον κωδικό πρόσβασης διαχειριστή, θα εκτελέσετε την reboot εντολή ως υπερχρήστης και το σύστημά σας θα επανεκκινηθεί αμέσως.
Το apt-get είναι ένα εργαλείο γραμμής εντολών σε διανομές Linux που βασίζονται στο Debian και χρησιμοποιείται για την εγκατάσταση και τη διαχείριση πακέτων.
Ποια είναι η διαφορά μεταξύ apt-get και apt;
Το apt είναι ένα πιο σύγχρονο εργαλείο για την εγκατάσταση και τη διαχείριση εφαρμογών σε διανομές Debian και Debian. Ως επί το πλείστον, τα apt και apt-get μπορούν να χρησιμοποιηθούν εναλλακτικά – sudo apt update και sudo apt-get update ώστε να ενημερώσετε τη λίστα πακέτων στο σύστημά σας. Οι κύριες διαφορές που θα παρατηρήσετε είναι ότι το apt είναι πιο εύκολο να το πληκτρολογήσετε, η έξοδός του είναι γενικά πιο χρήσιμη και περιλαμβάνει ορισμένες φιλικές προς το χρήστη λειτουργίες, όπως μια γραμμή προόδου κατά την εγκατάσταση πακέτων. Ενώ τα περισσότερα από τα παραδείγματα σε αυτό το άρθρο χρησιμοποιούν το apt-get, μπορείτε κάλλιστα να χρησιμοποιήσετε το apt.
Είναι sudo apt-get updateκαι sudo apt-get upgrade ασφαλή στη χρήση;
Ναι, οι διανομές που βασίζονται στο Debian είναι γενικά πολύ σταθερές και οι εντολές και είναι ασφαλείς στη χρήση update και upgrade. Αυτό συμβαίνει επειδή οι σημαντικές ενημερώσεις για πακέτα / εξαρτήσεις και οι ίδιες οι διανομές κυκλοφορούν μόνο μία ή δύο φορές το χρόνο. Το μειονέκτημα είναι ότι, σε αντίθεση με τις διανομές bleeding edge όπως το Arch Linux, εάν θέλετε να χρησιμοποιήσετε την πιο πρόσφατη έκδοση ενός πακέτου, ίσως χρειαστεί να κάνετε κάποια επιπλέον δουλειά. Ίσως χρειαστεί να διαμορφώσετε ένα αποθετήριο τρίτου μέρους μέσω ενός PPA, να χρησιμοποιήσετε ένα εναλλακτικό σύστημα συσκευασίας όπως το Snap of Flatpak ή να μεταγλωττίσετε το πακέτο μόνοι σας. Αλλά η σταθερότητα που συνοδεύει το ελαφρώς παλαιότερο λογισμικό αξίζει τον κόπο.
Μπορούν να ενωθούν οι εντολές sudo apt-get update και sudo apt-get upgrade;
Ενώ οι εντολές sudo apt-get update και οι δύο sudo apt-get upgrade εκτελούνται αρκετά γρήγορα, μερικές φορές είναι πιο εύκολο να εκτελέσετε μια σειρά από εντολές και να τις ελέγξετε ξανά λίγα λεπτά αργότερα. Με τον τελεστή "&&", μπορείτε να συνδέσετε πολλές εντολές μεταξύ τους ως εξής:
sudo apt-get update && sudo apt-get upgrade
Το σημαντικό πράγμα που πρέπει να θυμάστε με τον τελεστή && είναι ότι η εντολή μετά τον τελεστή εκτελείται μόνο εάν η προηγούμενη εντολή είναι επιτυχής.
Τι είναι οι εντολές sudo apt-get dist-upgrade και sudo apt full-upgrade. Είναι ασφαλείς στη χρήση τους;
Αυτές οι εντολές κάνουν το ίδιο πράγμα αναβαθμίζουν παλιά πακέτα και αφαιρούν επίσης έξυπνα ορισμένα πακέτα όποτε είναι απαραίτητο. Ουσιαστικά είναι σαν τον συνδυασμό των εντολών sudo apt-get upgrade και sudo apt autoremove. Η εκτέλεση αυτών των εντολών θα πρέπει να είναι ασφαλής στις περισσότερες περιπτώσεις. Αλλά πολλοί προγραμματιστές συνιστούν τη χρήση sudo apt-get update και sudo apt-get upgrade αντ' αυτού. Έχετε περισσότερες ευκαιρίες να ελέγξετε τις επερχόμενες αλλαγές και, καθώς το upgrade δεν αφαιρεί ποτέ τα πακέτα, είναι λιγότερο καταστροφικό.
Εγγραφείτε για να βλέπετε τα εξειδικευμένα άρθρα.