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.
Eines → Opcions → LibreOffice → Aparença. Clica Afegeix més temes. (es un botonet extrany que hi ha a la dreta. Potser el tema s’ha de descarregar e instal·lar. Cerca Light Teal. Instal·la’l i reinicia LibreOffice.
Tens tota la raó! Si sda3 està en NTFS, podria ser la partició de Windows o una partició de dades compartida. No la formategis fins que estiguem segurs del que hi ha.
Opció més segura: Crear una nova partició ext4 dins de l’espai de Linux
Pas 1: Identificar les particions actuals
Obre una terminal i executa:
sudo fdisk -l
o
lsblk -f
Això ens mostrarà totes les particions i quin sistema de fitxers té cadascuna.
Device Start End Sectors Size Type
/dev/sda1 2048 206847 204800 100M EFI System
/dev/sda2 206848 239615 32768 16M Microsoft reserved
/dev/sda3 239616 726601727 726362112 346,4G Microsoft basic data
/dev/sda4 997756928 1000214527 2457600 1,2G Windows recovery environment
/dev/sda5 726601728 997756927 271155200 129,3G Linux filesystem
Perfecte! Tenies tota la raó! Mira l’estructura del teu disc:
/dev/sda3 (346,4G) → WINDOWS ⚠️
/dev/sda5 (129,3G) → LINUX/DEEPIN ✅
Si formateges sda3, esborraràs Windows!
De moment ho possaré a un USB abans de trobar de afegir una partició amb Live USB
Solucions segures:
Opció 1: Crear una partició nova dins de Linux (Recomanat)
Has de redimensionar sda5 (Linux) per crear espai per al backup:
Necessitaràs un Live USB de Deepin/Ubuntu per modificar la partició arrel
Redimensiona sda5: redueix-la uns 50-100 GB
Crea una nova partició ext4 amb l’espai alliberat
Format ext4 i l’etiquetes com «Backups»
Opció 2: Utilitzar un disc extern USB
Connecta un disc dur extern o USB amb prou espai i fes el backup allà.
Opció 3: Comprovar espai lliure a sda5
Executa això per veure quant espai lliure tens ja dins de Linux:
df -h /home
Si tens prou espai lliure dins de la teva partició de Linux, pots crear una carpeta específica per als backups allà mateix.
Quina opció prefereixes?
Pas 2: Redimensionar la partició de Linux
Obre GParted (necessitaràs un Live USB si vols modificar la partició arrel mentre el sistema està en ús)
Redimensiona la partició ext4 de Linux per alliberar espai (per exemple, 50-100 GB per als backups)
Crea una nova partició ext4 en l’espai alliberat
Pas 3: Alternativament, utilitzar una partició existent
Si ja tens una partició ext4 amb espai lliure, simplement selecciona-la a l’eina de backup en lloc de sda3.
Abans de fer res, executa lsblk -f a la terminal i enganxa’m el resultat. Així podrem veure exactament quines particions tens i quina és la més segura per utilitzar.