#1 Le 10/08/2017, à 09:16
- kholo
[tuto]post-installation Ubuntu 16.04 : le PC à kiki : LES PROGRAMMES
Je met ici cette partie spécifique à la post installation : le choix des programmes.
J'ai encore du travail pour condenser et organiser les processus mais l'idée est là...
ceux qui font beaucoup d'installations et de post installations comprendront l'aspect pratique de ma démarche
sans doute trop pressé, je limite, pour le moment les infos pour limiter l'usage à ceux qui savent ce qu'ils font ;
débutant passe ta route...
avant tout, les programmes sur serveurs qui se démocratisent ne changeront pas la donne. On continuera à avoir un ensemble de programme choisis ou imposés avec lesquels nous devrons avoir un lien ; que ce soit le logiciel lui même ou une façon d'éditer ses fichiers propriétaires.
voici une bonne façon de voir la liste des programmes des dépôts :
apt list
et laissez vous bercer quelques secondes à dizaine de secondes du spectacle de cette liste !
Ctrl + C pour arrêter net le flot !
comme ce n'est pas intelligent de vouloir installer la totalité de ces paquets on va choisir un panel pouvant couvrir la majeur partie des besoins et voir pourquoi et surtout comment limiter ce nombre
ma liste plus ou moins actuelle en est là :
# Liste des programme à installer
# Les lignes entières commentées ne sont pas prises en compte
# Attention à la casse des noms de paquets
# Francisation
language-pack-fr
language-pack-fr-base
language-pack-gnome-fr
language-pack-gnome-fr-base
manpages-fr
manpages-fr-extra
# INTERNET
firefox
thunderbird
#icedove
#icedove-l10n-fr
filezilla
# skype
# RESEAU
openssh-server
#sshfs
network-manager-gnome
nmap
# IMPRESSION
# cups
# gutenprint
# ghostscript
# hplip
# GRAPHISME
inkscape
gimp
gimp-plugin-registry
gimp-data-extras
gimp-data
gimp-data-extras
#gthumb
shotwell
sweethome3d
#blender
scribus
#gmic
#glabels
#imagination
darktable
#shutter
#ufraw
#mypaint
#krita
#calligra-l10n-fr
# MULTIMEDIA
vlc
cheese
# recordmydestop # pas 16.04
kazam
# AUDIO
audacity
#pavucontrol
#gnome-alsamixer
#paman
#pavumeter
#padevchooser
#paprefs
# CODEC
ubuntu-restricted-extras
flashplugin-installer
ffmpeg
#gstreamer0.10-plugins-ugly
# gxine
#libdvdread4
# totem-mozilla
icedax
tagtool
easytag
id3tool
lame
#nautilus-script-audio-convert
h264enc
#libmad0
mpg321
libavcodec-extra
# BUREAUTIQUE
libreoffice
# libreoffice-style-breeze
# libreoffice-style-crystal
# libreoffice-style-galaxy
# libreoffice-style-hicontrast
# libreoffice-style-human
# libreoffice-style-oxygen
# libreoffice-style-sifr
# libreoffice-style-tango
verbiste-gnome
keepassx
shutter
# PDF
pdfmod
pdfshuffler
xournal
# EDITEURS TEXTES
geany
geany-plugins
gedit
gedit-plugins
# TWEAK TOOLS
gufw
ppa-purge
gksu
gdebi
#synaptic
#screenfetch
numlockx
gconf-editor
dconf-tools
unity-tweak-tool
# clamav
# clamtk
bleachbit
# SYSTEM
inxi
sysinfo
hardinfo
htop
gparted
gnome-disk-utility
lm-sensors
hddtemp
tlp
# DOCKS
docky
#cairo-dock
conky
conky-all
# lubuntu-software-center
brasero
# SAUVEGARDES
grsync
#deja-dup
# COMPRESSION DECOMPRESSION
unace
rar
unrar
unar
p7zip-rar
p7zip
zip
unzip
arj
libuu0
mpack
sharutils
uudeview
# BUREAUX
gnome-shell
gnome-shell-extensions
# kde
# lxde
# xfce
# mate
# cinnamon
# ......
pour mémo : ubuntu conserve certains des paquets installés
ls /var/cache/apt/archives/
petit plus ; un script qui va récupérer la liste et les infos de TOUS les paquets des dépôts :
attention : long (plusieurs minutes) ;
#!/bin/bash
# ----------------------------------------------
nomlogiciel="${0##*/}"
FONCTION="récupère la liste de tous les programmes installables depuis les dépôts
récupère les informations de chaque programme (TRES TRES LONG)
copie les infos dans un fichier texte individuel"
VERSION="alpha"
# NOTES DE VERSIONS
# ----------------------------------------------
#
# ----------------------------------------------
echo "lancement $nomlogiciel..." ;
# APT="apt-cache"
APT="apt"
# Sortie des descriptions à l'unité
DOSSIER_OUT="descriptions"
[ -d "${DOSSIER_OUT}" ] || mkdir "${DOSSIER_OUT}"
# on construit un index en même temps
INDEX_OUT="tousLesProgrammes"
[ -f "${INDEX_OUT}" ] || touch "${INDEX_OUT}"
# LISTE DE TOUS LES PROGRAMMES DES DEPOTS EN REFERENCE
# dans /etc/apt/sources.list*
PROGRAMMES=$(apt list)
listeDeTousLesProgrammes=()
IFS=$'\n' PROGRAMMES=( $PROGRAMMES )
NumProg=0
for PROGRAMME in ${PROGRAMMES[@]}
do
[[ ${PROGRAMME} == "Listing…" ]] && echo "${PROGRAMME}" || {
((NumProg++))
unProgramme="${PROGRAMME%%/*}"
# LES_INFOS="$(apt show $unProgramme 2>/dev/null )"
LES_INFOS="$($APT show $unProgramme 2>/dev/null )"
DESCRIPTION="$(echo -e "$LES_INFOS" | grep Description)"
DESCRIPTION=${DESCRIPTION##*:}
listeDeTousLesProgrammes+=( "$unProgramme # $DESCRIPTION" )
# [ $NumProg -lt 10 ] || break
echo "$NumProg - $unProgramme"
echo "$DESCRIPTION"
echo "---------------------------------------------"
clear
echo "$unProgramme # $DESCRIPTION" | tee -a "${INDEX_OUT}"
echo -e "$LES_INFOS" > "${DOSSIER_OUT}/${unProgramme}.txt"
}
done
echo "listeDeTousLesProgrammes"
# echo "${listeDeTousLesProgrammes[@]}"
for i in ${listeDeTousLesProgrammes[@]}
do
echo "-> $i"
done
exit 0
on pourra se servir de cette liste pour des recherches plus rapides dans un autre script...
enfin un script pour créer et maintenir la première liste
#!/bin/bash
# ----------------------------------------------
nomlogiciel="${0##*/}"
FONCTION=""
VERSION="alpha"
# NOTES DE VERSIONS
# ----------------------------------------------
#
# ----------------------------------------------
echo "lancement $nomlogiciel..."
APT="apt-cache"
function fichierProglist {
if [ -f "${PROGLIST}" ];
then
> "${PROGLIST}" # vide le fichier
else
echo "Création du fichier PROGLIST : ${PROGLIST}"
touch "${PROGLIST}";
fi
}
function ListCheckListArray () {
# SEPARATOR=","
SEPARATOR=$'\n'
duTEXTE="sélectionnez les programmes à installer
NB les lignes qui commencent par des # sont des Titres ou des infos
"
zenity --list --checklist --separator="${SEPARATOR}" \
--width=1250 --height=500 \
--title="Choisir des programmes" \
--text "$duTEXTE" \
--column="" \
--column="valeur" \
--column="description" \
--print-column="2" "${array[@]}"
}
function ajouterProgramme () {
echo "$@" | tee -a "${PROGLIST}" >/dev/null;
}
# ******************************************************
array=()
PROGLIST="proglist" # fichier de sortie
fichier="tousLesProgrammes" # tous Les Programmes
letexte="$(cat "$fichier")"
IFS=$'\n' lignes=( $letexte )
nbrePgmInstall=0
PROBLEME=()
for ligne in ${lignes[@]}
do
# echo -e "$ligne \nligne $n; nombre de caractères : ${#ligne}"
# echo -e "# traitement de -> ${ligne}"
echo -e "# ${ligne}"
# sleep 1
case ${ligne:0:2} in
\#\#) # echo "double"
# ligne="${ligne##*#}"
# array+=( FALSE "${ligne}" "" ) # facultatives
;;
\#' ') # echo "simple espace"
# ligne="${ligne##*# }"
array+=( FALSE "${ligne}" "" )
;;
\#[a-z]) # echo "simple"
ligne="${ligne#*#}"
LES_INFOS="$($APT show ${ligne} 2>/dev/null | grep Description)" ;
[ $? -eq 1 ] && PROBLEME+=( ${ligne} ) # && zenity --info --text="${ligne} \n$LES_INFOS "
LES_INFOS="${LES_INFOS#*: }"
array+=( FALSE "${ligne}" "${LES_INFOS}" )
;;
# \#\#|\#[a-z]|\#' ') array+=( FALSE "${ligne}" ) ;;
*) # echo "autre"
((nbrePgmInstall++)) # si besoin, compte les programmes à installer
LES_INFOS="$($APT show ${ligne} 2>/dev/null | grep Description)" ;
LES_INFOS="${LES_INFOS#*: }"
array+=( TRUE "${ligne}" "${LES_INFOS}" )
;;
esac
# echo "ARRAY= ${array[@]}"
# echo "Problèmes= ${PROBLEME[@]}"
done #| zenity --progress --title="traitement de -> " ;
# [ $? -eq 1 ] && exit 100
echo "
**************************************
Problèmes :
$(for i in ${PROBLEME[@]}
do
echo $i
done
)
**************************************
"
zenity --info --text="ces paquets ne pourront pas être installés :
$(for i in ${PROBLEME[@]}
do
echo $i
done
)
"
# --no-wrap
echo "************************************************************
choix :"
REPONSE="$(ListCheckListArray)"
[ $? -eq 0 ] && {
# clear
# echo "ouverture de Proglist"
# fichierProglist
if [ -f "${PROGLIST}" ];
then
> "${PROGLIST}" # vide le fichier
else
echo "Création du fichier PROGLIST : ${PROGLIST}"
touch "${PROGLIST}";
fi
REPONSE=( ${REPONSE} )
for i in ${REPONSE[@]}
do
# echo "Ajouter -> $i"
# ajouterProgramme "$i"
echo "$i" | tee -a "${PROGLIST}"
done
} || {
# clear
echo "L'utilisateur a annulé"
}
exit 0
Hors ligne