Perfecte! Aquí tens un post complet en català sobre Bottles i Wine per a Deepin. Basant-me en la teva captura, veig que ja tens Bottles instal·lat 😊
🍾 Bottles + Wine: Com executar programes de Windows a Deepin
Què és Wine?
Wine (Wine Is Not an Emulator) és una capa de compatibilitat que permet executar aplicacions de Windows a Linux sense necessitat de màquina virtual. Tradueix les crides del sistema de Windows a crides de Linux en temps real.
Què és Bottles?
Bottles és un gestor gràfic de Wine. En lloc d’usar la línia d’ordres, Bottles et permet crear i gestionar «ampolles» (bottles) —que són entorns Windows independents— amb una interfície visual senzilla.
Cada ampolla té:
El seu propi Wine (pots triar versió)
Les seves dependències (VC++, .NET, fonts…)
La seva pròpia unitat C: virtual
🚀 Com usar Bottles
1. Crea una ampolla nova
A la pantalla principal (la de la teva captura), fes clic al botó «+» (dalt a l’esquerra).
Nom: posa-li un nom descriptiu (ex: «Photoshop», «7-Zip», «Joc»…)
Runari (Runner): selecciona Wine (o Soda/Wine-GE per a jocs)
Arquitectura: Win32 (32 bits) o Win64 (64 bits) —segons el programa
Fes clic a «Crea» ✅
2. Instal·la dependències (opcional però recomanat)
A la pestanya «Dependències» de l’ampolla, instal·la:
Fes clic a «Executa un executable» (o «Run Executable»)
Selecciona el fitxer .exe o .msi del programa
Segueix l’assistent d’instal·lació com si fossis a Windows
Un cop instal·lat, apareixerà a la llista de programes de l’ampolla
4. Executa’l
Des de la Biblioteca (Library) pots:
Fer clic al programa per obrir-lo
Afegir-lo a la biblioteca principal per accés ràpid
⚙️ Consells i trucs
📁 Compartir fitxers entre Linux i l’ampolla
A la pestanya «Preferències» → «Unitats», pots crear unitats (D:, E:…) que apuntin a carpetes del teu sistema Linux per compartir fitxers fàcilment.
🖥️ Escriptori virtual
Si un programa es veu malament, activa «Escriptori virtual» (Virtual Desktop) a les preferències. Això fa que el programa s’obri dins d’una finestra de Windows.
🔄 Canviar de Wine
Si un programa no funciona, prova amb un altre runner:
Wine — Versió estable
Soda — Optimitzat per a jocs
Wine-GE — Basat en Proton (per a jocs)
Pots instal·lar-los des de la pestanya «Runaris» (Runners) a la configuració global.
🐛 Problemes comuns
Problema
Solució
Text en quadrats
Instal·la cjkfonts i corefonts
El programa es tanca
Prova amb un altre runner o afegeix vcredist
No hi ha so
Instal·la faudio
Rendiment baix
Activa DXVK (per a jocs) o esync/fsync
📦 Exemple pràctic: Instal·lar 7-Zip
Crea una ampolla anomenada «7-Zip» amb Win64
Ves a Dependències → instal·la cjkfonts
Ves a Programes → Executa executable
Selecciona 7z2409-x64.exe (descarregat de 7-zip.org)
Miquel@Miquel-PC:~$ sudo -i root@Miquel-PC:~# tree -d -L 1 / / ├── bin -> usr/bin ├── boot ├── dev ├── etc ├── home ├── lib -> usr/lib ├── lib64 -> usr/lib64 ├── lost+found ├── media ├── mnt ├── opt ├── ostree ├── persistent ├── proc ├── root ├── run ├── sbin -> usr/sbin ├── srv ├── sys ├── sysroot ├── tmp ├── usr └── var
.
📂 Estructura del sistema de fitxers a Linux: Què gestiona cada directori de l’arrel (/)
Si alguna vegada has executat tree -d -L 1 / al terminal i t’has preguntat què fa cada un d’aquests directoris, aquí tens una guia ràpida i clara.
📁 /bin → usr/bin
Executables binaris essencials de l’usuari. Conté comandaments bàsics del sistema com ls, cp, mv, cat, echo, etc. A moltes distribucions modernes és un enllaç simbòlic a /usr/bin.
📁 /boot
Fitxers d’arrencada del sistema. Aquí hi trobem el kernel de Linux (vmlinuz), initrd.img (disc RAM inicial) i el carregador d’arrencada (GRUB). Sense aquest directori, el sistema no pot arrencar.
📁 /dev
Dispositius del sistema. Conté fitxers especials que representen dispositius de maquinari: discs durs (sda), particions (sda1), terminals (tty), etc. Linux tracta els dispositius com a fitxers.
📁 /etc
Fitxers de configuració del sistema. Aquí es guarden configuracions globals: usuaris i contrasenyes (passwd, shadow), configuració de xarxa, repositoris de programari, etc. És el «cervell» de la configuració del sistema.
📁 /home
Directoris personals dels usuaris. Cada usuari del sistema té la seva carpeta aquí (/home/usuari), on guarda documents, descàrregues, configuracions d’escriptori, etc.
📁 /lib → usr/lib
Llibreries compartides del sistema. Conté les llibreries essencials que necessiten els binaris de /bin i /sbin per funcionar. Sovint és un enllaç a /usr/lib.
📁 /lib64 → usr/lib64
Llibreries de 64 bits. Similar a /lib, però per a arquitectura de 64 bits. Enllaç simbòlic a /usr/lib64.
📁 /lost+found
Recuperació de fitxers. Cada partició ext4 té el seu propi lost+found. Si el sistema es bloqueja o es corromp, fsck hi recupera fitxers danyats.
📁 /media
Punts de muntatge per a dispositius extraïbles. Quan connectes un USB, un DVD o una targeta SD, el sistema els munta automàticament aquí.
📁 /mnt
Muntatge manual de dispositius. Tradicionalment, els administradors hi munten temporalment sistemes de fitxers (discos, xarxa, etc.) de forma manual.
📁 /opt
Programari opcional / de tercers. Aplicacions que no venen amb el gestor de paquets del sistema (com Google Chrome, VS Code, etc.) solen instal·lar-se aquí.
📁 /ostree
Sistema de fitxers immutable (OSTree). Usat per distribucions com Deepin/UOS amb sistemes atòmics. Permet gestionar actualitzacions de forma segura i reversible.
📁 /persistent
Dades persistents en sistemes live o read-only. En sistemes que arrenquen en mode live, aquí es guarden els canvis que es volen mantenir entre sessions.
📁 /proc
Sistema de fitxers virtual del kernel. Conté informació en temps real sobre processos i maquinari. No és un directori real al disc, sinó una interfície amb el kernel. Per exemple, /proc/cpuinfo mostra informació del processador.
📁 /root
Directori personal de l’usuari root (administrador). Equivalent a /home/root, però per a l’usuari superusuari. No es troba dins de /home per raons de seguretat.
📁 /run
Dades d’execució temporals. Conté fitxers temporals que es creen a l’inici del sistema, com PID de processos, sockets, etc. El directori es buida a cada reinici.
📁 /sbin → usr/sbin
Binaries d’administració del sistema. Comandaments que normalment només pot executar l’administrador (root): fdisk, mkfs, iptables, shutdown, etc.
📁 /srv
Dades de serveis del sistema. Per a servidors web, FTP, DNS, etc. Per exemple, /srv/www per a llocs web.
📁 /sys
Sistema de fitxers virtual del maquinari. Similar a /proc, però enfocat a informació estructurada dels dispositius, controladors i busos del sistema.
📁 /sysroot
Arrel del sistema en imatges de recuperació. Usat en entorns live o de recuperació, on conté el sistema de fitxers real que es repararà.
📁 /tmp
Fitxers temporals. Qualsevol programa o usuari hi pot crear fitxers temporals. Es buida habitualment en reiniciar el sistema.
📁 /usr
Programari compartit per a usuaris. És un dels directoris més grans. Conté:
Dades variables. Aquí es guarden fitxers que canvien de mida o contingut: logs del sistema (/var/log), bases de dades, cues d’impressió, cache de paquets (/var/cache), etc.
La comanda per veure els valors actuals de connexió a la corrent és:
gsettings get com.deepin.dde.power line-power-screen-black-delay && gsettings get com.deepin.dde.power line-power-sleep-delay && gsettings get com.deepin.dde.power line-power-lock-delay
Configuració Valor actual Temps actual line-power-screen-black-delay 900 –> 60×15 -> 15 minuts line-power-sleep-delay 1800 30 minuts line-power-lock-delay 900 15 minuts
Ara executa aquests 3 comandaments per canviar-ho tot a 2 hores:
gsettings set com.deepin.dde.power line-power-screen-black-delay 7200
gsettings set com.deepin.dde.power line-power-sleep-delay 7200
gsettings set com.deepin.dde.power line-power-lock-delay 7200
si vols que no s’apagui mai (connectat a la corrent):
gsettings set com.deepin.dde.power line-power-screen-black-delay 0
gsettings set com.deepin.dde.power line-power-sleep-delay 0
gsettings set com.deepin.dde.power line-power-lock-delay 0
Perfecte. Et deixo un procediment complet per a Deepin:
Eliminar totes les restes de Firefox
Tornar a instal·lar Firefox 153 en català (ca)
⚠️ Això elimina el perfil de Firefox: adreces, historial, contrasenyes, extensions, etc. Si vols conservar el perfil, fes primer la còpia opcional del pas 1.
ls -ld /opt/firefox
ls -l /usr/local/bin/firefox
ls -l /usr/share/applications/firefox.desktop
I per comprovar la versió:
firefox --version
o:
/opt/firefox/firefox --version
Nota important
Aquesta instal·lació amb .tar.bz2 és manual. Si vols actualitzacions automàtiques, és millor usar el repositori oficial de Mozilla, però llavors potser no quedarà fixada exactament la versió 153 si Mozilla ja ha publicat una versió més nova.
I tant! Afegim l’opció E) Imatge del sistema que ho copia tot (arrel / sencera, exclòs només els sistemes virtuals com /proc, /sys, /dev…). Necessita sudo, perquè hi ha fitxers de sistema que l’usuari normal no pot llegir.
Aquí tens l’script actualitzat sencer:
#!/bin/bash
#====================================================#
# BACKUP_MUT.SH - Còpia de seguretat i restauració #
# Compatible amb Deepin / Ubuntu / Debian #
#====================================================#
USUARI="$USER"
CASA="$HOME"
DATA="$(date +%Y-%m-%d_%H%M%S)"
CARPETA_BACKUPS="$CASA/Backups"
capcalera() {
clear
echo "=========================================="
echo " BACKUP_MUT - BACKUP I RESTAURACIÓ"
echo "=========================================="
echo
}
tria_origen() {
echo "Tria el directori ORIGEN:"
echo " A) $CASA (tot el directori d'usuari)"
echo " B) $CASA/Documents"
echo " C) $CASA/Pictures"
echo " D) $CASA/Downloads"
echo " E) Imatge del sistema (ho copia tot)"
echo " S) Firefox i sistema"
echo " R) Especificar ruta manualment"
echo
read -p "Opció [A/B/C/D/E/S/R]: " o
case "$o" in
a|A) ORIGEN="$CASA" ;;
b|B) ORIGEN="$CASA/Documents" ;;
c|C) ORIGEN="$CASA/Pictures" ;;
d|D) ORIGEN="$CASA/Downloads" ;;
e|E) ORIGEN="__IMATGE__" ;;
s|S) ORIGEN="__SISTEMA__" ;;
r|R) read -p "Introdueix la ruta completa del directori: " ORIGEN ;;
*) ORIGEN="" ;;
esac
}
tria_desti() {
echo
echo "Tria el DESTÍ de la còpia:"
echo " 1) $CARPETA_BACKUPS (disc intern)"
echo " 2) Unitat externa / USB (/media/$USUARI)"
echo " 3) Especificar ruta manualment"
read -p "Opció [1-3]: " d
case "$d" in
2) echo " Unitats detectades: $(ls /media/$USUARI 2>/dev/null)"
read -p " Nom de la unitat: " disc
DESTI="/media/$USUARI/$disc/Backups" ;;
3) read -p "Ruta completa de destí: " DESTI ;;
*) DESTI="$CARPETA_BACKUPS" ;;
esac
mkdir -p "$DESTI" 2>/dev/null
}
fer_backup() {
echo "--- MODE BACKUP ---"
echo
tria_origen
if [ -z "$ORIGEN" ]; then
echo "Opció no vàlida."
return 1
fi
tria_desti
if [ "$ORIGEN" = "__IMATGE__" ]; then
echo
echo "ATENCIO: Es copiarà TOT el sistema (excepte /proc, /sys,"
echo "/dev, /run, /media, /mnt i /tmp)."
echo "Calen permisos d'administrador (sudo) i pot trigar força."
echo "Comprova que el destí tingui prou espai lliure!"
echo
read -p "Vols continuar? [s/N]: " conf
if [ "$conf" != "s" ] && [ "$conf" != "S" ]; then
echo "Operació cancel·lada."
return 1
fi
if ! sudo -v; then
echo "Error: no s'han obtingut permisos d'administrador."
return 1
fi
FITXER="$DESTI/imatge_sistema_$DATA.tar.gz"
sudo tar -czpf "$FITXER" \
--directory=/ \
--exclude=./proc \
--exclude=./sys \
--exclude=./dev \
--exclude=./run \
--exclude=./media \
--exclude=./mnt \
--exclude=./tmp \
--exclude=./lost+found \
--exclude=".${DESTI}" \
.
elif [ "$ORIGEN" = "__SISTEMA__" ]; then
# Perfil de Firefox (deb o Flatpak) + llista de paquets instal·lats
FF="$CASA/.mozilla/firefox"
[ -d "$FF" ] || FF="$CASA/.var/app/org.mozilla.firefox/.mozilla/firefox"
LLISTA="/tmp/llista_paquets_$DATA.txt"
dpkg --get-selections > "$LLISTA" 2>/dev/null # Deepin = Debian
FITXER="$DESTI/backup_firefox_sistema_$DATA.tar.gz"
tar -czf "$FITXER" "$FF" "$LLISTA"
else
if [ ! -e "$ORIGEN" ]; then
echo "Error: '$ORIGEN' no existeix."
return 1
fi
NOM="$(basename "$ORIGEN")"
FITXER="$DESTI/backup_${NOM}_$DATA.tar.gz"
tar -czf "$FITXER" -C "$(dirname "$ORIGEN")" "$NOM" \
--exclude="Backups" \
--exclude=".cache" \
--exclude=".local/share/Trash"
fi
if [ $? -eq 0 ]; then
echo
echo "Còpia de seguretat creada correctament:"
echo " $FITXER ($(du -h "$FITXER" | cut -f1))"
else
echo "Error: no s'ha pogut crear la còpia."
fi
}
restaurar() {
echo "--- MODE RESTAURACIÓ ---"
echo
echo "On vols buscar les còpies?"
echo " 1) $CARPETA_BACKUPS (disc intern)"
echo " 2) Especificar carpeta manualment"
read -p "Opció [1-2]: " o
CARPETA="$CARPETA_BACKUPS"
[ "$o" = "2" ] && read -p "Carpeta: " CARPETA
echo
echo "Còpies disponibles:"
ls -1 "$CARPETA"/*.tar.gz 2>/dev/null | cat -n
echo
read -p "Número de la còpia a restaurar: " num
FITXER="$(ls -1 "$CARPETA"/*.tar.gz 2>/dev/null | sed -n "${num}p")"
if [ ! -f "$FITXER" ]; then
echo "Error: no s'ha trobat la còpia."
return 1
fi
# Cas especial: imatge completa del sistema
case "$(basename "$FITXER")" in
imatge_sistema*)
echo
echo "ATENCIO: Es sobreescriuran els fitxers del sistema actual."
echo "Recomanat fer-ho des d'un Live USB."
read -p "Vols continuar? [s/N]: " conf
if [ "$conf" = "s" ] || [ "$conf" = "S" ]; then
sudo tar -xzpf "$FITXER" -C / && echo "Imatge del sistema restaurada."
else
echo "Operació cancel·lada."
fi
return 0
;;
esac
read -p "On vols restaurar-ho? [$CASA]: " DEST
[ -z "$DEST" ] && DEST="$CASA"
mkdir -p "$DEST"
if tar -xzf "$FITXER" -C "$DEST"; then
echo "Restauració completada a: $DEST"
echo "(Els fitxers queden dins la seva subcarpeta original)"
else
echo "Error durant la restauració."
fi
}
#==================== PROGRAMA PRINCIPAL ====================
while true; do
capcalera
echo "1) Fer còpia de seguretat (backup)"
echo "2) Restaurar còpia de seguretat"
echo "3) Sortir"
echo
read -p "Tria una opció [1-3]: " op
case "$op" in
1) fer_backup ;;
2) restaurar ;;
3) echo "Adéu!"; exit 0 ;;
*) echo "Opció no vàlida" ;;
esac
echo
read -p "Prem ENTER per continuar..."
done
Per actualitzar el teu fitxer:
nano ~/.local/bin/backup_mut.sh
# (enganxa el codi nou, Ctrl+O per desar, Ctrl+X per sortir)
backup_mut.sh
Notes sobre l’opció E:
Et demanarà la contrasenya de sudo abans de començar.
Pot trigar molt de temps (depèn de la mida del disc) i el fitxer serà gran; millor desar-lo en un disc extern amb prou espai.
S’exclouen /proc, /sys, /dev, /run, /media, /mnt i /tmp perquè són sistemes virtuals o temporals que no s’han de copiar.
El fitxer .tar.gz resultant serà de propietat root (es crea amb sudo), però el podràs llegir i restaurar sense problemes.
La restauració de la imatge completa es fa sobre / i demana confirmació; idealment s’hauria de fer des d’un Live USB.
Com que ja tens diversos scripts de còpia de seguretat (backup_mut_new.sh, etc.), jo faria que aquest no copiés els fitxers directament, sinó que al final generés un únic fitxer comprimit:
LibreOffice26_Backup_2026-08-02_17-35.tar.zst
o bé
LibreOffice26_Backup_2026-08-02_17-35.tar.gz
Això ocupa menys espai, és més ràpid de copiar i és molt més còmode de restaurar. Crec que és la millor opció per conservar aquesta instal·lació de LibreOffice durant molt de temps.
sudo sh /dev/stdin: l’executa amb permisos de root
Un cop acabi, podràs obrir Calibre des del menú d’aplicacions o escrivint calibre al terminal.
Desinstal·lar calibre
sudo apt remove calibre
Visual Vode
Synology Assistan
backup_mut
correu electronic
Llibre d’0ffice
Backup_mut
#!/bin/bash
# Indica al sistema que aquest fitxer s'ha d'executar amb l'intèrpret Bash.
# ==========================================
# 1. CONFIGURACIÓ INICIAL I COLORS
# ==========================================
# Defineix codis de colors per fer la sortida del terminal més llegible
VERMELL='\033[0;31m'
VERD='\033[0;32m'
GROC='\033[1;33m'
BLAU='\033[0;34m'
NC='\033[0m' # NC = No Color (per tornar al color normal del terminal)
# Defineix les opcions per a la comanda rsync:
# -a: Mode arxiu (conserva estructura de carpetes, enllaços, etc.)
# -v: Verbose (mostra què està copiant)
# -h: Human-readable (mostra les mides en KB, MB, GB en lloc de bytes)
# --progress: Mostra una barra de progrés de la còpia
# --no-perms --no-owner --no-group: CLAU per a USBs! Ignora permisos Linux,
# ja que sistemes de fitxers com FAT32/exFAT no els suporten i donarien error.
RSYNC_OPTS="-avh --progress --no-perms --no-owner --no-group"
# Neteja la pantalla del terminal per començar amb una vista neta
clear
# ==========================================
# 2. MENÚ PRINCIPAL
# ==========================================
echo -e "${VERD}========================================${NC}"
echo -e "${VERD} BACKUP_MUT - BACKUP I RESTAURACIÓ ${NC}"
echo -e "${VERD}========================================${NC}"
echo ""
echo "1) Fer còpia de seguretat (backup)"
echo "2) Restaurar còpia de seguretat"
echo "3) Sortir"
echo ""
# Demana a l'usuari que esculli una opció i guarda la resposta a la variable 'opcio'
read -p "Tria una opció [1-3]: " opcio
# ==========================================
# 3. LÒGICA DE DECISIÓ (CASE)
# ==========================================
case $opcio in
1) # --- OPCIÓ 1: FER BACKUP ---
echo ""
echo -e "${GROC}--- MODE BACKUP ---${NC}"
# Demana les rutes d'origen i destí a l'usuari
read -p "Directori ORIGEN (ex: /home/Miquel/Pictures/Pict): " origen
read -p "Directori DESTÍ base (ex: /media/Miquel/Ventoy/backup_deepin): " desti_base
# Comprova si la carpeta d'origen existeix. Si no, mostra error i surt (exit 1)
if [ ! -d "$origen" ]; then
echo -e "${VERMELL}Error: El directori origen '$origen' no existeix.${NC}"
exit 1
fi
# Extreu només el nom de la carpeta final (ex: de "/home/Miquel/Fotos" extreu "Fotos")
nom_carpeta=$(basename "$origen")
# Construeix la ruta completa de destí (ex: /media/.../backup/Fotos)
desti="${desti_base}/${nom_carpeta}"
# Assegura que la ruta d'origen acabi amb '/' perquè rsync copiï el CONTINGUT i no la carpeta pare
[[ "$origen" != */ ]] && origen="${origen}/"
rsync_desti="${desti}/"
echo ""
echo -e "${VERD}Iniciant còpia de seguretat...${NC}"
echo "Origen: $origen"
echo "Destí: $rsync_desti"
echo ""
# EXECUCIÓ REAL DE LA CÒPIA
rsync $RSYNC_OPTS "$origen" "$rsync_desti"
# Crea un fitxer de text ocult amb metadades per saber d'on venia aquesta còpia i quan es va fer
echo -e "${BLAU}Guardant informació del backup...${NC}"
echo "ORIGEN=$origen" > "${desti}/backup_info"
echo "DATA=$(date +%Y-%m-%d_%H:%M:%S)" >> "${desti}/backup_info"
echo -e "${VERD}✅ Metadades guardades a ${desti}/backup_info${NC}"
;;
2) # --- OPCIÓ 2: RESTAURAR BACKUP ---
echo ""
echo -e "${GROC}--- MODE RESTAURACIÓ ---${NC}"
# Demana on és la carpeta de backup al USB
read -p "Directori ORIGEN (backup complet) (ex: /media/Miquel/Ventoy/backup_deepin/Pict/): " origen
if [ ! -d "$origen" ]; then
echo -e "${VERMELL}Error: El directori_origen '$origen' no existeix.${NC}"
exit 1
fi
[[ "$origen" != */ ]] && origen="${origen}/"
fitxer_info="${origen}backup_info"
# Comprova si existeix el fitxer de metadades que vam crear al fer el backup
if [ -f "$fitxer_info" ]; then
# Llegeix el fitxer per saber on s'ha de restaurar i quan es va fer
origen_original=$(grep "^ORIGEN=" "$fitxer_info" | cut -d'=' -f2-)
data_backup=$(grep "^DATA=" "$fitxer_info" | cut -d'=' -f2-)
# Calcula automàticament on s'ha de posar (recrea l'estructura original)
desti_base=$(dirname "$origen_original")
nom_carpeta=$(basename "$origen")
desti="${desti_base}/${nom_carpeta}"
rsync_desti="${desti}/"
echo ""
echo -e "${BLAU}📋 Informació del backup trobada:${NC}"
echo -e " Origen original: ${VERD}$origen_original${NC}"
echo -e " Data del backup: ${VERD}$data_backup${NC}"
echo ""
echo -e "${BLAU}🔄 Restauració automàtica:${NC}"
echo -e " Des de: ${VERD}$origen${NC}"
echo -e " Cap a: ${VERD}$rsync_desti${NC}"
echo ""
# Demana confirmació abans de sobreescriure
read -p "Vols continuar? (s/n): " confirma
if [ "$confirma" != "s" ] && [ "$confirma" != "S" ]; then
echo "Operació cancel·lada."
exit 0
fi
echo ""
echo -e "${VERD}Iniciant restauració...${NC}"
# EXECUCIÓ REAL DE LA RESTAURACIÓ
rsync $RSYNC_OPTS "$origen" "$rsync_desti"
else
# Si no hi ha metadades, fallback manual (menys intel·ligent)
echo -e "${GROC}⚠ No s'ha trobat fitxer de metadades. Hauràs d'introduir el destí manualment.${NC}"
read -p "Directori DESTÍ base (ex: /home/Miquel/Pictures): " desti_base
nom_carpeta=$(basename "$origen")
desti="${desti_base}/${nom_carpeta}"
rsync_desti="${desti}/"
echo ""
echo -e "${VERD}Iniciant restauració...${NC}"
echo "Origen: $origen"
echo "Destí: $rsync_desti"
echo ""
rsync $RSYNC_OPTS "$origen" "$rsync_desti"
fi
;;
3) # --- OPCIÓ 3: SORTIR ---
echo "Adéu!"
exit 0
;;
*) # --- OPCIÓ NO VÀLIDA ---
echo -e "${VERMELL}Opció no vàlida.${NC}"
exit 1
;;
esac
# Missatge final de comiat
echo ""
echo -e "${VERD}✅ Operació finalitzada!${NC}"
AppServ (de windows)
Amb molt de gust! 😊 Et deixo el text preparat perquè el puguis copiar i enganxar directament a una entrada de WordPress. He procurat que tingui un format de documentació, com una guia de consulta.
Instal·lació d’un entorn de desenvolupament LAMP a Deepin 25
Després d’instal·lar Apache, PHP, MariaDB i phpMyAdmin a Deepin 25, és útil saber on es troba cada component del sistema.
A diferència de Windows (AppServ, XAMPP, WAMP…), a Linux cada servei es guarda en el directori estàndard del sistema.
Equivalència amb AppServ
Component
AppServ (Windows)
Deepin 25
Servidor Web (Apache)
C:\AppServ\Apache24\
/etc/apache2/
Carpeta Web (www)
C:\AppServ\www\
/var/www/html/
PHP
C:\AppServ\php\
/usr/bin/php + /etc/php/8.4/
MariaDB
C:\AppServ\MySQL\
/var/lib/mysql/
phpMyAdmin
C:\AppServ\www\phpMyAdmin\
/usr/share/phpmyadmin/
Configuració phpMyAdmin
dins del programa
/etc/phpmyadmin/
ls -lh /etc/php/8.4/apache2/php*.ini
Miquel@Miquel-PC:~$ ls -lh /etc/php/8.4/apache2/php*.ini -rw-r–r– 1 root root 68K de jul. 21 20:15 /etc/php/8.4/apache2/php.ini -rw-r–r– 1 root root 68K de jul. 22 12:01 /etc/php/8.4/apache2/php_saved.ini Miquel@Miquel-PC:~$
D’aquesta manera podem accedir als projectes mitjançant:
http://localhost/polidic/
http://localhost/wordpress/
8. Directoris més importants
Directori
Funció
/etc/apache2/
Configuració d’Apache
/var/www/html/
Carpeta web principal
/usr/bin/php
Executable PHP
/etc/php/8.4/
Configuració de PHP
/var/lib/mysql/
Bases de dades MariaDB
/usr/share/phpmyadmin/
Programa phpMyAdmin
/etc/phpmyadmin/
Configuració phpMyAdmin
/var/log/apache2/
Registres d’Apache
Conclusions
Deepin (igual que Debian i Ubuntu) distribueix cada component del servidor en el seu directori corresponent. Això pot semblar menys intuïtiu que AppServ o XAMPP, però ofereix molts avantatges:
configuració més clara i modular;
actualitzacions independents de cada component;
més estabilitat i seguretat;
estructura estàndard compartida per la majoria de distribucions Linux.
Un cop coneguda aquesta organització, administrar un servidor LAMP resulta tan senzill com treballar amb AppServ a Windows, amb l’avantatge d’utilitzar l’estructura estàndard de Linux.
Espero que aquesta guia et sigui útil. Ha estat un plaer ajudar-te a deixar el teu Deepin preparat com a entorn de desenvolupament. Bon treball amb Polidic! 🚀
D’aquesta manera podràs accedir-hi amb una URL com http://localhost/polidic/, molt semblant al que feies amb AppServ.
Quan vulguis, també et puc ajudar a configurar VirtualHosts perquè puguis obrir els teus projectes amb adreces encara més còmodes, per exemple:
http://polidic.local
http://wordpress.local
És una configuració molt pràctica per treballar en desenvolupament i és la que acostumen a fer servir molts desenvolupadors Linux.
Directament, no es pot instal·lar AppServ de manera nativa a Deepin (ni a cap altra distribució Linux moderna). Tot i que algunes fonts antigues esmenten un suport teòric per a Linux, els instal·ladors actuals d’AppServ són fitxers .exe dissenyats exclusivament per a l’entorn Windows [[44]].
No et preocupis, però: com que Deepin està basat en Debian, tens alternatives molt millors, més segures i totalment integrades per aconseguir exactament el mateix resultat (un servidor web amb Apache, PHP, base de dades i phpMyAdmin).
Aquí tens les millors opcions per al teu sistema:
1. Entorn LAMP natiu (Opció més recomanada)
És l’estàndard de la indústria en entorns Linux. En lloc d’un instal·lador de tercers, utilitzes els paquets oficials de Deepin, la qual cosa garanteix major estabilitat i actualitzacions de seguretat automàtiques. Obre la terminal i executa:
Actualitza la llista de paquets:
sudo apt update
Instal·la el servidor web Apache:
sudo apt install apache2
Per comprovar si Apache està instal·lat a Deepin i on es troba, executa aquestes comandes a la terminal:
1. Comprovar si Apache està instal·lat
apache2 -v
o
dpkg -l | grep apache2
Si està instal·lat, veuràs la versió. Si no, dirà que no es troba la ordre.
Això et dirà on estan els fitxers web (normalment /var/www/html).
5. Comprovar si el port 80 està escoltant
sudo netstat -tlnp | grep :80
o
sudo ss -tlnp | grep :80
Resum ràpid: Executa apache2 -v per saber si està instal·lat i sudo systemctl status apache2 per saber si està funcionant. Si vols veure la pàgina per defecte, ves a http://localhost al navegador.
Instal·la el servidor de base de dades (MariaDB, el substitut directe i compatible de MySQL a Debian/Deepin):
sudo apt install mariadb-server
Instal·la PHP i els mòduls necessaris per connectar amb la base de dades:
sudo apt install php libapache2-mod-php php-mysql
(Opcional) Instal·la phpMyAdmin per gestionar les bases de dades des del navegador:
sudo apt install phpmyadmin
Nota: Durant la instal·lació, quan et pregunti, prem la barra espaiadora per seleccionar apache2 i després Enter. També et demanarà configurar una contrasenya per a l’administrador de la base de dades.
Un cop finalitzat, pots comprovar que tot funciona obrint el navegador i visitant http://localhost. Els teus fitxers web aniran a la carpeta /var/www/html/.
2. XAMPP per a Linux (Alternativa «tot en un»)
Si prefereixes una experiència més semblant a la d’AppServ (un sol paquet que instal·la tot de cop), XAMPP ofereix una versió oficial per a Linux. El pots descarregar des del lloc web d’Apache Friends i executar l’instal·lador .run des de la terminal. Tot i això, la comunitat de desenvolupament sol recomanar l’opció LAMP nativa, ja que XAMPP a vegades pot donar problemes de permisos o no rebre actualitzacions tan àgils com el gestor de paquets apt.
3. Docker (Per a entorns aïllats)
Com a estudiant de ciències de la computació, és molt probable que en el futur valoris tenir entorns aïllats. Pots fer servir Docker per desplegar un contenidor LAMP amb una sola ordre, sense instal·lar res directament al teu sistema operatiu Deepin, mantenint-lo net i sense conflictes entre projectes.
Resum: Descarta AppServ per a Linux. La instal·lació nativa de LAMP mitjançant la terminal de Deepin és el camí més ràpid, professional i lliure de problemes de permisos a llarg termini. Si necessites ajuda per configurar qualsevol d’aquests passos, no dubtis a dir-m’ho!
1. Donar-li permisos d’execució (si és un script o un programa):
chmod +x /home/Miquel/Desktop/backup_mut
2. Executar l’arxiu:
/home/Miquel/Desktop/backup_mut
Trobar les unitats instal·lades a Deepin
Segueix aquests passos:
lsblk
Si prefereixes una llista més simple de carpetes, també pots provar:
ls -la /media/admin/
o
ls -la /run/media/admin/
2. Copiar la carpeta
Un cop sàpigues el nom exacte de la carpeta del Kingston (per exemple, diguem que es diu KINGSTON), la comanda per copiar la carpeta Miquel sencera, mantenint tots els permisos i dates originals, serà així:
sudo cp -a /media/admin/KINGSTON/backup_deepin/Miquel /home/
Pas final i definitiu: Corregir els permisos
Com que vam veure abans que la carpeta nova havia quedat amb propietari admin, ara hem de dir-li al sistema que aquesta carpeta li pertany realment a l’usuari Miquel. Si no ho fem, quan intentis entrar amb l’usuari Miquel, l’escriptori Deepin podria donar errors o no carregar bé.
Executa aquestes dues comandes, una darrere l’altra:
1. Donar la propietat a l’usuari i grup Miquel (de forma recursiva, a tot el que hi ha dins):
sudo chown -R Miquel:Miquel /home/Miquel
2. Assegurar que la carpeta principal tingui els permisos de seguretat correctes (només el propietari hi pot entrar):
sudo chmod 700 /home/Miquel
3. Comprovació final:
ls -la /home/
Un cop vegis això, ja ho tens! Pots tancar la sessió de l’admin i iniciar sessió amb l’usuari Miquel. Hauria de ser exactament com ho tenies abans, amb totes les teves configuracions, documents i el Firefox al seu lloc.
Fes aquests passos i confirma’m que la línia ja surt correcta. Estem a la recta final!
Llistat de 60 estris Comandes de Linux
15 Comandes per accedir a fitxers
pwd: Mostrar la ubicació del directori on actualment estem ubicats.
ls: Mostrar la llista de fitxers i directoris continguts dins un directori especificat.
rmdir: Eliminar un únic directori, sempre que estigui buit.
cat: Mostrar el contingut de qualsevol tipus de fitxer a la pantalla.
head: Mostra les primeres línies d’un fitxer, especificant el nombre de línies a mostrar.
tail: Mostra les darreres línies d’un fitxer, especificant el nombre de línies a mostrar.
less: Cerca dins del contingut d’un fitxer de forma interactiva.
more: Cerca dins del contingut d’un fitxer forma interactiva.
grep: Buscar i visualitzar cadenes de caràcters en fitxers o en resultats d’ordres.
11 Comandes per administrar el Sistema Operatiu
uname: Mostrar informació sobre el SO, incloent el Kernel carregat en aquell moment.
df: Mostrar informació sobre el SA, les particions i l’ús de l’espai del disc actual.
free: Mostrar informació variada sobre la utilització de la memòria del sistema operatiu gestionat.
top: Mostrar els processos en execució, més informació sobre el CPU, la Memòria RAM i més.
htop: Similar a l’ordre top, però amb una interfície visual CLI renovada, millorada i interactiva.
ps: Mostrar els processos en execució al SO de forma detallada i no interactiva.
kill: Ieliminar processos en execució, mitjançant el nombre de processos (PID) assignat.
shutdown: Gestionar el SO per realitzar accions, com ara: Apagar-lo, Reiniciar-lo, i Aturar-lo.
reboot: Una versió nova i millorada dl’ordre shutdown, amb més opcions disponibles.
uptime: Visualitzar quant de temps ha estat funcionant el SO des de la darrera arrencada.
last: Mostra una llista d’inicis de sessió (d’usuaris) recents al sistema operatiu.
10 Ordres per gestionar informació d’elements i dispositius de HW
lsblk: Mostra informació sobre tots els dispositius demmagatzematge disponibles.
fdisk: Gestionar (crea, elimina i modifica) particions sobre els dispositius disponibles.
mount: Muntar (conecta) un sistema de fitxers sobre el directori d’un dispositiu existent.
umount: Desmuntar (desconnecta) un sistema de fitxers gestionat amb l’ordre umount.
hdparm: Administrar els paràmetres de maquinari dels dispositius de disc disponibles.
lshw: Veure la informació del HW del SO, inclosa la informació sobre els dispositius actuals.
lsusb: Veure informació específica sobre els dispositius USB actuals al SO.
lspci: Mostrar informació específica sobre els dispositius PCI actuals al SO.
lscpu: Mostrar informació específica sobre el CPU utilitzat al SO i la seva arquitectura.
dmesg: Mostrar informació interna gestionada pel Kernel, incloent-hi l’associada al HW.
14 Comandes per gestionar la informació d’elements i processos de xarxa
ip: Gestionar tota la informació associada a les interfícies de xarxa, en SO moderns.
ifconfig: Gestionar tota la informació associada a les interfícies de xarxa a SO antics.
iwconfig: Gestionar la informació associada a les interfícies sense fil d’un sistema operatiu.
nmcli: Gestionar la informació de les interfícies de xarxa via NetworkManager.
wpa_cli: Gestionar la informació de les interfícies de xarxa sense fils via WPASupplicant.
ping: Verificar la connexió actual cap a altres amfitrions de la xarxa mitjançant el protocol ICMP.
route: Gestionar la taula d’encaminament IP per establir rutes estàtiques cap a host i xarxes.
traceroute: Inrutar paquets de dades dun sistema a un altre host a través duna xarxa.
nslookup: Comprovar la informació de DNS sobre altres hosts, de manera interactiva.
dig: Consulteu servidors de noms DNS per solucionar problemes de DNS.
netstat: Veure la informació sobre les connexions de xarxa actualment actives al sistema, i més.
iptables: Gestionar les taules de regles de filtratge de paquets IPv4 i IPv6 del nucli Linux.
resolvctl: Gestionar noms de domini, adreces IPv4 /IPv6 i registres de recursos DNS.
mii-tool: Gestionar l’estat de la unitat d’interfície independent de mitjans (MII) d’una interfície de xarxa per negociar automàticament la velocitat de lenllaç i la configuració dúplex.
10 Comandes per gestionar els processos en execució i la informació relacionada
fg: Activar en un procés determinat la seva execució en primer pla (foreground).
bg: Activar en un procés determinat la seva execució en segon pla (background).
pstree: Mostrar la llista de processos en forma d’arbre mostrant les relacions entre ells.
nice: Establir la prioritat dels processos en execució en un SO.
renice: Canviar la prioritat dels processos, establertes amb l’ordre nice.
nohup: Executar un procés en segon pla (background) sense veure’s afectat per la senyal HUP.
disown: Dconnecteu els processos que s’executen en segon pla i el terminal que els executa.
fork: Crear processos (fills) a partir de la duplicació de la trucada d’un altre procés (pare).
pidfd_open: Facilitar la obtenció dun descriptor de fitxer que es refereixi a un procés.
clone:Ggenerar processos (fills) d’una forma similar a la usada amb l’ordre fork, però amb la diferència que, aquestes trucades al sistema brinden un control més precís sobre el desitjat.
Fins aquí, els nostres 60 Comandes de Linux idonis per conèixer, aprendre i utilitzar per aquest any 2023. No obstant això, en cas de desitjar saber més sobre cadascun daquests, simplement sha de fer clic sobre el nom de cada ordre. I si no, per a aquests i altres més, es pot explorar directament la secció oficial a les Manpages de Debian GNU/Linux, la qual té diverses documentacions en diferents idiomes.