J'ai un ami qui a un ordinateur qui n'est pas connecté à Internet. Existe-t-il un moyen d'installer le logiciel hors ligne facilement?
Découvrez Keryx ; c'est un gestionnaire de référentiels hors ligne.
Comment ça marche? il vous permet de télécharger des mises à jour et de nouveaux programmes (avec dépendances) sur votre clé USB .
Son interface est similaire à synaptic, mais elle fonctionne à partir d’une clé USB (elle n’a pas besoin d’être installée). Malheureusement, l'interface graphique a besoin de wxwidgets, qui ne sont pas préinstallés sur Ubuntu (ils sont multi-plateforme et installables à partir de ici et le dépôt Ubuntu ici ). Il ne peut installer que des logiciels dans un système Ubuntu, mais vous pouvez télécharger les mises à jour ou les nouveaux packages sous Linux, Windows ou OS X.
Vous trouverez ici un tutoriel .
Un autre didacticiel détaillé est détaillé dans cette réponse .
Launchpad héberge également des fichiers téléchargeables .
Une capture d'écran:
Un rapide hack consiste à copier tous les paquets que vous avez téléchargés pour votre installation sur sa machine ( instructions détaillées ici ). Les fichiers .deb sont stockés dans /var/cache/apt/archives
, puis dans l'autre ordinateur, lancez Synaptic et sélectionnez File -> Add Package Downloaded
et effectuez une recherche dans le dossier où vous avez ouvert et ouvert les fichiers. en utilisant la commande sudo dpkg -i DEB_PACKAGE_NAME
).
REMARQUE:
Cela suppose que votre gestionnaire de packages n'est pas configuré pour supprimer les packages immédiatement après l'installation. Il suppose également que vous exécutez la même version d'Ubuntu (10.10, 12.04, etc.) et la version d'architecture (32b ou 64b) .
Un référentiel DVD
Si vous souhaitez que les derniers correctifs de bogues et correctifs de sécurité soient disponibles, consultez ce tutoriel , qui couvre créer votre propre dépôt de DVD.
Un référentiel USB
Si vous avez une clé USB de taille décente - en supposant que vous ayez environ 4 à 8 Go (ou disque dur externe), vous pouvez configurer une copie personnalisée du référentiel Ubuntu et la configurer en tant que dépôt local dans AptGet / Offline / Repository sur help.ubuntu.com.
Pour obtenir les fichiers de paquetages réels (les fichiers .deb), je suggère d'utiliser apt-mirror
.
Le package apt-mirror
vous aidera à créer un miroir personnalisé qui devrait être plus petit que les 30 Go du référentiel complet. Installez le paquet:
sudo apt-get install apt-mirror
et éditer son fichier de configuration
gksudo gedit /etc/apt-mirror/mirror.list
ou depuis Ubuntu 14.04
gksudo gedit /etc/apt/mirror.list
N'incluez que les sections de référentiel souhaitées. Voici un exemple simple qui copie les fichiers binaires .deb des 4 sections (principale, restreinte, univers et multivers) ainsi que les dernières corrections de bogues.
# apt-mirror configuration file
##
## The default configuration options (uncomment and change to override)
##
#
set base_path /tmp/ubuntumirror
#
## Repositories to copy from -
## use a mirror so you don't overload the main server!!!
# Lucid binaries - no source files
deb http://archive.ubuntu.com/ubuntu lucid main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu lucid-updates main restricted universe multiverse
## Clean up older .deb files no longer in the archive
clean http://archive.ubuntu.com/ubuntu
On estime que vous aurez besoin d’environ 15 Go d’espace pour les 4 sections, sans la source.
J'ai mis le chemin d'accès pour tous les fichiers .deb à /tmp
, assurez-vous d'avoir suffisamment d'espace pour que votre disque dur ne se remplisse pas (si votre disque dur se remplit et que votre ordinateur se fige, /tmp
devrait être effacé avec un redémarrage).
Si vous voulez juste les fichiers principaux, supprimez les noms restreints, univers et multivers du fichier de configuration.
Si vous utilisez une architecture différente (vous avez 64 bits, mais votre ami a 32 bits), ajoutez ce qui suit au début du fichier de configuration mirror.list :
set defaultarch i386
Une fois que vous avez la configuration apt-mirror
que vous voulez, exécutez apt-mirror
et faites quelque chose d'amusant ou de changer de vie car cela prendra des heures ou des jours pour obtenir le dépôt (selon votre connexion et le miroir Ubuntu que vous utilisez) .
Une fois que vous avez les fichiers .deb, copiez les fichiers sur votre clé USB (ou disque dur externe) et configurez le référentiel local conformément à l'article mentionné précédemment.
Testez-le avant de le porter à votre ami!
Vous devez d’abord avoir un PC avec une connexion Internet, où vous pouvez télécharger les fichiers .deb requis. Une fois que vous avez téléchargé tous les fichiers, vous pouvez désormais créer un CD / DVD-ROM ou un fichier ISO que vous pouvez utiliser pour installer le logiciel que vous avez téléchargé sur votre ordinateur hors ligne.
Commencez par une installation propre ou une machine virtuelle.
sudo apt-get install aptoncd
Installez les paquetages que vous voulez sur un PC
sudo apt-get install gbrainy
Exécuter aptoncd
Cliquez sur Créer
Cliquez sur Graver et définir les options, puis sur Appliquer
Gravez-le ou enregistrez-le.
Notez que aptoncd ne sauvegarde que des choses dans le apt-cache actuel.
C'est pourquoi nous avons commencé avec une nouvelle installation de VM / nouvelle et avons fait tout cela en une seule fois.
J'utilise apt-get avec l'option --print-uris pour le faire. J'ajoute aussi "-qq" donc ce serait calme.
Utilisez sed pour supprimer les caractères supplémentaires ajoutés à certains noms de fichiers (quelque chose comme 3% 2a) et pour obtenir l'url, le nom de fichier et md5sum des fichiers. Utilisez wget pour télécharger les fichiers. Utilisez md5sum pour vérifier si les fichiers sont téléchargés correctement.
Vous pouvez l’utiliser pour créer un script shell pour Linux ou Mac OS (remplacez ".cmd" dans les commandes par .sh et faites "chmod a + x (nom de fichier) pour ajouter la permission d’exécuter le script) ou un fichier Windows Fichier de commandes et fichier MD5Sum pour vous assurer que les fichiers sont correctement téléchargés.
Créer un script:
sudo apt-get <<<apt-get command and options>>> --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c /p" > script.cmd
Exemples:
sudo apt-get install anjuta --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c /p" > install-anjuta.cmd
sudo apt-get upgrade --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c /p" > upgrade.cmd
sudo apt-get dist-upgrade --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c /p" > dist-upgrade.cmd
Créer un fichier md5sum:
sudo apt-get <<<apt-get command and options>>> --print-uris -qq | sed -n -e "s/_[0-9]%[0-9a-f][0-9a-f]/_/" -e "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/ .\//p" > md5sum.txt
Exemples:
sudo apt-get install anjuta --print-uris -qq | sed -n -e "s/_[0-9]%[0-9a-f][0-9a-f]/_/" -e "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/ .\//p" > md5sum.txt
sudo apt-get upgrade --print-uris -qq | sed -n -e "s/_[0-9]%[0-9a-f][0-9a-f]/_/" -e "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/ .\//p" > md5sum.txt
sudo apt-get dist-upgrade --print-uris -qq | sed -n -e "s/_[0-9]%[0-9a-f][0-9a-f]/_/" -e "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/ .\//p" > md5sum.txt
Vous avez besoin de md5sum pour Windows si vous utilisez ce système d'exploitation pour télécharger des fichiers.
Créer un script pour télécharger les listes de référentiels:
sudo apt-get update --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) :/wget -c -O .bz2/p" > update.cmd
Vous pouvez les ajouter à la fin des scripts pour vérifier md5sum:
Linux:
md5sum --quiet -c md5sum.txt
Windows (utilise md5sum plus ancien, ne supporte pas --quiet):
md5sum -c md5sum.txt
Pour ajouter automatiquement au script:
echo -e "md5sum -c md5sum.txt\npause" >> script.cmd
Exécutez ces commandes sur l’ordinateur cible.
Vous devez utiliser bunzip2 pour extraire les fichiers de la liste de référentiels:
bunzip2 *.bz2
Copiez ensuite dans le dossier de liste (le dossier actuel ne contient que des fichiers de liste):
sudo cp * /var/lib/apt/lists/
Ci-dessus combiné (le dossier actuel peut contenir d'autres fichiers):
for listfile in 'ls *.bz2'; do bunzip2 $listfile; sudo cp ${listfile%.bz2} /var/lib/apt/lists/; done
Si vous souhaitez accélérer le téléchargement des fichiers, essayez d’utiliser Axel.
Remplacez wget -c ... -O ...
par axel ... -o ...
.
Je crée généralement un dossier comme celui-ci:
Puis changez wget
dans les lignes ci-dessus à ..\bin\wget.exe
, md5sum
à ..\bin\md5sum.exe
, etc.
Cela séparera les fichiers * .deb et les fichiers de liste en différents dossiers.
sudo cp *.deb /var/cache/apt/archives/
sudo apt-get upgrade
ou sudo apt-get dist-upgrade
Wget pour Windows: lien
md5sum pour Windows: lien ou lien
Vous pouvez également utiliser ceux de MinGW , qui sont ceux que j'utilise. Vous n'avez besoin que de wget.exe, md5sum.exe et des bibliothèques partagées nécessaires. Vérifiez la section "Hiérarchie des dossiers".
La procédure de création d’un référentiel hors ligne est décrite ici : il vous suffit de télécharger les fichiers appropriés à partir de archive.ubuntu.com . Vous pouvez également utiliser apt-medium
.
EDIT: Une autre approche basée sur une rive locale de fichiers *.deb
est décrite dans différentes entrées de blog (voir ici et ici ). Sarath Chandra résume comme suit:
Rendre un répertoire accessible (au moins par racine)
sudo mkdir /var/my-local-repo
Copiez tous les fichiers deb dans ce répertoire.
Faites le répertoire en tant que
sudo bash -c 'dpkg-scanpackages /var/my-local-repo /dev/null | gzip -c9 > /var/my-local-repo/Packages.gz'
ou
sudo dpkg-scanpackages /var/my-local-repo /dev/null | gzip -c9 > /var/my-local-repo/Packages.gz
Ajoutez le repo local aux sources
echo "deb file:/var/my-local-repo ./" > /tmp/my-local.list
sudo mv /tmp/my-local.list /etc/apt/sources.list.d/my-local.list
sudo apt-get update
Étape 1: Obtenez les URL de téléchargement dans un fichier:
Exécutez la commande suivante en remplaçant les noms de paquetages par des noms obligatoires, en les séparant par un espace.
apt-get -y install --print-uris package-name | cut -d\' -f2 | grep http:// > apturls
Etape 2: Copiez ce fichier (apturls) sur un ordinateur disposant d’un accès Internet haut débit et exécutez la commande suivante pour télécharger les packages:
wget -i path-to-apturls-file
Étape 3: maintenant, téléchargez ces packages sur votre ordinateur et installez-les en utilisant:
cd path-to-the-downloaded-packages-directory
sudo dpkg -i *.deb
Fait!
Vous pouvez utiliser Cube . C'est un gestionnaire de paquets portable qui vous permet de télécharger des paquets sur un autre ordinateur connecté à Internet et de les réinstaller sur votre ordinateur Linux d'origine, hors ligne.
Téléchargement d'applications (sous Windows)
Installation d’applications (sous Linux)
Vous pouvez le télécharger sur le site Web de Cube .
Dans synaptic, vous pouvez sélectionner les packages que vous souhaitez installer et sous le premier menu, il existe une option pour générer un script que vous pouvez prendre sur une autre machine et y exécuter. Ce script "wget" (c'est-à-dire "télécharger") tous les paquetages que vous avez spécifiés (et leurs dépendances) que vous exécutez sur un ordinateur sur lequel ont un accès Internet.
Une fois exécuté, vous aurez tous les fichiers de paquet requis par l’ordinateur déconnecté. Portez-les sur un CD / clé USB et installez-les de sudo dpkg -i *.deb
.
Vous pouvez utiliser apt-offline
ou apt-offline-gui
.
Pré-requistes : le système d'un ami avec une connexion Internet. apt-offline installé sur vos deux systèmes.
L'installation hors ligne est réalisée en 3 étapes simples.
Étape 1 :
Générer un fichier de signature sur la boîte Debian déconnectée à la maison
apt-offline set /tmp/apt-offline.sig
La commande ci-dessus générera toutes les informations nécessaires à apt pour mettre à jour sa base de données.
Étape 2 :
Télécharger les données en fonction du fichier de signature généré précédemment
apt-offline get C:\apt-offline.sig --threads 5
La commande ci-dessus téléchargera les données comme indiqué dans le fichier de signature. Pour accélérer les téléchargements (qui peuvent provenir de plusieurs référentiels apt), dans cet exemple, nous générons 5 threads de téléchargement.
Une fois terminé, vous pouvez simplement copier les données (un fichier d'archive, si vous avez utilisé l'option --bundle) sur le support amovible et les copier sur votre hôte hors ligne.
Étape 3 :
Une fois que vous êtes de retour sur la machine Debian, vous transmettez les données du support amovible à apt-offline:
apt-offline install /media/USB/apt-offline.zip
Cela mettra à jour la base de données APT sur votre machine déconnectée de manière transparente.
Apt-offline peut même être utilisé dans les systèmes Windows. À mon avis, apt-offline
est la meilleure option pour une installation hors ligne.
Il existe plusieurs bonnes réponses efficaces énumérées ci-dessus. Cependant, c’est le mécanisme que j’utilise personnellement - apt-ftparchive . Je le documente ici, au cas où j'en aurais besoin à l'avenir. Peut-être que cela pourrait vous être utile.
Création du cliché d’archive
sudo apt-get clean
sudo apt-get update
sudo apt-get dist-upgrade --download-only
sudo apt-get install --download-only byobu run-one bikeshed dotdee powernap
sudo apt-get install apt-utils
(cd /var/cache/apt/archives/ && sudo apt-ftparchive packages . ) | sudo tee /var/cache/apt/archives/Packages
sudo tar cvf snapshot.tar -C /var/cache/apt archives/
Utilisation de l'instantané d'archivage sur le système cible hors connexion
tar xvf snapshot.tar
echo "deb file:/home/ubuntu/archives /" | sudo tee -a /etc/apt/sources.list
sudo apt-get update
sudo apt-get install byobu run-one bikeshed dotdee powernap
Pour une installation hors ligne, vous aurez besoin des packages. Si vous utilisez un système Debian
.deb
et utilisez dpkg -i package_name
pour l’installer Récupérez l’archive source avec l’extension de fichier .tar.gz
ou .tar.bz2
, puis extrayez-les et installez-les avec:
tar -zxvf your_pack.tar.gz' or tar '-jxvf your_pack.tar.bz2
make
sudo make install
make clean (optional, and may prevent uninstallation)
Vous pouvez avoir des problèmes avec les dépendances. Vous devez d'abord installer tous ces éléments pour une installation hors ligne réussie.
Oui. Vous pouvez télécharger le DVD iso, le graver sur un DVD et installer le logiciel à partir du DVD. Voir ici Les CD et DVD peuvent être utilisés comme source pour les gestionnaires de packages de la même manière que les archives en ligne.
La première chose à faire avant l’installation d’un package hors ligne est de mettre à jour le référentiel / référentiel dont vous avez besoin. Vous devriez sûrement mettre à jour le référentiel Main (pour les logiciels gratuits et officiellement pris en charge).
Les applications que vous souhaitez installer peuvent se trouver dans d’autres référentiels tels que l’univers (gratuit mais sans support officiel), ou restreint (non-gratuit, officiellement pris en charge), ou le référentiel Multiverse (non libre, sans support officiel). Donc, vous pourriez en vouloir un ou plusieurs aussi.
La première étape du processus consiste donc à créer un référentiel hors ligne mis à jour. puis générez la liste "à télécharger" et téléchargez-les, et enfin l'insatllation. Voici comment cela se passe: source
Entrez l'url: lien suiteCodename où < em> suiteCodename doit être substitué de manière appropriée, par exemple precise pour Ubuntu 12.04 (Precise Pangolin) [ou utopique pour Ubuntu 14.10 (Utopic Unicorn)] que vous êtes maintenant dans lien ou tout autre élément spécifique à la suite que vous avez.
Téléchargez les fichiers Release , Release.gpg et Contents- ????? gz fichier pour votre architecture (c'est-à-dire Contents-i386.gz , en supposant que votre architecture est i386). Enregistrez ces trois fichiers dans un répertoire / dossier nommé d'après votre suiteCodename ( précis pour Precise Pangolin).
Ensuite, vous devrez effectuer les opérations suivantes pour chacun des référentiels (parmi Main, Universe, Restricted, Multiverse ) que vous souhaitez.
a aller dans le répertoire du référentiel cible main puis dans le répertoire d’architecture par exemple. binary-i386 pour que vous soyez dans lien
b. téléchargez le contenu Packages.bz2, Packages.gz, Release et enregistrez-les dans un répertoire nommé repositoryName, par exemple. main et placez ce répertoire dans le répertoire suiteCodename précédemment créé.
c. répéter a. et B. pour chacun des référentiels que vous souhaitez.
Enfin, vous devriez avoir une structure comme celle-ci:
precise ├── Contents-i386.gz ├── main │ └── binary-i386 │ ├── Packages.bz2 │ ├── Packages.gz │ └── Release.txt ├── Release.gpg ├── Release.txt └── universe └── binary-i386 ├── Packages.bz2 ├── Packages.gz └── Release.txt
(en supposant que votre suiteCodename = precise, l'architecture est i386 et que vous avez besoin de référentiels principaux et d'univers)
Ensuite, après avoir téléchargé les référentiels mis à jour, vous devez placer les fichiers téléchargés dans une structure appropriée (comme indiqué ci-dessus) dans un répertoire de l'ordinateur hors ligne cible. Enregistrez la structure de répertoire precise
dans un dossier nommé offlineRepository / dists / precise dans votre répertoire utilisateur ( ~/offlineRepository/dists/precise
) ou ailleurs ( /home/offlineRepository/dists/precise
à l'aide de sudo previleges dans un terminal ou avec le gestionnaire de fichiers Nautilus) commencé avec gksu nautilus
, assurez-vous également que vous disposez des autorisations appropriées pour la structure copiée). Vos informations de référentiel hors ligne seraient alors prêtes à être utilisées.
Ajoutez le référentiel local dans votre liste de sources . Avec Ubuntu Software Center , accédez à Modifier - & gt; Sources de logiciels ... - & gt; Autres logiciels - & gt; Ajoutez ... , puis dans le champ pour la ligne APT, ajoutez: deb file:///home/offlineRepository precise main universe
et cliquez sur Ajouter une source . Veillez à modifier la ligne en ce qui concerne votre structure de répertoire / fichier et votre suite. Rechargez ensuite les paquets ou exécutez sudo apt-get update
dans un terminal.
Maintenant que vous avez mis à jour (et probablement des dépôts récemment ajoutés), vous pouvez vider la liste des URL pour les paquets et les dépendances.
J'emprunte la ligne de code suivante à l’une des précédentes post askUbuntu:
sudo apt-get install packageName --print-uris | grep -o '\'http.*\' | tr "\'" " " > /tmp/package-list.txt
par exemple. installer Synaptic Package Manager:
sudo apt-get install synaptic --print-uris | grep -o '\'http.*\' | tr "\'" " " > /tmp/package-list.txt
(Vous pouvez également générer des listes de mises à jour de manière similaire.)
La liste générée peut être utilisée pour télécharger le package et toutes les dépendances sur un ordinateur en ligne. Créez un script pour télécharger ou utiliser la liste pour le téléchargement par lot dans certains gestionnaires de téléchargement. (Notez également que le fichier texte généré utilise la terminaison de ligne Unix / Linux et que vous souhaiterez peut-être modifier sous Windows.) Il existait une méthode plus simple lorsque Synaptic Package Manager était une application par défaut Ubuntu.
Enfin, dans le système cible, vous pouvez installer les packages avec dpkg
ou tout autre moyen.
La structure suivante, en plus des explications ci-dessus, devrait vous donner l’idée:
/opt/offlineRepoList/ └── dists ├── precise │ ├── Contents-i386.gz │ ├── main │ │ └── binary-i386 │ │ ├── Packages.bz2 │ │ ├── Packages.gz │ │ └── Release.txt │ ├── Release.gpg │ ├── Release.txt │ └── universe │ └── binary-i386 │ ├── Packages.bz2 │ ├── Packages.gz │ └── Release.txt ├── precise-security │ ├── Contents-i386.gz │ ├── main │ │ └── binary-i386 │ │ ├── Packages.bz2 │ │ ├── Packages.gz │ │ └── Release │ ├── Release │ ├── Release.gpg │ └── universe │ └── binary-i386 │ ├── Packages.bz2 │ ├── Packages.gz │ └── Release └── precise-updates ├── Contents-i386.gz ├── main │ └── binary-i386 │ ├── Packages.bz2 │ ├── Packages.gz │ └── Release ├── Release ├── Release.gpg └── universe └── binary-i386 ├── Packages.bz2 ├── Packages.gz └── Release
Après avoir parcouru les réponses ici: Comment J'installe des logiciels ou des packages sans Internet (offline)? , j'ai trouvé ce code par Arnel A. Borja le plus utile.
sudo apt-get install PACKAGE --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c /p" > install.sh
Quoi qu'il en soit, voici quelques instructions pour les débutants complets. J'espère que vous les trouverez utiles.
cd FOLDERNAME
(Exemple:cd Desktop
)
Conseil: Vous pouvez également utiliser la commandedir
pour répertorier les dossiers.
Exemple de code pour télécharger le gestionnaire de paquets Synaptic:
sudo apt-get install synaptic --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c /p" > install.sh
Exemple de code pour télécharger le lecteur VLC:
sudo apt-get install vlc --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c /p" > install.sh
sh install.sh
sudo dpkg -i *.deb
Vous pouvez utiliser un programme tel que Synaptics pour installer les packages. (Synaptics: File - Ajouter les packages téléchargés)
Vous pouvez également simplement double-cliquer sur les fichiers. Cela ouvrira le centre logiciel Ubuntu. Une fois le logiciel chargé, appuyez sur le bouton d'installation. Répétez cette opération jusqu'à ce que tous les fichiers du dossier soient installés.
Pour un système qui sera toujours déconnecté, il est généralement préférable d’utiliser l’une des méthodes robustes de gestion des packages hors ligne présentées dans certaines des autres réponses. Ceci parce qu'ils facilitent la mise à jour des paquets déjà installés, plutôt que de simplement installer une poignée de paquets une seule fois.
Cependant, pour les cas isolés où vous souhaitez installer rapidement des packages sur un système qui n’a pas de connexion Internet (et que vous avez la possibilité de les télécharger sur un autre ordinateur et de les transférer), vous pouvez le faire. La principale complication est de déterminer ce dont vous avez besoin, car un paquet a souvent d’autres paquetages dont il dépend, et qui doit donc être installé avant ou en même temps que le paquet est installé.
Cette réponse est motivée par la question en double g ++ dans Ubuntu 14.04 , et utilise le cas de devoir installer g++
comme exemple principal.
J'insiste sur le fait que cette méthode ne devrait pas être utilisée à long terme comme alternative à quelque chose qui facilite au moins la détermination et l'installation automatiques des mises à jour de sécurité nécessaires. Ne jamais se connecter à un réseau réduit considérablement le risque d’attaque, mais certains bogues de sécurité peuvent être exploités via des données provenant de n’importe quelle source.
Bien que cette méthode puisse paraître complexe, cela ne prend généralement que quelques minutes. Pour les packages avec un grand nombre de dépendances, cela peut prendre plus de temps. Pour installer des métapaquets contenant un très grand nombre de dépendances (par exemple, ubuntu-desktop
sur un système minimal), le téléchargement de tous les fichiers .deb nécessaires peut prendre beaucoup plus de temps et cette méthode risque de ne pas convenir.
Vous pouvez simuler l’installation pour déterminer quels autres packages sont nécessaires pour satisfaire les dépendances du package. Passer l'indicateur -s
à apt-get
( avant vous spécifiez une action) le fait.
apt-get -s install g++
J'ai omis sudo
, car il ne s'agit que d'une simulation, donc les privilèges root ne sont pas nécessaires.
Si vous souhaitez installer tous les outils les plus courants pour créer des packages, au lieu de simplement g++
, vous pouvez préférer:
apt-get -s install build-essential
La sortie (pour g++
) ressemblera à ceci:
NOTE: This is only a simulation!
apt-get needs root privileges for real execution.
Keep also in mind that locking is deactivated,
so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
g++-4.8 libstdc++-4.8-dev
Suggested packages:
g++-multilib g++-4.8-multilib gcc-4.8-doc libstdc++6-4.8-dbg
libstdc++-4.8-doc
The following NEW packages will be installed:
g++ g++-4.8 libstdc++-4.8-dev
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Inst libstdc++-4.8-dev (4.8.2-19ubuntu1 Ubuntu:14.04/trusty [amd64])
Inst g++-4.8 (4.8.2-19ubuntu1 Ubuntu:14.04/trusty [amd64])
Inst g++ (4:4.8.2-1ubuntu6 Ubuntu:14.04/trusty [amd64])
Conf libstdc++-4.8-dev (4.8.2-19ubuntu1 Ubuntu:14.04/trusty [amd64])
Conf g++-4.8 (4.8.2-19ubuntu1 Ubuntu:14.04/trusty [amd64])
Conf g++ (4:4.8.2-1ubuntu6 Ubuntu:14.04/trusty [amd64])
Cela signifie que pour installer g++
sur mon système, j'ai besoin des packages g++
, g++-4.8
et libstdc++-4.8-dev
.
Il est généralement préférable d’examiner les résultats d’une simulation plutôt que de simplement rechercher les dépendances d’un paquet (ou de supposer que ce dont vous avez besoin est identique à ce qui précède), car:
Une fois que vous savez quels paquets vous avez besoin, vous pouvez les télécharger. Je suggère d'utiliser Launchpad pour cela, car les téléchargements sont cryptés SSL, ce qui aide à prévenir la corruption de fichiers.
apt-get
ou le Software Center ne nécessite pas HTTPS car son hachage est vérifié par rapport à une liste de hachages signée numériquement. Si vous mettez fin à la mise en cache de ces packages et utilisez apt-get
pour les installer, cela se produira. dpkg -i
, cela ne sera pas fait. Vous pouvez rechercher un package en tapant son nom sous Packages sur lien et en cliquant sur "Rechercher un package". . " Par exemple, la recherche de g++-4.8
vous amène à la page du paquet source de gcc-4.8 .
Ensuite, faites défiler jusqu'au nom de code de votre version d'Ubuntu. Vous exécutez 14.04, alors c'est Trusty Tahr. Les noms de code pour toutes les versions d'Ubuntu sont listés sur la page wiki des versions . Cliquez sur le triangle pointant vers la droite pour afficher les téléchargements de packages.
Pour certains paquets, vous pourrez peut-être développer des listes de téléchargements à partir de plusieurs pocket .Vous pouvez voir:
Par exemple, voici ce qui est disponible pour Firefox en 14.04:
En général, vous voudrez des packages dans sécurité ou mises à jour s'ils existent, sinon des packages dans release .
Une fois la liste des packages développée, recherchez le fichier .deb
correspondant à votre architecture. Les debs sont nommés name_version_architecture.deb
. Les architectures les plus courantes sont:
amd64
, pour les processeurs Intel et AMD) i386
, également pour les deux) Par exemple, pour obtenir le package g++-4.8
pour la version 64 bits d'Ubuntu, vous pouvez télécharger g++-4.8_4.8.4-1ubuntu15_amd64.deb
.
Si les paquets que vous avez récupérés sont les mêmes versions que apt-get
aurait% automatiquement récupéré et installé (si votre système était connecté au réseau), alors vous pouvez mettre les paquets dans install
et exécutez simplement cette commande:
sudo apt-get install g++
Si ce système était jamais connecté à Internet, cela sera probablement le cas lorsque tous les paquets que vous avez récupérés provenaient de la pochette Release . Indépendamment du fait que le système ait ou non été connecté à Internet, cela sera presque toujours le cas si aucun paquet dans d'autres poches n'était affiché sur Launchpad. (Essentiellement, ce n’est pas le cas si vous avez installé un système alpha ou bêta et que vous ne l’avez jamais mis à jour.)
Dans le cas spécifique de l'installation de /var/cache/apt/archives
, j'utiliserais g++
.
Dans les cas où cela ne fonctionne pas ou si vous ne l’attendez pas, installez les paquets en les plaçant dans un dossier vide et en exécutant:
sudo dpkg -Ri /path/to/folder
Ou vous pouvez nommer les paquets individuellement. Cet exemple suppose que les packages sont dans le répertoire en cours (c’est-à-dire que vous avez apt-get
ed dans le répertoire qui les contient):
sudo dpkg -i package1.deb package2.deb ...
Sauf si le nombre de paquets en cours d’installation est très petit, et vous connaissez l’ordre précis dans lequel ils doivent être installés pour que les dépendances soient satisfaites, il est beaucoup plus efficace d’utiliser ces méthodes que manuellement installer chaque paquet individuellement.
Si vous n’avez aucune connexion à Internet et n’avez personne à proximité de laquelle vous pouvez vous connecter à Internet, une option n’est pas encore mentionnée: demandez à quelqu'un d’envoyer les fichiers sources via le courrier ordinaire.
Vous pouvez obtenir l’ensemble du système d’exploitation Ubuntu par courrier en payant un DVD. De la même manière, vous pouvez demander à un ami en ligne de vous envoyer les fichiers DEB ou même les fichiers source d'un paquet tel que VLC. Bien que cela puisse valoir la peine que quelqu'un envoie un DVD complet avec tous les paquets. De cette façon, vous pouvez l’installer à partir de ce DVD.
J'ai un petit script python qui peut être exécuté sur Windows et qui analyse le site Web du package ubuntu afin de trouver l’arbre de dépendances et de télécharger tous les packages nécessaires + de vérifier la somme de contrôle.
Cela pourrait évidemment télécharger plus que nécessaire, mais c'était la solution la plus simple pour moi.
Tous les paquets téléchargés peuvent alors être installés avec dpkg -i E pkg\*
. Cela évite la réinstallation des paquets déjà installés.
Utilisation:
usage: ubuntu-deps.py [-h] [-a ARCH] [-r RELEASE] [-m MIRROR] [-f FALLBACK] [-d DIRECTORY] dep [dep ...]
Download ubuntu dependencies
positional arguments:
dep The main/top package
optional arguments:
-h, --help show this help message and exit
-a ARCH, --arch ARCH The architecture to use (default: amd64)
-r RELEASE, --release RELEASE Ubuntu release (default: trusty)
-m MIRROR, --mirror MIRROR Mirror to use for download (default: http://no.archive.ubuntu.com/)
-f FALLBACK, --fallback FALLBACK Mirror to use when main mirror is not found (default:
http://security.ubuntu.com/)
-d DIRECTORY, --directory DIRECTORY Target directory (default: pkg)
Ce n’est pas une réponse entièrement détaillée, mais à un niveau élevé, vous pouvez:
Une autre possibilité consiste à utiliser des remasters. Cet outil vous permet de créer une image ISO à partir de votre propre système et, après avoir créé une clé USB amorçable via unetbootin, vous pouvez installer un système personnalisé sur autant d’ordinateurs que vous le souhaitez.
J'ai quelques suggestions simples. Vous pouvez aller à la bibliothèque. Regardez dans la section ordinateur pour le système d'exploitation que vous voulez, certains des livres ont des DVD à l'intérieur d'eux. De plus, si vous souhaitez utiliser le système d’exploitation le plus récent, je recommanderais ce site Web sur lequel vous pouvez acheter un DVD moyennant des frais minimes. www.ubuntu.com/download/desktop
Cette question est un peu ancienne, donc une réponse à ce stade peut être redondante, mais vous pourriez peut-être aussi essayer d’utiliser dpkg-offline . Installez bzr, puis:
bzr branch lp:dpkg-offline
il y a un tutoriel et un fichier readme inclus dans le fichier.
En supposant que vous souhaitiez installer git sur un système Ubuntu 14.04 amd64, même si votre système est par exemple 12.04 i386, vous pouvez:
dpkg-offline ubuntu-14.04-desktop-amd64.iso git
apt-get
pour installer vos packages. dpkg-offline fonctionnera avec toutes les versions de bureau Ubuntu à partir de 10.04 (je n'ai pas testé avec les anciennes versions mais elles devraient également), et avec toute version de serveur Ubuntu à partir de 12.10. Il devrait également fonctionner avec les images amd64, i386 et armhf indépendamment de l'architecture hôte. Encore une fois, je n'ai pas testé avec arm64 ou powerpc / ppc64el mais ils peuvent aussi fonctionner.
Avertissement: J'ai écrit dpkg-offline.
Certains paquets sont installés sur la clé USB d'installation.
J'ai désinstallé network-manager
et je souhaite le réinstaller.
J'ai donc obtenu le stick d’installation du système d’exploitation (Lubuntu 17.10). C'était /dev/sdb
Montez le bâton sur un chemin ( /tmp/mnt
dans mon cas)
mkdir /tmp/mnt
sudo mount /dev/sdb1 /tmp/mnt
Ensuite, je modifie /etc/apt/sources.list
pour ne contenir que
deb file:///tmp/mnt/ main universe
Alors, je fais
sudo apt-get update
Et je peux installer network-manager
.
Note: Ce n’est peut-être pas la réponse à la question ci-dessus mais à la question que j’ai eue lors de la recherche de celle-ci.
Lire d'autres questions sur les étiquettes package-management