diff --git a/docs/books/disa_stig/disa_stig_part1.it.md b/docs/books/disa_stig/disa_stig_part1.it.md index 91d2af1b71..76dd552f56 100644 --- a/docs/books/disa_stig/disa_stig_part1.it.md +++ b/docs/books/disa_stig/disa_stig_part1.it.md @@ -22,7 +22,7 @@ tags: ## Introduzione -In questa guida verrà illustrato come applicare la [DISA STIG per RHEL8](https://www.stigviewer.com/stig/red_hat_enterprise_linux_8/) per una nuova installazione di Rocky Linux. Come serie in più parti, tratteremo anche come testare la conformità STIG, adattare le impostazioni STIG e applicare altri contenuti STIG in questo ambiente. +In questa guida verrà illustrato come applicare il [DISA STIG per RHEL8](https://stigviewer.com/stigs/red_hat_enterprise_linux_8) per una nuova installazione di Rocky Linux 8. Come serie in più parti, tratteremo anche come testare la conformità STIG, adattare le impostazioni STIG e applicare altri contenuti STIG in questo ambiente. Rocky Linux è un derivato bug per bug di RHEL e come tale il contenuto pubblicato per il DISA RHEL8 STIG è in parità per entrambi i sistemi operativi. Una notizia ancora migliore è che l'applicazione delle impostazioni STIG è integrata nel programma di installazione di Rocky Linux 8 anaconda, sotto la voce Profili di Sicurezza. Il tutto è gestito da uno strumento chiamato [OpenSCAP](https://www.open-scap.org/), che consente sia di configurare il sistema in modo che sia conforme alla DISA STIG (velocemente!), sia di testare la conformità del sistema dopo l'installazione. diff --git a/docs/books/disa_stig/disa_stig_part3.it.md b/docs/books/disa_stig/disa_stig_part3.it.md index cb6c8af433..776e84f5f2 100644 --- a/docs/books/disa_stig/disa_stig_part3.it.md +++ b/docs/books/disa_stig/disa_stig_part3.it.md @@ -12,7 +12,7 @@ tags: # Introduzione -Nella prima parte di questa serie, abbiamo spiegato come costruire il nostro server web con la STIG RHEL8 DISA di base applicata e, nella seconda parte, abbiamo imparato a testare la conformità STIG con lo strumento OpenSCAP. Ora faremo qualcosa con il sistema, costruendo una semplice applicazione web e applicando la STIG del server web DISA: https://www.stigviewer.com/stig/web_server/ +Nella prima parte di questa serie, abbiamo spiegato come costruire il nostro server web con la STIG RHEL8 DISA di base applicata e, nella seconda parte, abbiamo imparato a testare la conformità STIG con lo strumento OpenSCAP. Ora faremo qualcosa con il sistema, costruendo una semplice applicazione web e applicando il web server DISA STIG: [https://stigviewer.com/stigs/apache_server_2.4_unix_server](https://stigviewer.com/stigs/apache_server_2.4_unix_server) Per prima cosa confrontiamo ciò che stiamo affrontando: la STIG DISA di RHEL 8 è indirizzata a una piattaforma molto specifica, quindi i controlli sono abbastanza facili da capire in quel contesto, da testare e da applicare. Le STIG delle applicazioni devono essere portabili su più piattaforme, quindi il contenuto qui presente è generico per funzionare su diverse distribuzioni Linux (RHEL, Ubuntu, SuSE, ecc.)**. Strumenti come OpenSCAP non ci aiutano a verificare/recuperare la configurazione. Andremo a farlo manualmente. Questi STIG sono: diff --git a/docs/books/sed_awk_grep/2_grep_command.it.md b/docs/books/sed_awk_grep/2_grep_command.it.md index 91f32bc28a..8e71ca890f 100644 --- a/docs/books/sed_awk_grep/2_grep_command.it.md +++ b/docs/books/sed_awk_grep/2_grep_command.it.md @@ -1,7 +1,7 @@ --- title: Comando Grep author: tianci li -contributors: null +contributors: tags: - grep --- diff --git a/docs/books/sed_awk_grep/2_grep_command.uk.md b/docs/books/sed_awk_grep/2_grep_command.uk.md index 6729c1e654..2a9dee9943 100644 --- a/docs/books/sed_awk_grep/2_grep_command.uk.md +++ b/docs/books/sed_awk_grep/2_grep_command.uk.md @@ -1,7 +1,7 @@ --- title: Команда Grep author: tianci li -contributors: null +contributors: tags: - grep --- diff --git a/docs/books/sed_awk_grep/3_sed_command.it.md b/docs/books/sed_awk_grep/3_sed_command.it.md index 21e56286d2..02b9aacd72 100644 --- a/docs/books/sed_awk_grep/3_sed_command.it.md +++ b/docs/books/sed_awk_grep/3_sed_command.it.md @@ -1,7 +1,7 @@ --- title: Comando Sed author: tianci li -contributors: null +contributors: tags: - sed --- @@ -68,446 +68,416 @@ sed [OPTION]... {script-only-if-no-other-script} [input-file]... 1. Associa e visualizza (`p`) - - Visualizza le righe che iniziano con la stringa netbios - - ```bash - Shell > cat /etc/services | sed -n '/^netbios/p' - netbios-ns 137/tcp # NETBIOS Name Service - netbios-ns 137/udp - netbios-dgm 138/tcp # NETBIOS Datagram Service - netbios-dgm 138/udp - netbios-ssn 139/tcp # NETBIOS session service - netbios-ssn 139/udp - ``` - - !!! tip "Suggerimento" - - ``` - Come sappiamo bene, le virgolette doppie e singole in una shell ricoprono ruoli differenti. I caratteri **$**, **\`** e **\\** tra virgolette doppie hanno un significato speciale. Il consiglio è utilizzare le virgolette singole più spesso con il comando `sed`. - ``` - - - Visualizza il testo da riga 23 a riga 26 - - ```bash - Shell > cat -n /etc/services | sed -n '23,26p' - 23 tcpmux 1/tcp # TCP port service multiplexer - 24 tcpmux 1/udp # TCP port service multiplexer - 25 rje 5/tcp # Remote Job Entry - 26 rje 5/udp # Remote Job Entry - ``` - - - Visualizza solo le righe dispari - - ```bash - Shell > cat -n /etc/services | sed -n '1~2p' - 1 # /etc/services: - 3 # - 5 # IANA services version: last updated 2016-07-08 - 7 # Note that it is presently the policy of IANA to assign a single well-known - 9 # even if the protocol doesn't support UDP operations. - 11 # are included, only the more common ones. - 13 # The latest IANA port assignments can be gotten from - 15 # The Well Known Ports are those from 0 through 1023. - 17 # The Dynamic and/or Private Ports are those from 49152 through 65535 - 19 # Each line describes one service, and is of the form: - ... - ``` - - - Visualizza dalla riga 10 fino all'ultima riga - - ```bash - Shell > cat -n /etc/services | sed -n '10,$p' - 10 # Updated from RFC 1700, ``Assigned Numbers'' (October 1994). Not all ports - 11 # are included, only the more common ones. - 12 # - 13 # The latest IANA port assignments can be gotten from - 14 # http://www.iana.org/assignments/port-numbers - 15 # The Well Known Ports are those from 0 through 1023. - 16 # The Registered Ports are those from 1024 through 49151 - 17 # The Dynamic and/or Private Ports are those from 49152 through 65535 - ... - ``` - - - Non visualizzare dalla riga 10 in poi - - ```bash - Shell > cat -n /etc/services | sed -n '10,$!p' - 1 # /etc/services: - 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $ - 3 # - 4 # Network services, Internet style - 5 # IANA services version: last updated 2016-07-08 - 6 # - 7 # Note that it is presently the policy of IANA to assign a single well-known - 8 # port number for both TCP and UDP; hence, most entries here have two entries - 9 # even if the protocol doesn't support UDP operations. - ``` - - - Visualizza il numero di riga e il contenuto della stringa corrispondente - - ```bash - Shell > sed -n -e '/netbios/=' -e '/netbios/p' /etc/services - 123 - netbios-ns 137/tcp # NETBIOS Name Service - 124 - netbios-ns 137/udp - 125 - netbios-dgm 138/tcp # NETBIOS Datagram Service - 126 - netbios-dgm 138/udp - 127 - netbios-ssn 139/tcp # NETBIOS session service - 128 - netbios-ssn 139/udp - ``` - - - Trova le corrispondenze nell'elenco delle stringhe e lo visualizza - - Utilizzare la virgola per separare l'elenco delle stringhe di ricerca - - ```bash - Shell > cat /etc/services | sed -n '/^netbios/,/^imap/p' - netbios-ns 137/tcp # NETBIOS Name Service - netbios-ns 137/udp - netbios-dgm 138/tcp # NETBIOS Datagram Service - netbios-dgm 138/udp - netbios-ssn 139/tcp # NETBIOS session service - netbios-ssn 139/udp - imap 143/tcp imap2 # Interim Mail Access Proto v2 - ``` - - !!! info "Informazione" - - ``` - **Stringa iniziale**: Abbina la riga in cui si trova la stringa, mostrando solo la prima stringa che compare. - **Stringa finale**: Abbina la riga in cui si trova la stringa, mostrando solo la prima stringa che compare. - ``` - - ```bash - Shell > grep -n ^netbios /etc/services - 123:netbios-ns 137/tcp # NETBIOS Name Service - 124:netbios-ns 137/udp - 125:netbios-dgm 138/tcp # NETBIOS Datagram Service - 126:netbios-dgm 138/udp - 127:netbios-ssn 139/tcp # NETBIOS session service - 128:netbios-ssn 139/udp - - Shell > grep -n ^imap /etc/services - 129:imap 143/tcp imap2 # Interim Mail Access Proto v2 - 130:imap 143/udp imap2 - 168:imap3 220/tcp # Interactive Mail Access - 169:imap3 220/udp # Protocol v3 - 260:imaps 993/tcp # IMAP over SSL - 261:imaps 993/udp # IMAP over SSL - ``` - - In altre parole, i contenuti sopra visualizzati sono le righe dalla 123 alla 129 - - - Visualizza dalla riga in cui si trova la stringa fino all'ultima riga - - ```bash - Shell > cat /etc/services | sed -n '/^netbios/,$p' - ``` - - - Usare le variabili negli script bash - - ```bash - Shell > vim test1.sh - #!/bin/bash - a=10 - - sed -n ''${a}',$!p' /etc/services - # or - sed -n "${a},\$!p" /etc/services - ``` - - - Espressione regolare - - Abbina soltanto Tre "Digits" + "/udp". - - ```bash - Shell > cat /etc/services | sed -r -n '/[^0-9]([1-9]{3}\/udp)/p' - sunrpc 111/udp portmapper rpcbind # RPC 4.0 portmapper UDP - auth 113/udp authentication tap ident - sftp 115/udp - uucp-path 117/udp - nntp 119/udp readnews untp # USENET News Transfer Protocol - ntp 123/udp # Network Time Protocol - netbios-ns 137/udp - netbios-dgm 138/udp - netbios-ssn 139/udp - ... - ``` + - Visualizza le righe che iniziano con la stringa netbios + + ```bash + Shell > cat /etc/services | sed -n '/^netbios/p' + netbios-ns 137/tcp # NETBIOS Name Service + netbios-ns 137/udp + netbios-dgm 138/tcp # NETBIOS Datagram Service + netbios-dgm 138/udp + netbios-ssn 139/tcp # NETBIOS session service + netbios-ssn 139/udp + ``` + + !!! tip "Suggerimento" + + ``` + Come sappiamo bene, le virgolette doppie e singole in una shell ricoprono ruoli differenti. I caratteri **$**, **\`** e **\\** tra virgolette doppie hanno un significato speciale. Il consiglio è utilizzare le virgolette singole più spesso con il comando `sed`. + ``` + + - Visualizza il testo da riga 23 a riga 26 + + ```bash + Shell > cat -n /etc/services | sed -n '23,26p' + 23 tcpmux 1/tcp # TCP port service multiplexer + 24 tcpmux 1/udp # TCP port service multiplexer + 25 rje 5/tcp # Remote Job Entry + 26 rje 5/udp # Remote Job Entry + ``` + + - Visualizza solo le righe dispari + + ```bash + Shell > cat -n /etc/services | sed -n '1~2p' + 1 # /etc/services: + 3 # + 5 # IANA services version: last updated 2016-07-08 + 7 # Note that it is presently the policy of IANA to assign a single well-known + 9 # even if the protocol doesn't support UDP operations. + 11 # are included, only the more common ones. + 13 # The latest IANA port assignments can be gotten from + 15 # The Well Known Ports are those from 0 through 1023. + 17 # The Dynamic and/or Private Ports are those from 49152 through 65535 + 19 # Each line describes one service, and is of the form: + ... + ``` + + - Visualizza dalla riga 10 fino all'ultima riga + + ```bash + Shell > cat -n /etc/services | sed -n '10,$p' + 10 # Updated from RFC 1700, ``Assigned Numbers'' (October 1994). Not all ports + 11 # are included, only the more common ones. + 12 # + 13 # The latest IANA port assignments can be gotten from + 14 # http://www.iana.org/assignments/port-numbers + 15 # The Well Known Ports are those from 0 through 1023. + 16 # The Registered Ports are those from 1024 through 49151 + 17 # The Dynamic and/or Private Ports are those from 49152 through 65535 + ... + ``` + + - Non visualizzare dalla riga 10 in poi + + ```bash + Shell > cat -n /etc/services | sed -n '10,$!p' + 1 # /etc/services: + 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $ + 3 # + 4 # Network services, Internet style + 5 # IANA services version: last updated 2016-07-08 + 6 # + 7 # Note that it is presently the policy of IANA to assign a single well-known + 8 # port number for both TCP and UDP; hence, most entries here have two entries + 9 # even if the protocol doesn't support UDP operations. + ``` + + - Visualizza il numero di riga e il contenuto della stringa corrispondente + + ```bash + Shell > sed -n -e '/netbios/=' -e '/netbios/p' /etc/services + 123 + netbios-ns 137/tcp # NETBIOS Name Service + 124 + netbios-ns 137/udp + 125 + netbios-dgm 138/tcp # NETBIOS Datagram Service + 126 + netbios-dgm 138/udp + 127 + netbios-ssn 139/tcp # NETBIOS session service + 128 + netbios-ssn 139/udp + ``` + + - Trova le corrispondenze nell'elenco delle stringhe e lo visualizza + + Utilizzare la virgola per separare l'elenco delle stringhe di ricerca + + ```bash + Shell > cat /etc/services | sed -n '/^netbios/,/^imap/p' + netbios-ns 137/tcp # NETBIOS Name Service + netbios-ns 137/udp + netbios-dgm 138/tcp # NETBIOS Datagram Service + netbios-dgm 138/udp + netbios-ssn 139/tcp # NETBIOS session service + netbios-ssn 139/udp + imap 143/tcp imap2 # Interim Mail Access Proto v2 + ``` + + !!! info "Informazione" + + ``` + **Stringa iniziale**: Abbina la riga in cui si trova la stringa, mostrando solo la prima stringa che compare. + **Stringa finale**: Abbina la riga in cui si trova la stringa, mostrando solo la prima stringa che compare. + ``` + + ```bash + Shell > grep -n ^netbios /etc/services + 123:netbios-ns 137/tcp # NETBIOS Name Service + 124:netbios-ns 137/udp + 125:netbios-dgm 138/tcp # NETBIOS Datagram Service + 126:netbios-dgm 138/udp + 127:netbios-ssn 139/tcp # NETBIOS session service + 128:netbios-ssn 139/udp + + Shell > grep -n ^imap /etc/services + 129:imap 143/tcp imap2 # Interim Mail Access Proto v2 + 130:imap 143/udp imap2 + 168:imap3 220/tcp # Interactive Mail Access + 169:imap3 220/udp # Protocol v3 + 260:imaps 993/tcp # IMAP over SSL + 261:imaps 993/udp # IMAP over SSL + ``` + + In altre parole, i contenuti sopra visualizzati sono le righe dalla 123 alla 129 + + - Visualizza dalla riga in cui si trova la stringa fino all'ultima riga + + ```bash + Shell > cat /etc/services | sed -n '/^netbios/,$p' + ``` + + - Usare le variabili negli script bash + + ```bash + Shell > vim test1.sh + #!/bin/bash + a=10 + + sed -n ''${a}',$!p' /etc/services + # or + sed -n "${a},\$!p" /etc/services + ``` + + - Espressione regolare + + Abbina soltanto Tre "Digits" + "/udp". + + ```bash + Shell > cat /etc/services | sed -r -n '/[^0-9]([1-9]{3}\/udp)/p' + sunrpc 111/udp portmapper rpcbind # RPC 4.0 portmapper UDP + auth 113/udp authentication tap ident + sftp 115/udp + uucp-path 117/udp + nntp 119/udp readnews untp # USENET News Transfer Protocol + ntp 123/udp # Network Time Protocol + netbios-ns 137/udp + netbios-dgm 138/udp + netbios-ssn 139/udp + ... + ``` 2. Associa ed elimina (`d`) - È simile alla stampa, tranne per il fatto che il comando operation è sostituito da `d` e l'opzione -n non è richiesta. - - - Elimina tutte le righe corrispondenti alla stringa udp, ed elimina tutte le righe di commento o vuote - - ```bash - Shell > sed -e '/udp/d' -e '/^#/d' -e '/^$/d' /etc/services - tcpmux 1/tcp # TCP port service multiplexer - rje 5/tcp # Remote Job Entry - echo 7/tcp - discard 9/tcp sink null - systat 11/tcp users - daytime 13/tcp - qotd 17/tcp quote - chargen 19/tcp ttytst source - ftp-data 20/tcp - ftp 21/tcp - ssh 22/tcp # The Secure Shell (SSH) Protocol - telnet 23/tcp - ... - ``` - - - Elimina le righe successive a quella specificata - - ```bash - Shell > cat -n /etc/services | sed '10,$d' - 1 # /etc/services: - 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $ - 3 # - 4 # Servizi di rete, stile di Internet - 5 # Versione dei servizi di IANA: ultimo aggiornamento 2016-07-08 - 6 # - 7 # Nota che al momento la politica di IANA assegna un singolo ben noto - 8 # numero di porta sia per TCP che UDP; dunque, la maggior parte delle voci, qui, contiene due elementi - 9 # anche se il protocollo non supporta le operazioni UDP. - ``` - - - Espressione regolare - - ```bash - Shell > cat /etc/services | sed -r '/(tcp)|(udp)|(^#)|(^$)/d' - http 80/sctp # HyperText Transfer Protocol - bgp 179/sctp - https 443/sctp # http protocol over TLS/SSL - h323hostcall 1720/sctp # H.323 Call Control - nfs 2049/sctp nfsd shilp # Network File System - rtmp 1/ddp # Routing Table Maintenance Protocol - nbp 2/ddp # Name Binding Protocol - echo 4/ddp # AppleTalk Echo Protocol - zip 6/ddp # Zone Information Protocol - discard 9/sctp # Discard - discard 9/dccp # Discard SC:DISC - ... - ``` + È simile alla stampa, tranne per il fatto che il comando operation è sostituito da `d` e l'opzione -n non è richiesta. + + - Elimina tutte le righe corrispondenti alla stringa udp, ed elimina tutte le righe di commento o vuote + + ```bash + Shell > sed -e '/udp/d' -e '/^#/d' -e '/^$/d' /etc/services + tcpmux 1/tcp # TCP port service multiplexer + rje 5/tcp # Remote Job Entry + echo 7/tcp + discard 9/tcp sink null + systat 11/tcp users + daytime 13/tcp + qotd 17/tcp quote + chargen 19/tcp ttytst source + ftp-data 20/tcp + ftp 21/tcp + ssh 22/tcp # The Secure Shell (SSH) Protocol + telnet 23/tcp + ... + ``` + + - Elimina le righe successive a quella specificata + + ```bash + Shell > cat -n /etc/services | sed '10,$d' + 1 # /etc/services: + 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $ + 3 # + 4 # Servizi di rete, stile di Internet + 5 # Versione dei servizi di IANA: ultimo aggiornamento 2016-07-08 + 6 # + 7 # Nota che al momento la politica di IANA assegna un singolo ben noto + 8 # numero di porta sia per TCP che UDP; dunque, la maggior parte delle voci, qui, contiene due elementi + 9 # anche se il protocollo non supporta le operazioni UDP. + ``` + + - Espressione regolare + + ```bash + Shell > cat /etc/services | sed -r '/(tcp)|(udp)|(^#)|(^$)/d' + http 80/sctp # HyperText Transfer Protocol + bgp 179/sctp + https 443/sctp # http protocol over TLS/SSL + h323hostcall 1720/sctp # H.323 Call Control + nfs 2049/sctp nfsd shilp # Network File System + rtmp 1/ddp # Routing Table Maintenance Protocol + nbp 2/ddp # Name Binding Protocol + echo 4/ddp # AppleTalk Echo Protocol + zip 6/ddp # Zone Information Protocol + discard 9/sctp # Discard + discard 9/dccp # Discard SC:DISC + ... + ``` 3. Sostituire stringhe (`s///g`) - | Sintassi | Descrizione della sintassi | - | :---------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - | `sed 's/string/replace/g' FILENAME` | **s**: Tutte le righe da considerare nel file. Si può anche specificare un intervallo di righe, ad esempio: `sed '20,200s/netbios/TMP/g' /etc/services. **g** (globale): Se non c'è g, significa che quando più stringhe corrispondenti appaiono su una singola riga, viene sostituita solo la prima stringa corrispondente. **/**: Stile delimitatore. Si possono anche specificare altri stili, ad esempio:`sed '20,200s?netbios?TMP?g' /etc/services\` | - - !!! tip "Suggerimento" - - ```` - Esempio nello script bash: - - ```bash - Shell > vim /root/sedReplace.sh - #!/bin/bash - a="SELINUX=enforcing" - b="SELINUX=disabled" - - sed -i 's/'${a}'/'${b}'/g' /etc/selinux/config - # or - sed -i "s/${a}/${b}/g" /etc/selinux/config - ``` - ```` - - - Sostituisci e visualizza - - ```bash - Shell > sed -n '44,45s/ssh/SSH/gp' /etc/services - SSH 22/tcp - SSH 22/udp - ``` - - - Si utilizza il simbolo "&" come riferimento a una stringa - - ```bash - Shell > sed -n '44,45s/ssh/&-SSH/gp' /etc/services - ssh-SSH 22/tcp - ssh-SSH 22/udp - ``` - - - Utilizza una stringa per individuare una o più righe e sostituire la stringa specificata entro l'intervallo di righe - - ```bash - Shell > grep ssh /etc/services -n - 44:ssh 22/tcp # The Secure Shell (SSH) Protocol - 45:ssh 22/udp # The Secure Shell (SSH) Protocol - 551:x11-ssh-offset 6010/tcp # SSH X11 forwarding offset - 593:ssh 22/sctp # SSH - 1351:sshell 614/tcp # SSLshell - 1352:sshell 614/udp # SSLshell - 1607:netconf-ssh 830/tcp # NETCONF over SSH - 1608:netconf-ssh 830/udp # NETCONF over SSH - 7178:sdo-ssh 3897/tcp # Simple Distributed Objects over SSH - 7179:sdo-ssh 3897/udp # Simple Distributed Objects over SSH - 7791:netconf-ch-ssh 4334/tcp # NETCONF Call Home (SSH) - 8473:snmpssh 5161/tcp # SNMP over SSH Transport Model - 8474:snmpssh-trap 5162/tcp # SNMP Notification over SSH Transport Model - 9126:tl1-ssh 6252/tcp # TL1 over SSH - 9127:tl1-ssh 6252/udp # TL1 over SSH - 10796:ssh-mgmt 17235/tcp # SSH Tectia Manager - 10797:ssh-mgmt 17235/udp # SSH Tectia Manager - - Shell > sed '/ssh/s/tcp/TCP/gp' -n /etc/services - ssh 22/TCP # The Secure Shell (SSH) Protocol - x11-ssh-offset 6010/TCP # SSH X11 forwarding offset - sshell 614/TCP # SSLshell - netconf-ssh 830/TCP # NETCONF over SSH - sdo-ssh 3897/TCP # Simple Distributed Objects over SSH - netconf-ch-ssh 4334/TCP # NETCONF Call Home (SSH) - snmpssh 5161/TCP # SNMP over SSH Transport Model - snmpssh-trap 5162/TCP # SNMP Notification over SSH Transport Model - tl1-ssh 6252/TCP # TL1 over SSH - ssh-mgmt 17235/TCP # SSH Tectia Manager - ``` - - - Sostituire una stringa per righe consecutive - - ```bash - Shell > sed '10,30s/tcp/TCP/g' /etc/services - ``` - - - Impostare più match e sostituzioni - - ```bash - Shell > cat /etc/services | sed 's/netbios/test1/g ; s/^#//d ; s/dhcp/&t2/g' - ``` - - - Sostituzione di gruppo con espressioni regolari - - Nelle espressioni regolari, ogni "()" è un raggruppamento. \1 rappresenta il riferimento al gruppo 1, \2 rappresenta il riferimento al gruppo 2, e così via. - - ```bash - Shell > cat /etc/services - ... - axio-disc 35100/tcp # Axiomatic discovery protocol - axio-disc 35100/udp # Axiomatic discovery protocol - pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API - cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive - cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System - spremotetablet 46998/tcp # Capture handwritten signatures - - Shell > cat /etc/services | sed -r 's/([0-9]*\/tcp)/\1\tCONTENT1/g ; s/([0-9]*\/udp)/\1\tADD2/g' - ... - axio-disc 35100/tcp CONTENT1 # Axiomatic discovery protocol - axio-disc 35100/udp ADD2 # Axiomatic discovery protocol - pmwebapi 44323/tcp CONTENT1 # Performance Co-Pilot client HTTP API - cloudcheck-ping 45514/udp ADD2 # ASSIA CloudCheck WiFi Management keepalive - cloudcheck 45514/tcp CONTENT1 # ASSIA CloudCheck WiFi Management System - spremotetablet 46998/tcp CONTENT1 # Capture handwritten signatures - ``` - - **\t**: è il carattere di tabulazione - - - Sostituisce tutte le righe di commento con il carattere blank space - - ```bash - Shell > cat /etc/services | sed -r 's/(^#.*)//g' - ... - chargen 19/udp ttytst source - ftp-data 20/tcp - ftp-data 20/udp - - ftp 21/tcp - ftp 21/udp fsp fspd - ssh 22/tcp # The Secure Shell (SSH) Protocol - ssh 22/udp # The Secure Shell (SSH) Protocol - ... - ``` - - - Sostituire un carattere alfabetico in minuscolo in maiuscolo - - ```bash - Shell > echo -e "hello,world\nPOSIX" | sed -r 's/(.*)w/\1W/g' - hello,World - POSIX - ``` - - - Scambiare di posizione le stringhe - - ```bash - Shell > cat /etc/services - ... - cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive - cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System - spremotetablet 46998/tcp # Capture handwritten signatures - ``` - - Possiamo strutturare le righe del file in cinque parti: - - ```txt - cloudcheck-ping 45514 / udp # ASSIA CloudCheck WiFi Management keepalive - ↓ ↓ ↓ ↓ ↓ - (.*) (\<[0-9]+\>) \/ (tcp|udp) (.*) - ↓ ↓ ↓ ↓ - \1 \2 \3 \4 - ``` - - ```bash - Shell > cat /etc/services | sed -r 's/(.*)(\<[0-9]+\>)\/(tcp|udp)(.*)/\1\3\/\2\4/g' - ... - edi_service udp/34567 # dhanalakshmi.org EDI Service - axio-disc tcp/35100 # Axiomatic discovery protocol - axio-disc udp/35100 # Axiomatic discovery protocol - pmwebapi tcp/44323 # Performance Co-Pilot client HTTP API - cloudcheck-ping udp/45514 # ASSIA CloudCheck WiFi Management keepalive - cloudcheck tcp/45514 # ASSIA CloudCheck WiFi Management System - spremotetablet tcp/46998 # Capture handwritten signatures - ``` - - - Rimuovere tutti i spazi - - ```bash - Shell > echo -e "abcd\t1 2 3 4\tWorld" - abcd 1 2 3 4 World - Shell > echo -e "abcd\t1 2 3 4\tWorld" | sed -r 's/(\s)*//g' - abcd1234World - ``` + | Sintassi | Descrizione della sintassi | + | :---------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | + | `sed 's/string/replace/g' FILENAME` | **s**: Tutte le righe da considerare nel file. Si può anche specificare un intervallo di righe, ad esempio: `sed '20,200s/netbios/TMP/g' /etc/services. **g** (globale): Se non c'è g, significa che quando più stringhe corrispondenti appaiono su una singola riga, viene sostituita solo la prima stringa corrispondente. **/**: Stile delimitatore. Si possono anche specificare altri stili, ad esempio:`sed '20,200s?netbios?TMP?g' /etc/services\` | + + !!! tip "Suggerimento" + + ```` + Esempio nello script bash: + + ```bash + Shell > vim /root/sedReplace.sh + #!/bin/bash + a="SELINUX=enforcing" + b="SELINUX=disabled" + + sed -i 's/'${a}'/'${b}'/g' /etc/selinux/config + # or + sed -i "s/${a}/${b}/g" /etc/selinux/config + ``` + ```` + + - Sostituisci e visualizza + + ```bash + Shell > sed -n '44,45s/ssh/SSH/gp' /etc/services + SSH 22/tcp + SSH 22/udp + ``` + + - Si utilizza il simbolo "&" come riferimento a una stringa + + ```bash + Shell > sed -n '44,45s/ssh/&-SSH/gp' /etc/services + ssh-SSH 22/tcp + ssh-SSH 22/udp + ``` + + - Utilizza una stringa per individuare una o più righe e sostituire la stringa specificata entro l'intervallo di righe + + ```bash + Shell > grep ssh /etc/services -n + 44:ssh 22/tcp # The Secure Shell (SSH) Protocol + 45:ssh 22/udp # The Secure Shell (SSH) Protocol + 551:x11-ssh-offset 6010/tcp # SSH X11 forwarding offset + 593:ssh 22/sctp # SSH + 1351:sshell 614/tcp # SSLshell + 1352:sshell 614/udp # SSLshell + 1607:netconf-ssh 830/tcp # NETCONF over SSH + 1608:netconf-ssh 830/udp # NETCONF over SSH + 7178:sdo-ssh 3897/tcp # Simple Distributed Objects over SSH + 7179:sdo-ssh 3897/udp # Simple Distributed Objects over SSH + 7791:netconf-ch-ssh 4334/tcp # NETCONF Call Home (SSH) + 8473:snmpssh 5161/tcp # SNMP over SSH Transport Model + 8474:snmpssh-trap 5162/tcp # SNMP Notification over SSH Transport Model + 9126:tl1-ssh 6252/tcp # TL1 over SSH + 9127:tl1-ssh 6252/udp # TL1 over SSH + 10796:ssh-mgmt 17235/tcp # SSH Tectia Manager + 10797:ssh-mgmt 17235/udp # SSH Tectia Manager + + Shell > sed '/ssh/s/tcp/TCP/gp' -n /etc/services + ssh 22/TCP # The Secure Shell (SSH) Protocol + x11-ssh-offset 6010/TCP # SSH X11 forwarding offset + sshell 614/TCP # SSLshell + netconf-ssh 830/TCP # NETCONF over SSH + sdo-ssh 3897/TCP # Simple Distributed Objects over SSH + netconf-ch-ssh 4334/TCP # NETCONF Call Home (SSH) + snmpssh 5161/TCP # SNMP over SSH Transport Model + snmpssh-trap 5162/TCP # SNMP Notification over SSH Transport Model + tl1-ssh 6252/TCP # TL1 over SSH + ssh-mgmt 17235/TCP # SSH Tectia Manager + ``` + + - Sostituire una stringa per righe consecutive + + ```bash + Shell > sed '10,30s/tcp/TCP/g' /etc/services + ``` + + - Impostare più match e sostituzioni + + ```bash + Shell > cat /etc/services | sed 's/netbios/test1/g ; s/^#//d ; s/dhcp/&t2/g' + ``` + + - Sostituzione di gruppo con espressioni regolari + + Nelle espressioni regolari, ogni "()" è un raggruppamento. \1 rappresenta il riferimento al gruppo 1, \2 rappresenta il riferimento al gruppo 2, e così via. + + ```bash + Shell > cat /etc/services + ... + axio-disc 35100/tcp # Axiomatic discovery protocol + axio-disc 35100/udp # Axiomatic discovery protocol + pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API + cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive + cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + spremotetablet 46998/tcp # Capture handwritten signatures + + Shell > cat /etc/services | sed -r 's/([0-9]*\/tcp)/\1\tCONTENT1/g ; s/([0-9]*\/udp)/\1\tADD2/g' + ... + axio-disc 35100/tcp CONTENT1 # Axiomatic discovery protocol + axio-disc 35100/udp ADD2 # Axiomatic discovery protocol + pmwebapi 44323/tcp CONTENT1 # Performance Co-Pilot client HTTP API + cloudcheck-ping 45514/udp ADD2 # ASSIA CloudCheck WiFi Management keepalive + cloudcheck 45514/tcp CONTENT1 # ASSIA CloudCheck WiFi Management System + spremotetablet 46998/tcp CONTENT1 # Capture handwritten signatures + ``` + + **\t**: è il carattere di tabulazione + + - Sostituisce tutte le righe di commento con il carattere blank space + + ```bash + Shell > cat /etc/services | sed -r 's/(^#.*)//g' + ... + chargen 19/udp ttytst source + ftp-data 20/tcp + ftp-data 20/udp + + ftp 21/tcp + ftp 21/udp fsp fspd + ssh 22/tcp # The Secure Shell (SSH) Protocol + ssh 22/udp # The Secure Shell (SSH) Protocol + ... + ``` + + - Sostituire un carattere alfabetico in minuscolo in maiuscolo + + ```bash + Shell > echo -e "hello,world\nPOSIX" | sed -r 's/(.*)w/\1W/g' + hello,World + POSIX + ``` + + - Scambiare di posizione le stringhe + + ```bash + Shell > cat /etc/services + ... + cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive + cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + spremotetablet 46998/tcp # Capture handwritten signatures + ``` + + Possiamo strutturare le righe del file in cinque parti: + + ```txt + cloudcheck-ping 45514 / udp # ASSIA CloudCheck WiFi Management keepalive + ↓ ↓ ↓ ↓ ↓ + (.*) (\<[0-9]+\>) \/ (tcp|udp) (.*) + ↓ ↓ ↓ ↓ + \1 \2 \3 \4 + ``` + + ```bash + Shell > cat /etc/services | sed -r 's/(.*)(\<[0-9]+\>)\/(tcp|udp)(.*)/\1\3\/\2\4/g' + ... + edi_service udp/34567 # dhanalakshmi.org EDI Service + axio-disc tcp/35100 # Axiomatic discovery protocol + axio-disc udp/35100 # Axiomatic discovery protocol + pmwebapi tcp/44323 # Performance Co-Pilot client HTTP API + cloudcheck-ping udp/45514 # ASSIA CloudCheck WiFi Management keepalive + cloudcheck tcp/45514 # ASSIA CloudCheck WiFi Management System + spremotetablet tcp/46998 # Capture handwritten signatures + ``` + + - Rimuovere tutti i spazi + + ```bash + Shell > echo -e "abcd\t1 2 3 4\tWorld" + abcd 1 2 3 4 World + Shell > echo -e "abcd\t1 2 3 4\tWorld" | sed -r 's/(\s)*//g' + abcd1234World + ``` 4. Eseguire più volte seq utilizzando l'opzione -e - Nell'esempio seguente: - - ```bash - Shell > tail -n 10 /etc/services - aigairserver 21221/tcp # Services for Air Server - ka-kdp 31016/udp # Kollective Agent Kollective Delivery - ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery - edi_service 34567/udp # dhanalakshmi.org EDI Service - axio-disc 35100/tcp # Axiomatic discovery protocol - axio-disc 35100/udp # Axiomatic discovery protocol - pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API - cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive - cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System - spremotetablet 46998/tcp # Capture handwritten signatures - - Shell > tail -n 10 /etc/services | sed -e '1,3d' -e '/cloud/s/ping/PING/g' - # or - Shell > tail -n 10 /etc/services | sed '1,3d ; /cloud/s/ping/PING/g' - edi_service 34567/udp # dhanalakshmi.org EDI Service - axio-disc 35100/tcp # Axiomatic discovery protocol - axio-disc 35100/udp # Axiomatic discovery protocol - pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API - cloudcheck-PING 45514/udp # ASSIA CloudCheck WiFi Management keepalive - cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System - spremotetablet 46998/tcp # Capture handwritten signatures - ``` - -5. Aggiungere contenuti sopra o sotto una certa riga (`i` e `a`) - - - Aggiungi due righe sopra la riga specificata dal numero di riga + Nell'esempio seguente: ```bash - Shell > tail -n 10 /etc/services > /root/test.txt - Shell > cat /root/test.txt + Shell > tail -n 10 /etc/services aigairserver 21221/tcp # Services for Air Server ka-kdp 31016/udp # Kollective Agent Kollective Delivery ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery @@ -519,318 +489,348 @@ sed [OPTION]... {script-only-if-no-other-script} [input-file]... cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System spremotetablet 46998/tcp # Capture handwritten signatures - Shell > cat /root/test.txt | sed '3i 123\ - abc' - aigairserver 21221/tcp # Services for Air Server - ka-kdp 31016/udp # Kollective Agent Kollective Delivery - 123 - abc - ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery + Shell > tail -n 10 /etc/services | sed -e '1,3d' -e '/cloud/s/ping/PING/g' + # or + Shell > tail -n 10 /etc/services | sed '1,3d ; /cloud/s/ping/PING/g' edi_service 34567/udp # dhanalakshmi.org EDI Service axio-disc 35100/tcp # Axiomatic discovery protocol axio-disc 35100/udp # Axiomatic discovery protocol pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API - cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive + cloudcheck-PING 45514/udp # ASSIA CloudCheck WiFi Management keepalive cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System spremotetablet 46998/tcp # Capture handwritten signatures ``` - - Aggiungere tre righe sotto la riga specificata dal numero - - ```bash - Shell > cat /root/test.txt | sed '5a 123\ - comment yes\ - tcp or udp' - aigairserver 21221/tcp # Services for Air Server - ka-kdp 31016/udp # Kollective Agent Kollective Delivery - ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery - edi_service 34567/udp # dhanalakshmi.org EDI Service - axio-disc 35100/tcp # Axiomatic discovery protocol - 123 - comment yes - tcp or udp - axio-disc 35100/udp # Axiomatic discovery protocol - pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API - cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive - cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System - spremotetablet 46998/tcp # Capture handwritten signatures - ``` - - - Trovare le righe che contengono una stringa e aggiungere 2 righe di testo sopra ognuna +5. Aggiungere contenuti sopra o sotto una certa riga (`i` e `a`) - ```bash - Shell > cat /root/test.txt | sed '/tcp/iTCP\ - UDP' - TCP - UDP + - Aggiungi due righe sopra la riga specificata dal numero di riga + + ```bash + Shell > tail -n 10 /etc/services > /root/test.txt + Shell > cat /root/test.txt + aigairserver 21221/tcp # Services for Air Server + ka-kdp 31016/udp # Kollective Agent Kollective Delivery + ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery + edi_service 34567/udp # dhanalakshmi.org EDI Service + axio-disc 35100/tcp # Axiomatic discovery protocol + axio-disc 35100/udp # Axiomatic discovery protocol + pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API + cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive + cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + spremotetablet 46998/tcp # Capture handwritten signatures + + Shell > cat /root/test.txt | sed '3i 123\ + abc' + aigairserver 21221/tcp # Services for Air Server + ka-kdp 31016/udp # Kollective Agent Kollective Delivery + 123 + abc + ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery + edi_service 34567/udp # dhanalakshmi.org EDI Service + axio-disc 35100/tcp # Axiomatic discovery protocol + axio-disc 35100/udp # Axiomatic discovery protocol + pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API + cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive + cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + spremotetablet 46998/tcp # Capture handwritten signatures + ``` + + - Aggiungere tre righe sotto la riga specificata dal numero + + ```bash + Shell > cat /root/test.txt | sed '5a 123\ + comment yes\ + tcp or udp' aigairserver 21221/tcp # Services for Air Server ka-kdp 31016/udp # Kollective Agent Kollective Delivery - TCP - UDP ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery edi_service 34567/udp # dhanalakshmi.org EDI Service - TCP - UDP axio-disc 35100/tcp # Axiomatic discovery protocol + 123 + comment yes + tcp or udp axio-disc 35100/udp # Axiomatic discovery protocol - TCP - UDP pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive - TCP - UDP cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System - TCP - UDP spremotetablet 46998/tcp # Capture handwritten signatures ``` -6. Sostituire righe (\`c) + - Trovare le righe che contengono una stringa e aggiungere 2 righe di testo sopra ognuna + + ```bash + Shell > cat /root/test.txt | sed '/tcp/iTCP\ + UDP' + TCP + UDP + aigairserver 21221/tcp # Services for Air Server + ka-kdp 31016/udp # Kollective Agent Kollective Delivery + TCP + UDP + ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery + edi_service 34567/udp # dhanalakshmi.org EDI Service + TCP + UDP + axio-disc 35100/tcp # Axiomatic discovery protocol + axio-disc 35100/udp # Axiomatic discovery protocol + TCP + UDP + pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API + cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive + TCP + UDP + cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + TCP + UDP + spremotetablet 46998/tcp # Capture handwritten signatures + ``` - - Individua una o più righe contenenti una stringa e sostituire con righe di testo +6. Sostituire righe (\`c) - ```bash - Shell > cat /root/test.txt | sed '/ser/c\TMP1 \ - TMP2' - TMP1 - TMP2 - ka-kdp 31016/udp # Kollective Agent Kollective Delivery - ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery - TMP1 - TMP2 - axio-disc 35100/tcp # Axiomatic discovery protocol - axio-disc 35100/udp # Axiomatic discovery protocol - pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API - cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive - cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System - spremotetablet 46998/tcp # Capture handwritten signatures - ``` + - Individua una o più righe contenenti una stringa e sostituire con righe di testo + + ```bash + Shell > cat /root/test.txt | sed '/ser/c\TMP1 \ + TMP2' + TMP1 + TMP2 + ka-kdp 31016/udp # Kollective Agent Kollective Delivery + ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery + TMP1 + TMP2 + axio-disc 35100/tcp # Axiomatic discovery protocol + axio-disc 35100/udp # Axiomatic discovery protocol + pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API + cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive + cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + spremotetablet 46998/tcp # Capture handwritten signatures + ``` + + - Sostituire una singola riga + + ```bash + Shell > cat /root/test.txt | sed '7c REPLACE' + aigairserver 21221/tcp # Services for Air Server + ka-kdp 31016/udp # Kollective Agent Kollective Delivery + ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery + edi_service 34567/udp # dhanalakshmi.org EDI Service + axio-disc 35100/tcp # Axiomatic discovery protocol + axio-disc 35100/udp # Axiomatic discovery protocol + REPLACE + cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive + cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + spremotetablet 46998/tcp # Capture handwritten signatures + ``` + + - Sostituire righe consecutive di testo + + ```bash + Shell > cat /root/test.txt | sed '2,$c REPLACE1 \ + replace2' + aigairserver 21221/tcp # Services for Air Server + REPLACE1 + replace2 + ``` + + - Sostituire tutte le righe di posizione pari + + ```bash + Shell > cat /root/test.txt | sed '2~2c replace' + aigairserver 21221/tcp # Services for Air Server + replace + ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery + replace + axio-disc 35100/tcp # Axiomatic discovery protocol + replace + pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API + replace + cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + replace + ``` - - Sostituire una singola riga +7. Leggere le righe del file e aggiungere del testo sotto la riga corrispondente (`r`) ```bash - Shell > cat /root/test.txt | sed '7c REPLACE' + Shell > cat /root/app.txt + append1 + POSIX + UNIX + + Shell > cat /root/test.txt | sed '/ping/r /root/app.txt' aigairserver 21221/tcp # Services for Air Server ka-kdp 31016/udp # Kollective Agent Kollective Delivery ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery edi_service 34567/udp # dhanalakshmi.org EDI Service axio-disc 35100/tcp # Axiomatic discovery protocol axio-disc 35100/udp # Axiomatic discovery protocol - REPLACE + pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive + append1 + POSIX + UNIX cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System spremotetablet 46998/tcp # Capture handwritten signatures ``` - - Sostituire righe consecutive di testo - - ```bash - Shell > cat /root/test.txt | sed '2,$c REPLACE1 \ - replace2' - aigairserver 21221/tcp # Services for Air Server - REPLACE1 - replace2 - ``` - - - Sostituire tutte le righe di posizione pari - - ```bash - Shell > cat /root/test.txt | sed '2~2c replace' - aigairserver 21221/tcp # Services for Air Server - replace - ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery - replace - axio-disc 35100/tcp # Axiomatic discovery protocol - replace - pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API - replace - cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System - replace - ``` - -7. Leggere le righe del file e aggiungere del testo sotto la riga corrispondente (`r`) - - ```bash - Shell > cat /root/app.txt - append1 - POSIX - UNIX - - Shell > cat /root/test.txt | sed '/ping/r /root/app.txt' - aigairserver 21221/tcp # Services for Air Server - ka-kdp 31016/udp # Kollective Agent Kollective Delivery - ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery - edi_service 34567/udp # dhanalakshmi.org EDI Service - axio-disc 35100/tcp # Axiomatic discovery protocol - axio-disc 35100/udp # Axiomatic discovery protocol - pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API - cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive - append1 - POSIX - UNIX - cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System - spremotetablet 46998/tcp # Capture handwritten signatures - ``` - 8. Trascrivere le righe con un match in un altro file (`w`) - ```bash - Shell > cat /root/test.txt | sed '/axio/w /root/storage.txt' - - Shell > cat /root/storage.txt - axio-disc 35100/tcp # Axiomatic discovery protocol - axio-disc 35100/udp # Axiomatic discovery protocol - ``` - -9. Leggere/aggiungere la riga successiva di input nel "pattern space"(`n` e `N`) - - - Visualizza la riga successiva alla riga trovata - ```bash - Shell > cat /root/test.txt - aigairserver 21221/tcp # Services for Air Server - ka-kdp 31016/udp # Kollective Agent Kollective Delivery - ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery - edi_service 34567/udp # dhanalakshmi.org EDI Service + Shell > cat /root/test.txt | sed '/axio/w /root/storage.txt' + + Shell > cat /root/storage.txt axio-disc 35100/tcp # Axiomatic discovery protocol axio-disc 35100/udp # Axiomatic discovery protocol - pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API - cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive - cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System - spremotetablet 46998/tcp # Capture handwritten signatures - - Shell > cat /root/test.txt | sed '/ping/{n;p}' -n - cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System ``` - !!! tip "Suggerimento" - - ``` - Più comandi `sed` potrebbero influenzarsi a vicenda, per ridurre questa eventualità utilizzare "**{ }**". - ``` - - - Visualizzare righe di testo pari +9. Leggere/aggiungere la riga successiva di input nel "pattern space"(`n` e `N`) - Prima, legge la prima riga, essendo presente un comando `n`, la seconda riga sarà visualizzata, e così via. + - Visualizza la riga successiva alla riga trovata + + ```bash + Shell > cat /root/test.txt + aigairserver 21221/tcp # Services for Air Server + ka-kdp 31016/udp # Kollective Agent Kollective Delivery + ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery + edi_service 34567/udp # dhanalakshmi.org EDI Service + axio-disc 35100/tcp # Axiomatic discovery protocol + axio-disc 35100/udp # Axiomatic discovery protocol + pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API + cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive + cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + spremotetablet 46998/tcp # Capture handwritten signatures + + Shell > cat /root/test.txt | sed '/ping/{n;p}' -n + cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + ``` + + !!! tip "Suggerimento" + + ``` + Più comandi `sed` potrebbero influenzarsi a vicenda, per ridurre questa eventualità utilizzare "**{ }**". + ``` + + - Visualizzare righe di testo pari + + Prima, legge la prima riga, essendo presente un comando `n`, la seconda riga sarà visualizzata, e così via. + + ```bash + Shell > cat -n /root/test.txt | sed -n '{n;p}' + # or + Shell > cat -n /root/test.txt | sed -n '2~2p' + 2 ka-kdp 31016/udp # Kollective Agent Kollective Delivery + 4 edi_service 34567/udp # dhanalakshmi.org EDI Service + 6 axio-disc 35100/udp # Axiomatic discovery protocol + 8 cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive + 10 spremotetablet 46998/tcp # Capture handwritten signatures + ``` + + - Visualizza righe di testo dispari + + ```bash + Shell > cat -n /root/test.txt | sed -n '{p;n}' + # or + Shell > cat -n /root/test.txt | sed -n '1~2p' + # or + Shell > cat -n /root/test.txt | sed 'n;d' + 1 aigairserver 21221/tcp # Services for Air Server + 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery + 5 axio-disc 35100/tcp # Axiomatic discovery protocol + 7 pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API + 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + ``` + + - Visualizza le righe multiple di 3 + + ```bash + Shell > cat -n /root/test.txt | sed -n '{n;n;p}' + # or + Shell > cat -n /root/test.txt | sed -n '3~3p' + 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery + 6 axio-disc 35100/udp # Axiomatic discovery protocol + 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + ``` + + - `N` + + Legge la prima riga e aggiungi una riga dopo aver incontrato il comando `N`. In questo esempio, il "pattern space" è "1\n2". Infine, esegue il comando `q` per uscire. + + ```bash + Shell > seq 1 10 | sed 'N;q' + 1 + 2 + ``` + + Poiché non è presente alcuna riga dopo la riga 9, il risultato sarà il seguente: + + ```bash + Shell > seq 1 9 | sed -n 'N;p' + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + ``` + + Quando l'ultima riga viene letta, il comando `N` non viene eseguito e il risultato è il seguente: + + ```bash + Shell > seq 1 9 | sed -n '$!N;p' + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + ``` + + Unire due righe in una. Sostituisce "\n" del "pattern space" con un carattere vuoto. + + ```bash + Shell > seq 1 6 | sed 'N;{s/\n//g}' + 12 + 34 + 56 + ``` - ```bash - Shell > cat -n /root/test.txt | sed -n '{n;p}' - # or - Shell > cat -n /root/test.txt | sed -n '2~2p' - 2 ka-kdp 31016/udp # Kollective Agent Kollective Delivery - 4 edi_service 34567/udp # dhanalakshmi.org EDI Service - 6 axio-disc 35100/udp # Axiomatic discovery protocol - 8 cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive - 10 spremotetablet 46998/tcp # Capture handwritten signatures - ``` +10. Ignorare un caso (`I`) - - Visualizza righe di testo dispari + Sembra non esser presente alcuna informazione in merito all'ignorare casi in `man 1 sed`. ```bash - Shell > cat -n /root/test.txt | sed -n '{p;n}' - # or - Shell > cat -n /root/test.txt | sed -n '1~2p' - # or - Shell > cat -n /root/test.txt | sed 'n;d' - 1 aigairserver 21221/tcp # Services for Air Server - 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery - 5 axio-disc 35100/tcp # Axiomatic discovery protocol - 7 pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API - 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + Shell > echo -e "abc\nAbc" | sed -n 's/a/X/Igp' + Xbc + XBC ``` - - Visualizza le righe multiple di 3 - ```bash - Shell > cat -n /root/test.txt | sed -n '{n;n;p}' - # or - Shell > cat -n /root/test.txt | sed -n '3~3p' - 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery - 6 axio-disc 35100/udp # Axiomatic discovery protocol - 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + Shell > cat /etc/services | sed '/OEM/Ip' -n + oem-agent 3872/tcp # OEM Agent + oem-agent 3872/udp # OEM Agent + oemcacao-jmxmp 11172/tcp # OEM cacao JMX-remoting access point + oemcacao-rmi 11174/tcp # OEM cacao rmi registry access point + oemcacao-websvc 11175/tcp # OEM cacao web service access point ``` - - `N` - - Legge la prima riga e aggiungi una riga dopo aver incontrato il comando `N`. In questo esempio, il "pattern space" è "1\n2". Infine, esegue il comando `q` per uscire. - ```bash - Shell > seq 1 10 | sed 'N;q' - 1 - 2 + Shell > cat /etc/services | sed -r '/(TCP)|(UDP)/Id' ``` - Poiché non è presente alcuna riga dopo la riga 9, il risultato sarà il seguente: - ```bash - Shell > seq 1 9 | sed -n 'N;p' - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 + Shell > cat /etc/services | sed -r '/(TCP)|(UDP)/Ic TMP' ``` - Quando l'ultima riga viene letta, il comando `N` non viene eseguito e il risultato è il seguente: +11. Calcola il numero totale di righe in un file ```bash - Shell > seq 1 9 | sed -n '$!N;p' - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - ``` - - Unire due righe in una. Sostituisce "\n" del "pattern space" con un carattere vuoto. + Shell > cat /etc/services | sed -n '$=' + # or + Shell > cat /etc/services | wc -l - ```bash - Shell > seq 1 6 | sed 'N;{s/\n//g}' - 12 - 34 - 56 + 11473 ``` - -10. Ignorare un caso (`I`) - - Sembra non esser presente alcuna informazione in merito all'ignorare casi in `man 1 sed`. - - ```bash - Shell > echo -e "abc\nAbc" | sed -n 's/a/X/Igp' - Xbc - XBC - ``` - - ```bash - Shell > cat /etc/services | sed '/OEM/Ip' -n - oem-agent 3872/tcp # OEM Agent - oem-agent 3872/udp # OEM Agent - oemcacao-jmxmp 11172/tcp # OEM cacao JMX-remoting access point - oemcacao-rmi 11174/tcp # OEM cacao rmi registry access point - oemcacao-websvc 11175/tcp # OEM cacao web service access point - ``` - - ```bash - Shell > cat /etc/services | sed -r '/(TCP)|(UDP)/Id' - ``` - - ```bash - Shell > cat /etc/services | sed -r '/(TCP)|(UDP)/Ic TMP' - ``` - -11. Calcola il numero totale di righe in un file - - ```bash - Shell > cat /etc/services | sed -n '$=' - # or - Shell > cat /etc/services | wc -l - - 11473 - ``` diff --git a/docs/books/sed_awk_grep/3_sed_command.uk.md b/docs/books/sed_awk_grep/3_sed_command.uk.md index 1726827043..2d0bf46f36 100644 --- a/docs/books/sed_awk_grep/3_sed_command.uk.md +++ b/docs/books/sed_awk_grep/3_sed_command.uk.md @@ -1,7 +1,7 @@ --- title: Команда Sed author: tianci li -contributors: null +contributors: tags: - sed --- @@ -68,446 +68,416 @@ sed [OPTION]... {script-only-if-no-other-script} [input-file]... 1. Зіставлення та друк (`p`) - - Надрукуйте рядок, який починається з рядка NetBIOS - - ```bash - Shell > cat /etc/services | sed -n '/^netbios/p' - netbios-ns 137/tcp # NETBIOS Name Service - netbios-ns 137/udp - netbios-dgm 138/tcp # NETBIOS Datagram Service - netbios-dgm 138/udp - netbios-ssn 139/tcp # NETBIOS session service - netbios-ssn 139/udp - ``` - - !!! tip "Підказка" - - ``` - Як ми всі знаємо, подвійні та одинарні лапки в оболонці відіграють різну роль. **$**, **\`** і **\\** у подвійних лапках мають особливе значення. Рекомендовано використовувати одинарні лапки частіше під час використання команди `sed`. - ``` - - - Вивести текст з 23 по 26 рядки - - ```bash - Shell > cat -n /etc/services | sed -n '23,26p' - 23 tcpmux 1/tcp # TCP port service multiplexer - 24 tcpmux 1/udp # TCP port service multiplexer - 25 rje 5/tcp # Remote Job Entry - 26 rje 5/udp # Remote Job Entry - ``` - - - Друкувати непарні рядки - - ```bash - Shell > cat -n /etc/services | sed -n '1~2p' - 1 # /etc/services: - 3 # - 5 # IANA services version: last updated 2016-07-08 - 7 # Note that it is presently the policy of IANA to assign a single well-known - 9 # even if the protocol doesn't support UDP operations. - 11 # are included, only the more common ones. - 13 # The latest IANA port assignments can be gotten from - 15 # The Well Known Ports are those from 0 through 1023. - 17 # The Dynamic and/or Private Ports are those from 49152 through 65535 - 19 # Each line describes one service, and is of the form: - ... - ``` - - - Вивести рядок 10 до останнього рядка - - ```bash - Shell > cat -n /etc/services | sed -n '10,$p' - 10 # Updated from RFC 1700, ``Assigned Numbers'' (October 1994). Not all ports - 11 # are included, only the more common ones. - 12 # - 13 # The latest IANA port assignments can be gotten from - 14 # http://www.iana.org/assignments/port-numbers - 15 # The Well Known Ports are those from 0 through 1023. - 16 # The Registered Ports are those from 1024 through 49151 - 17 # The Dynamic and/or Private Ports are those from 49152 through 65535 - ... - ``` - - - Рядки з 10 до останнього не друкувати - - ```bash - Shell > cat -n /etc/services | sed -n '10,$!p' - 1 # /etc/services: - 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $ - 3 # - 4 # Network services, Internet style - 5 # IANA services version: last updated 2016-07-08 - 6 # - 7 # Note that it is presently the policy of IANA to assign a single well-known - 8 # port number for both TCP and UDP; hence, most entries here have two entries - 9 # even if the protocol doesn't support UDP operations. - ``` - - - Надрукуйте номер рядка та вміст відповідного рядка - - ```bash - Shell > sed -n -e '/netbios/=' -e '/netbios/p' /etc/services - 123 - netbios-ns 137/tcp # NETBIOS Name Service - 124 - netbios-ns 137/udp - 125 - netbios-dgm 138/tcp # NETBIOS Datagram Service - 126 - netbios-dgm 138/udp - 127 - netbios-ssn 139/tcp # NETBIOS session service - 128 - netbios-ssn 139/udp - ``` - - - Зіставте діапазон рядків і надрукуйте його - - Використовуйте коми для розділення діапазонів рядків - - ```bash - Shell > cat /etc/services | sed -n '/^netbios/,/^imap/p' - netbios-ns 137/tcp # NETBIOS Name Service - netbios-ns 137/udp - netbios-dgm 138/tcp # NETBIOS Datagram Service - netbios-dgm 138/udp - netbios-ssn 139/tcp # NETBIOS session service - netbios-ssn 139/udp - imap 143/tcp imap2 # Interim Mail Access Proto v2 - ``` - - !!! info "примітка" - - ``` - **Початок діапазону**: відповідність рядку, де розташований рядок, лише збігання з першим рядком, який з’являється. - **Кінець діапазону**: збігається з рядком, у якому розташований рядок, лише з першим рядком, який з’являється. - ``` - - ```bash - Shell > grep -n ^netbios /etc/services - 123:netbios-ns 137/tcp # NETBIOS Name Service - 124:netbios-ns 137/udp - 125:netbios-dgm 138/tcp # NETBIOS Datagram Service - 126:netbios-dgm 138/udp - 127:netbios-ssn 139/tcp # NETBIOS session service - 128:netbios-ssn 139/udp - - Shell > grep -n ^imap /etc/services - 129:imap 143/tcp imap2 # Interim Mail Access Proto v2 - 130:imap 143/udp imap2 - 168:imap3 220/tcp # Interactive Mail Access - 169:imap3 220/udp # Protocol v3 - 260:imaps 993/tcp # IMAP over SSL - 261:imaps 993/udp # IMAP over SSL - ``` - - Іншими словами, вміст, надрукований вище, це рядки з 123 по 129 - - - Надрукуйте рядок, де знаходиться рядок, і до останнього рядка - - ```bash - Shell > cat /etc/services | sed -n '/^netbios/,$p' - ``` - - - Використання змінних у сценаріях bash - - ```bash - Shell > vim test1.sh - #!/bin/bash - a=10 - - sed -n ''${a}',$!p' /etc/services - # or - sed -n "${a},\$!p" /etc/services - ``` - - - Регулярний вираз - - Відповідає лише "Три цифри" + "/udp". - - ```bash - Shell > cat /etc/services | sed -r -n '/[^0-9]([1-9]{3}\/udp)/p' - sunrpc 111/udp portmapper rpcbind # RPC 4.0 portmapper UDP - auth 113/udp authentication tap ident - sftp 115/udp - uucp-path 117/udp - nntp 119/udp readnews untp # USENET News Transfer Protocol - ntp 123/udp # Network Time Protocol - netbios-ns 137/udp - netbios-dgm 138/udp - netbios-ssn 139/udp - ... - ``` + - Надрукуйте рядок, який починається з рядка NetBIOS + + ```bash + Shell > cat /etc/services | sed -n '/^netbios/p' + netbios-ns 137/tcp # NETBIOS Name Service + netbios-ns 137/udp + netbios-dgm 138/tcp # NETBIOS Datagram Service + netbios-dgm 138/udp + netbios-ssn 139/tcp # NETBIOS session service + netbios-ssn 139/udp + ``` + + !!! tip "Підказка" + + ``` + Як ми всі знаємо, подвійні та одинарні лапки в оболонці відіграють різну роль. **$**, **\`** і **\\** у подвійних лапках мають особливе значення. Рекомендовано використовувати одинарні лапки частіше під час використання команди `sed`. + ``` + + - Вивести текст з 23 по 26 рядки + + ```bash + Shell > cat -n /etc/services | sed -n '23,26p' + 23 tcpmux 1/tcp # TCP port service multiplexer + 24 tcpmux 1/udp # TCP port service multiplexer + 25 rje 5/tcp # Remote Job Entry + 26 rje 5/udp # Remote Job Entry + ``` + + - Друкувати непарні рядки + + ```bash + Shell > cat -n /etc/services | sed -n '1~2p' + 1 # /etc/services: + 3 # + 5 # IANA services version: last updated 2016-07-08 + 7 # Note that it is presently the policy of IANA to assign a single well-known + 9 # even if the protocol doesn't support UDP operations. + 11 # are included, only the more common ones. + 13 # The latest IANA port assignments can be gotten from + 15 # The Well Known Ports are those from 0 through 1023. + 17 # The Dynamic and/or Private Ports are those from 49152 through 65535 + 19 # Each line describes one service, and is of the form: + ... + ``` + + - Вивести рядок 10 до останнього рядка + + ```bash + Shell > cat -n /etc/services | sed -n '10,$p' + 10 # Updated from RFC 1700, ``Assigned Numbers'' (October 1994). Not all ports + 11 # are included, only the more common ones. + 12 # + 13 # The latest IANA port assignments can be gotten from + 14 # http://www.iana.org/assignments/port-numbers + 15 # The Well Known Ports are those from 0 through 1023. + 16 # The Registered Ports are those from 1024 through 49151 + 17 # The Dynamic and/or Private Ports are those from 49152 through 65535 + ... + ``` + + - Рядки з 10 до останнього не друкувати + + ```bash + Shell > cat -n /etc/services | sed -n '10,$!p' + 1 # /etc/services: + 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $ + 3 # + 4 # Network services, Internet style + 5 # IANA services version: last updated 2016-07-08 + 6 # + 7 # Note that it is presently the policy of IANA to assign a single well-known + 8 # port number for both TCP and UDP; hence, most entries here have two entries + 9 # even if the protocol doesn't support UDP operations. + ``` + + - Надрукуйте номер рядка та вміст відповідного рядка + + ```bash + Shell > sed -n -e '/netbios/=' -e '/netbios/p' /etc/services + 123 + netbios-ns 137/tcp # NETBIOS Name Service + 124 + netbios-ns 137/udp + 125 + netbios-dgm 138/tcp # NETBIOS Datagram Service + 126 + netbios-dgm 138/udp + 127 + netbios-ssn 139/tcp # NETBIOS session service + 128 + netbios-ssn 139/udp + ``` + + - Зіставте діапазон рядків і надрукуйте його + + Використовуйте коми для розділення діапазонів рядків + + ```bash + Shell > cat /etc/services | sed -n '/^netbios/,/^imap/p' + netbios-ns 137/tcp # NETBIOS Name Service + netbios-ns 137/udp + netbios-dgm 138/tcp # NETBIOS Datagram Service + netbios-dgm 138/udp + netbios-ssn 139/tcp # NETBIOS session service + netbios-ssn 139/udp + imap 143/tcp imap2 # Interim Mail Access Proto v2 + ``` + + !!! info "примітка" + + ``` + **Початок діапазону**: відповідність рядку, де розташований рядок, лише збігання з першим рядком, який з’являється. + **Кінець діапазону**: збігається з рядком, у якому розташований рядок, лише з першим рядком, який з’являється. + ``` + + ```bash + Shell > grep -n ^netbios /etc/services + 123:netbios-ns 137/tcp # NETBIOS Name Service + 124:netbios-ns 137/udp + 125:netbios-dgm 138/tcp # NETBIOS Datagram Service + 126:netbios-dgm 138/udp + 127:netbios-ssn 139/tcp # NETBIOS session service + 128:netbios-ssn 139/udp + + Shell > grep -n ^imap /etc/services + 129:imap 143/tcp imap2 # Interim Mail Access Proto v2 + 130:imap 143/udp imap2 + 168:imap3 220/tcp # Interactive Mail Access + 169:imap3 220/udp # Protocol v3 + 260:imaps 993/tcp # IMAP over SSL + 261:imaps 993/udp # IMAP over SSL + ``` + + Іншими словами, вміст, надрукований вище, це рядки з 123 по 129 + + - Надрукуйте рядок, де знаходиться рядок, і до останнього рядка + + ```bash + Shell > cat /etc/services | sed -n '/^netbios/,$p' + ``` + + - Використання змінних у сценаріях bash + + ```bash + Shell > vim test1.sh + #!/bin/bash + a=10 + + sed -n ''${a}',$!p' /etc/services + # or + sed -n "${a},\$!p" /etc/services + ``` + + - Регулярний вираз + + Відповідає лише "Три цифри" + "/udp". + + ```bash + Shell > cat /etc/services | sed -r -n '/[^0-9]([1-9]{3}\/udp)/p' + sunrpc 111/udp portmapper rpcbind # RPC 4.0 portmapper UDP + auth 113/udp authentication tap ident + sftp 115/udp + uucp-path 117/udp + nntp 119/udp readnews untp # USENET News Transfer Protocol + ntp 123/udp # Network Time Protocol + netbios-ns 137/udp + netbios-dgm 138/udp + netbios-ssn 139/udp + ... + ``` 2. Зіставити та видалити (`d`) - Це схоже на друк, за винятком того, що команду операції замінено на `d`, а параметр -n не потрібен. - - - Видалити всі рядки, які відповідають рядку udp, видалити всі рядки коментарів і видалити всі порожні рядки - - ```bash - Shell > sed -e '/udp/d' -e '/^#/d' -e '/^$/d' /etc/services - tcpmux 1/tcp # TCP port service multiplexer - rje 5/tcp # Remote Job Entry - echo 7/tcp - discard 9/tcp sink null - systat 11/tcp users - daytime 13/tcp - qotd 17/tcp quote - chargen 19/tcp ttytst source - ftp-data 20/tcp - ftp 21/tcp - ssh 22/tcp # The Secure Shell (SSH) Protocol - telnet 23/tcp - ... - ``` - - - Видалити послідовні рядки тексту - - ```bash - Shell > cat -n /etc/services | sed '10,$d' - 1 # /etc/services: - 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $ - 3 # - 4 # Network services, Internet style - 5 # IANA services version: last updated 2016-07-08 - 6 # - 7 # Note that it is presently the policy of IANA to assign a single well-known - 8 # port number for both TCP and UDP; hence, most entries here have two entries - 9 # even if the protocol doesn't support UDP operations. - ``` - - - Регулярний вираз - - ```bash - Shell > cat /etc/services | sed -r '/(tcp)|(udp)|(^#)|(^$)/d' - http 80/sctp # HyperText Transfer Protocol - bgp 179/sctp - https 443/sctp # http protocol over TLS/SSL - h323hostcall 1720/sctp # H.323 Call Control - nfs 2049/sctp nfsd shilp # Network File System - rtmp 1/ddp # Routing Table Maintenance Protocol - nbp 2/ddp # Name Binding Protocol - echo 4/ddp # AppleTalk Echo Protocol - zip 6/ddp # Zone Information Protocol - discard 9/sctp # Discard - discard 9/dccp # Discard SC:DISC - ... - ``` + Це схоже на друк, за винятком того, що команду операції замінено на `d`, а параметр -n не потрібен. + + - Видалити всі рядки, які відповідають рядку udp, видалити всі рядки коментарів і видалити всі порожні рядки + + ```bash + Shell > sed -e '/udp/d' -e '/^#/d' -e '/^$/d' /etc/services + tcpmux 1/tcp # TCP port service multiplexer + rje 5/tcp # Remote Job Entry + echo 7/tcp + discard 9/tcp sink null + systat 11/tcp users + daytime 13/tcp + qotd 17/tcp quote + chargen 19/tcp ttytst source + ftp-data 20/tcp + ftp 21/tcp + ssh 22/tcp # The Secure Shell (SSH) Protocol + telnet 23/tcp + ... + ``` + + - Видалити послідовні рядки тексту + + ```bash + Shell > cat -n /etc/services | sed '10,$d' + 1 # /etc/services: + 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $ + 3 # + 4 # Network services, Internet style + 5 # IANA services version: last updated 2016-07-08 + 6 # + 7 # Note that it is presently the policy of IANA to assign a single well-known + 8 # port number for both TCP and UDP; hence, most entries here have two entries + 9 # even if the protocol doesn't support UDP operations. + ``` + + - Регулярний вираз + + ```bash + Shell > cat /etc/services | sed -r '/(tcp)|(udp)|(^#)|(^$)/d' + http 80/sctp # HyperText Transfer Protocol + bgp 179/sctp + https 443/sctp # http protocol over TLS/SSL + h323hostcall 1720/sctp # H.323 Call Control + nfs 2049/sctp nfsd shilp # Network File System + rtmp 1/ddp # Routing Table Maintenance Protocol + nbp 2/ddp # Name Binding Protocol + echo 4/ddp # AppleTalk Echo Protocol + zip 6/ddp # Zone Information Protocol + discard 9/sctp # Discard + discard 9/dccp # Discard SC:DISC + ... + ``` 3. Замінити рядки (`s///g`) - | Синтаксис | Опис синтаксису | - | :---------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | - | `sed 's/string/replace/g' FILENAME` | **s**: усі рядки, що представляють вміст файлу. Ви також можете вказати діапазон рядків, наприклад: `sed '20,200s/netbios/TMP/g' /etc/services. **g** (Глобальне): Якщо g відсутнє, це означає, що коли в одному рядку з'являється кілька співпадаючих рядків, буде замінено лише перший співпадаючий рядок. **/**: Стиль роздільника. Ви також можете вказати інші стилі, наприклад: `sed '20,200s?netbios?TMP?g' /etc/services\` | - - !!! tip "Підказка" - - ```` - Example in the bash script: - - ```bash - Shell > vim /root/sedReplace.sh - #!/bin/bash - a="SELINUX=enforcing" - b="SELINUX=disabled" - - sed -i 's/'${a}'/'${b}'/g' /etc/selinux/config - # or - sed -i "s/${a}/${b}/g" /etc/selinux/config - ``` - ```` - - - Замініть і роздрукуйте - - ```bash - Shell > sed -n '44,45s/ssh/SSH/gp' /etc/services - SSH 22/tcp - SSH 22/udp - ``` - - - Використовуйте символ "&", щоб посилатися на рядок - - ```bash - Shell > sed -n '44,45s/ssh/&-SSH/gp' /etc/services - ssh-SSH 22/tcp - ssh-SSH 22/udp - ``` - - - Використовуйте рядок, щоб знайти один або кілька рядків і замінити вказаний рядок у діапазоні рядків - - ```bash - Shell > grep ssh /etc/services -n - 44:ssh 22/tcp # The Secure Shell (SSH) Protocol - 45:ssh 22/udp # The Secure Shell (SSH) Protocol - 551:x11-ssh-offset 6010/tcp # SSH X11 forwarding offset - 593:ssh 22/sctp # SSH - 1351:sshell 614/tcp # SSLshell - 1352:sshell 614/udp # SSLshell - 1607:netconf-ssh 830/tcp # NETCONF over SSH - 1608:netconf-ssh 830/udp # NETCONF over SSH - 7178:sdo-ssh 3897/tcp # Simple Distributed Objects over SSH - 7179:sdo-ssh 3897/udp # Simple Distributed Objects over SSH - 7791:netconf-ch-ssh 4334/tcp # NETCONF Call Home (SSH) - 8473:snmpssh 5161/tcp # SNMP over SSH Transport Model - 8474:snmpssh-trap 5162/tcp # SNMP Notification over SSH Transport Model - 9126:tl1-ssh 6252/tcp # TL1 over SSH - 9127:tl1-ssh 6252/udp # TL1 over SSH - 10796:ssh-mgmt 17235/tcp # SSH Tectia Manager - 10797:ssh-mgmt 17235/udp # SSH Tectia Manager - - Shell > sed '/ssh/s/tcp/TCP/gp' -n /etc/services - ssh 22/TCP # The Secure Shell (SSH) Protocol - x11-ssh-offset 6010/TCP # SSH X11 forwarding offset - sshell 614/TCP # SSLshell - netconf-ssh 830/TCP # NETCONF over SSH - sdo-ssh 3897/TCP # Simple Distributed Objects over SSH - netconf-ch-ssh 4334/TCP # NETCONF Call Home (SSH) - snmpssh 5161/TCP # SNMP over SSH Transport Model - snmpssh-trap 5162/TCP # SNMP Notification over SSH Transport Model - tl1-ssh 6252/TCP # TL1 over SSH - ssh-mgmt 17235/TCP # SSH Tectia Manager - ``` - - - Заміна рядка для послідовних рядків - - ```bash - Shell > sed '10,30s/tcp/TCP/g' /etc/services - ``` - - - Кілька збігів і замін - - ```bash - Shell > cat /etc/services | sed 's/netbios/test1/g ; s/^#//d ; s/dhcp/&t2/g' - ``` - - - Групова заміна регулярних виразів - - У регулярних виразах "()" є групуванням. \1 представляє референтну групу 1, \2 представляє референтну групу 2 і так далі. - - ```bash - Shell > cat /etc/services - ... - axio-disc 35100/tcp # Axiomatic discovery protocol - axio-disc 35100/udp # Axiomatic discovery protocol - pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API - cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive - cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System - spremotetablet 46998/tcp # Capture handwritten signatures - - Shell > cat /etc/services | sed -r 's/([0-9]*\/tcp)/\1\tCONTENT1/g ; s/([0-9]*\/udp)/\1\tADD2/g' - ... - axio-disc 35100/tcp CONTENT1 # Axiomatic discovery protocol - axio-disc 35100/udp ADD2 # Axiomatic discovery protocol - pmwebapi 44323/tcp CONTENT1 # Performance Co-Pilot client HTTP API - cloudcheck-ping 45514/udp ADD2 # ASSIA CloudCheck WiFi Management keepalive - cloudcheck 45514/tcp CONTENT1 # ASSIA CloudCheck WiFi Management System - spremotetablet 46998/tcp CONTENT1 # Capture handwritten signatures - ``` - - **\t**: тобто вкладка - - - Замініть усі рядки коментарів порожніми - - ```bash - Shell > cat /etc/services | sed -r 's/(^#.*)//g' - ... - chargen 19/udp ttytst source - ftp-data 20/tcp - ftp-data 20/udp - - ftp 21/tcp - ftp 21/udp fsp fspd - ssh 22/tcp # The Secure Shell (SSH) Protocol - ssh 22/udp # The Secure Shell (SSH) Protocol - ... - ``` - - - Замініть одну з малих літер слова великою - - ```bash - Shell > echo -e "hello,world\nPOSIX" | sed -r 's/(.*)w/\1W/g' - hello,World - POSIX - ``` - - - Зміна позиції рядка - - ```bash - Shell > cat /etc/services - ... - cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive - cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System - spremotetablet 46998/tcp # Capture handwritten signatures - ``` - - Ми можемо розділити цей файл на п'ять частин: - - ```txt - cloudcheck-ping 45514 / udp # ASSIA CloudCheck WiFi Management keepalive - ↓ ↓ ↓ ↓ ↓ - (.*) (\<[0-9]+\>) \/ (tcp|udp) (.*) - ↓ ↓ ↓ ↓ - \1 \2 \3 \4 - ``` - - ```bash - Shell > cat /etc/services | sed -r 's/(.*)(\<[0-9]+\>)\/(tcp|udp)(.*)/\1\3\/\2\4/g' - ... - edi_service udp/34567 # dhanalakshmi.org EDI Service - axio-disc tcp/35100 # Axiomatic discovery protocol - axio-disc udp/35100 # Axiomatic discovery protocol - pmwebapi tcp/44323 # Performance Co-Pilot client HTTP API - cloudcheck-ping udp/45514 # ASSIA CloudCheck WiFi Management keepalive - cloudcheck tcp/45514 # ASSIA CloudCheck WiFi Management System - spremotetablet tcp/46998 # Capture handwritten signatures - ``` - - - Видаліть усі пробіли - - ```bash - Shell > echo -e "abcd\t1 2 3 4\tWorld" - abcd 1 2 3 4 World - Shell > echo -e "abcd\t1 2 3 4\tWorld" | sed -r 's/(\s)*//g' - abcd1234World - ``` + | Синтаксис | Опис синтаксису | + | :---------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | + | `sed 's/string/replace/g' FILENAME` | **s**: усі рядки, що представляють вміст файлу. Ви також можете вказати діапазон рядків, наприклад: `sed '20,200s/netbios/TMP/g' /etc/services. **g** (Глобальне): Якщо g відсутнє, це означає, що коли в одному рядку з'являється кілька співпадаючих рядків, буде замінено лише перший співпадаючий рядок. **/**: Стиль роздільника. Ви також можете вказати інші стилі, наприклад: `sed '20,200s?netbios?TMP?g' /etc/services\` | + + !!! tip "Підказка" + + ```` + Example in the bash script: + + ```bash + Shell > vim /root/sedReplace.sh + #!/bin/bash + a="SELINUX=enforcing" + b="SELINUX=disabled" + + sed -i 's/'${a}'/'${b}'/g' /etc/selinux/config + # or + sed -i "s/${a}/${b}/g" /etc/selinux/config + ``` + ```` + + - Замініть і роздрукуйте + + ```bash + Shell > sed -n '44,45s/ssh/SSH/gp' /etc/services + SSH 22/tcp + SSH 22/udp + ``` + + - Використовуйте символ "&", щоб посилатися на рядок + + ```bash + Shell > sed -n '44,45s/ssh/&-SSH/gp' /etc/services + ssh-SSH 22/tcp + ssh-SSH 22/udp + ``` + + - Використовуйте рядок, щоб знайти один або кілька рядків і замінити вказаний рядок у діапазоні рядків + + ```bash + Shell > grep ssh /etc/services -n + 44:ssh 22/tcp # The Secure Shell (SSH) Protocol + 45:ssh 22/udp # The Secure Shell (SSH) Protocol + 551:x11-ssh-offset 6010/tcp # SSH X11 forwarding offset + 593:ssh 22/sctp # SSH + 1351:sshell 614/tcp # SSLshell + 1352:sshell 614/udp # SSLshell + 1607:netconf-ssh 830/tcp # NETCONF over SSH + 1608:netconf-ssh 830/udp # NETCONF over SSH + 7178:sdo-ssh 3897/tcp # Simple Distributed Objects over SSH + 7179:sdo-ssh 3897/udp # Simple Distributed Objects over SSH + 7791:netconf-ch-ssh 4334/tcp # NETCONF Call Home (SSH) + 8473:snmpssh 5161/tcp # SNMP over SSH Transport Model + 8474:snmpssh-trap 5162/tcp # SNMP Notification over SSH Transport Model + 9126:tl1-ssh 6252/tcp # TL1 over SSH + 9127:tl1-ssh 6252/udp # TL1 over SSH + 10796:ssh-mgmt 17235/tcp # SSH Tectia Manager + 10797:ssh-mgmt 17235/udp # SSH Tectia Manager + + Shell > sed '/ssh/s/tcp/TCP/gp' -n /etc/services + ssh 22/TCP # The Secure Shell (SSH) Protocol + x11-ssh-offset 6010/TCP # SSH X11 forwarding offset + sshell 614/TCP # SSLshell + netconf-ssh 830/TCP # NETCONF over SSH + sdo-ssh 3897/TCP # Simple Distributed Objects over SSH + netconf-ch-ssh 4334/TCP # NETCONF Call Home (SSH) + snmpssh 5161/TCP # SNMP over SSH Transport Model + snmpssh-trap 5162/TCP # SNMP Notification over SSH Transport Model + tl1-ssh 6252/TCP # TL1 over SSH + ssh-mgmt 17235/TCP # SSH Tectia Manager + ``` + + - Заміна рядка для послідовних рядків + + ```bash + Shell > sed '10,30s/tcp/TCP/g' /etc/services + ``` + + - Кілька збігів і замін + + ```bash + Shell > cat /etc/services | sed 's/netbios/test1/g ; s/^#//d ; s/dhcp/&t2/g' + ``` + + - Групова заміна регулярних виразів + + У регулярних виразах "()" є групуванням. \1 представляє референтну групу 1, \2 представляє референтну групу 2 і так далі. + + ```bash + Shell > cat /etc/services + ... + axio-disc 35100/tcp # Axiomatic discovery protocol + axio-disc 35100/udp # Axiomatic discovery protocol + pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API + cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive + cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + spremotetablet 46998/tcp # Capture handwritten signatures + + Shell > cat /etc/services | sed -r 's/([0-9]*\/tcp)/\1\tCONTENT1/g ; s/([0-9]*\/udp)/\1\tADD2/g' + ... + axio-disc 35100/tcp CONTENT1 # Axiomatic discovery protocol + axio-disc 35100/udp ADD2 # Axiomatic discovery protocol + pmwebapi 44323/tcp CONTENT1 # Performance Co-Pilot client HTTP API + cloudcheck-ping 45514/udp ADD2 # ASSIA CloudCheck WiFi Management keepalive + cloudcheck 45514/tcp CONTENT1 # ASSIA CloudCheck WiFi Management System + spremotetablet 46998/tcp CONTENT1 # Capture handwritten signatures + ``` + + **\t**: тобто вкладка + + - Замініть усі рядки коментарів порожніми + + ```bash + Shell > cat /etc/services | sed -r 's/(^#.*)//g' + ... + chargen 19/udp ttytst source + ftp-data 20/tcp + ftp-data 20/udp + + ftp 21/tcp + ftp 21/udp fsp fspd + ssh 22/tcp # The Secure Shell (SSH) Protocol + ssh 22/udp # The Secure Shell (SSH) Protocol + ... + ``` + + - Замініть одну з малих літер слова великою + + ```bash + Shell > echo -e "hello,world\nPOSIX" | sed -r 's/(.*)w/\1W/g' + hello,World + POSIX + ``` + + - Зміна позиції рядка + + ```bash + Shell > cat /etc/services + ... + cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive + cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + spremotetablet 46998/tcp # Capture handwritten signatures + ``` + + Ми можемо розділити цей файл на п'ять частин: + + ```txt + cloudcheck-ping 45514 / udp # ASSIA CloudCheck WiFi Management keepalive + ↓ ↓ ↓ ↓ ↓ + (.*) (\<[0-9]+\>) \/ (tcp|udp) (.*) + ↓ ↓ ↓ ↓ + \1 \2 \3 \4 + ``` + + ```bash + Shell > cat /etc/services | sed -r 's/(.*)(\<[0-9]+\>)\/(tcp|udp)(.*)/\1\3\/\2\4/g' + ... + edi_service udp/34567 # dhanalakshmi.org EDI Service + axio-disc tcp/35100 # Axiomatic discovery protocol + axio-disc udp/35100 # Axiomatic discovery protocol + pmwebapi tcp/44323 # Performance Co-Pilot client HTTP API + cloudcheck-ping udp/45514 # ASSIA CloudCheck WiFi Management keepalive + cloudcheck tcp/45514 # ASSIA CloudCheck WiFi Management System + spremotetablet tcp/46998 # Capture handwritten signatures + ``` + + - Видаліть усі пробіли + + ```bash + Shell > echo -e "abcd\t1 2 3 4\tWorld" + abcd 1 2 3 4 World + Shell > echo -e "abcd\t1 2 3 4\tWorld" | sed -r 's/(\s)*//g' + abcd1234World + ``` 4. Виконайте кілька разів за допомогою параметра -e - Наступний приклад: - - ```bash - Shell > tail -n 10 /etc/services - aigairserver 21221/tcp # Services for Air Server - ka-kdp 31016/udp # Kollective Agent Kollective Delivery - ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery - edi_service 34567/udp # dhanalakshmi.org EDI Service - axio-disc 35100/tcp # Axiomatic discovery protocol - axio-disc 35100/udp # Axiomatic discovery protocol - pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API - cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive - cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System - spremotetablet 46998/tcp # Capture handwritten signatures - - Shell > tail -n 10 /etc/services | sed -e '1,3d' -e '/cloud/s/ping/PING/g' - # or - Shell > tail -n 10 /etc/services | sed '1,3d ; /cloud/s/ping/PING/g' - edi_service 34567/udp # dhanalakshmi.org EDI Service - axio-disc 35100/tcp # Axiomatic discovery protocol - axio-disc 35100/udp # Axiomatic discovery protocol - pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API - cloudcheck-PING 45514/udp # ASSIA CloudCheck WiFi Management keepalive - cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System - spremotetablet 46998/tcp # Capture handwritten signatures - ``` - -5. Додайте вміст над або під певним рядком («i» і «a») - - - Додайте два рядки вмісту над вказаним номером рядка + Наступний приклад: ```bash - Shell > tail -n 10 /etc/services > /root/test.txt - Shell > cat /root/test.txt + Shell > tail -n 10 /etc/services aigairserver 21221/tcp # Services for Air Server ka-kdp 31016/udp # Kollective Agent Kollective Delivery ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery @@ -519,318 +489,348 @@ sed [OPTION]... {script-only-if-no-other-script} [input-file]... cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System spremotetablet 46998/tcp # Capture handwritten signatures - Shell > cat /root/test.txt | sed '3i 123\ - abc' - aigairserver 21221/tcp # Services for Air Server - ka-kdp 31016/udp # Kollective Agent Kollective Delivery - 123 - abc - ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery + Shell > tail -n 10 /etc/services | sed -e '1,3d' -e '/cloud/s/ping/PING/g' + # or + Shell > tail -n 10 /etc/services | sed '1,3d ; /cloud/s/ping/PING/g' edi_service 34567/udp # dhanalakshmi.org EDI Service axio-disc 35100/tcp # Axiomatic discovery protocol axio-disc 35100/udp # Axiomatic discovery protocol pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API - cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive + cloudcheck-PING 45514/udp # ASSIA CloudCheck WiFi Management keepalive cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System spremotetablet 46998/tcp # Capture handwritten signatures ``` - - Додайте три рядки під вказаним номером рядка - - ```bash - Shell > cat /root/test.txt | sed '5a 123\ - comment yes\ - tcp or udp' - aigairserver 21221/tcp # Services for Air Server - ka-kdp 31016/udp # Kollective Agent Kollective Delivery - ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery - edi_service 34567/udp # dhanalakshmi.org EDI Service - axio-disc 35100/tcp # Axiomatic discovery protocol - 123 - comment yes - tcp or udp - axio-disc 35100/udp # Axiomatic discovery protocol - pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API - cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive - cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System - spremotetablet 46998/tcp # Capture handwritten signatures - ``` - - - Зіставте певний рядок на основі рядка та додайте 2 рядки вмісту над ним +5. Додайте вміст над або під певним рядком («i» і «a») - ```bash - Shell > cat /root/test.txt | sed '/tcp/iTCP\ - UDP' - TCP - UDP + - Додайте два рядки вмісту над вказаним номером рядка + + ```bash + Shell > tail -n 10 /etc/services > /root/test.txt + Shell > cat /root/test.txt + aigairserver 21221/tcp # Services for Air Server + ka-kdp 31016/udp # Kollective Agent Kollective Delivery + ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery + edi_service 34567/udp # dhanalakshmi.org EDI Service + axio-disc 35100/tcp # Axiomatic discovery protocol + axio-disc 35100/udp # Axiomatic discovery protocol + pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API + cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive + cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + spremotetablet 46998/tcp # Capture handwritten signatures + + Shell > cat /root/test.txt | sed '3i 123\ + abc' + aigairserver 21221/tcp # Services for Air Server + ka-kdp 31016/udp # Kollective Agent Kollective Delivery + 123 + abc + ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery + edi_service 34567/udp # dhanalakshmi.org EDI Service + axio-disc 35100/tcp # Axiomatic discovery protocol + axio-disc 35100/udp # Axiomatic discovery protocol + pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API + cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive + cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + spremotetablet 46998/tcp # Capture handwritten signatures + ``` + + - Додайте три рядки під вказаним номером рядка + + ```bash + Shell > cat /root/test.txt | sed '5a 123\ + comment yes\ + tcp or udp' aigairserver 21221/tcp # Services for Air Server ka-kdp 31016/udp # Kollective Agent Kollective Delivery - TCP - UDP ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery edi_service 34567/udp # dhanalakshmi.org EDI Service - TCP - UDP axio-disc 35100/tcp # Axiomatic discovery protocol + 123 + comment yes + tcp or udp axio-disc 35100/udp # Axiomatic discovery protocol - TCP - UDP pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive - TCP - UDP cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System - TCP - UDP spremotetablet 46998/tcp # Capture handwritten signatures ``` -6. Замінити рядки (`c`) + - Зіставте певний рядок на основі рядка та додайте 2 рядки вмісту над ним + + ```bash + Shell > cat /root/test.txt | sed '/tcp/iTCP\ + UDP' + TCP + UDP + aigairserver 21221/tcp # Services for Air Server + ka-kdp 31016/udp # Kollective Agent Kollective Delivery + TCP + UDP + ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery + edi_service 34567/udp # dhanalakshmi.org EDI Service + TCP + UDP + axio-disc 35100/tcp # Axiomatic discovery protocol + axio-disc 35100/udp # Axiomatic discovery protocol + TCP + UDP + pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API + cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive + TCP + UDP + cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + TCP + UDP + spremotetablet 46998/tcp # Capture handwritten signatures + ``` - - Знайдіть один або кілька рядків на основі рядка та замініть ці рядки тексту +6. Замінити рядки (`c`) - ```bash - Shell > cat /root/test.txt | sed '/ser/c\TMP1 \ - TMP2' - TMP1 - TMP2 - ka-kdp 31016/udp # Kollective Agent Kollective Delivery - ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery - TMP1 - TMP2 - axio-disc 35100/tcp # Axiomatic discovery protocol - axio-disc 35100/udp # Axiomatic discovery protocol - pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API - cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive - cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System - spremotetablet 46998/tcp # Capture handwritten signatures - ``` + - Знайдіть один або кілька рядків на основі рядка та замініть ці рядки тексту + + ```bash + Shell > cat /root/test.txt | sed '/ser/c\TMP1 \ + TMP2' + TMP1 + TMP2 + ka-kdp 31016/udp # Kollective Agent Kollective Delivery + ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery + TMP1 + TMP2 + axio-disc 35100/tcp # Axiomatic discovery protocol + axio-disc 35100/udp # Axiomatic discovery protocol + pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API + cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive + cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + spremotetablet 46998/tcp # Capture handwritten signatures + ``` + + - Заміна однієї лінії + + ```bash + Shell > cat /root/test.txt | sed '7c REPLACE' + aigairserver 21221/tcp # Services for Air Server + ka-kdp 31016/udp # Kollective Agent Kollective Delivery + ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery + edi_service 34567/udp # dhanalakshmi.org EDI Service + axio-disc 35100/tcp # Axiomatic discovery protocol + axio-disc 35100/udp # Axiomatic discovery protocol + REPLACE + cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive + cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + spremotetablet 46998/tcp # Capture handwritten signatures + ``` + + - Замінити послідовні рядки тексту + + ```bash + Shell > cat /root/test.txt | sed '2,$c REPLACE1 \ + replace2' + aigairserver 21221/tcp # Services for Air Server + REPLACE1 + replace2 + ``` + + - Замініть парні рядки + + ```bash + Shell > cat /root/test.txt | sed '2~2c replace' + aigairserver 21221/tcp # Services for Air Server + replace + ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery + replace + axio-disc 35100/tcp # Axiomatic discovery protocol + replace + pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API + replace + cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + replace + ``` - - Заміна однієї лінії +7. Прочитайте вміст файлу та додайте його вміст під відповідним рядком (`r`) ```bash - Shell > cat /root/test.txt | sed '7c REPLACE' + Shell > cat /root/app.txt + append1 + POSIX + UNIX + + Shell > cat /root/test.txt | sed '/ping/r /root/app.txt' aigairserver 21221/tcp # Services for Air Server ka-kdp 31016/udp # Kollective Agent Kollective Delivery ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery edi_service 34567/udp # dhanalakshmi.org EDI Service axio-disc 35100/tcp # Axiomatic discovery protocol axio-disc 35100/udp # Axiomatic discovery protocol - REPLACE + pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive + append1 + POSIX + UNIX cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System spremotetablet 46998/tcp # Capture handwritten signatures ``` - - Замінити послідовні рядки тексту - - ```bash - Shell > cat /root/test.txt | sed '2,$c REPLACE1 \ - replace2' - aigairserver 21221/tcp # Services for Air Server - REPLACE1 - replace2 - ``` - - - Замініть парні рядки - - ```bash - Shell > cat /root/test.txt | sed '2~2c replace' - aigairserver 21221/tcp # Services for Air Server - replace - ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery - replace - axio-disc 35100/tcp # Axiomatic discovery protocol - replace - pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API - replace - cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System - replace - ``` - -7. Прочитайте вміст файлу та додайте його вміст під відповідним рядком (`r`) - - ```bash - Shell > cat /root/app.txt - append1 - POSIX - UNIX - - Shell > cat /root/test.txt | sed '/ping/r /root/app.txt' - aigairserver 21221/tcp # Services for Air Server - ka-kdp 31016/udp # Kollective Agent Kollective Delivery - ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery - edi_service 34567/udp # dhanalakshmi.org EDI Service - axio-disc 35100/tcp # Axiomatic discovery protocol - axio-disc 35100/udp # Axiomatic discovery protocol - pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API - cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive - append1 - POSIX - UNIX - cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System - spremotetablet 46998/tcp # Capture handwritten signatures - ``` - 8. Записати відповідні рядки в інші файли (`w`) - ```bash - Shell > cat /root/test.txt | sed '/axio/w /root/storage.txt' - - Shell > cat /root/storage.txt - axio-disc 35100/tcp # Axiomatic discovery protocol - axio-disc 35100/udp # Axiomatic discovery protocol - ``` - -9. Читання/додавання наступного рядка введення в "простір шаблону" (`n` і `N`) - - - Надрукуйте наступний рядок відповідного рядка - ```bash - Shell > cat /root/test.txt - aigairserver 21221/tcp # Services for Air Server - ka-kdp 31016/udp # Kollective Agent Kollective Delivery - ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery - edi_service 34567/udp # dhanalakshmi.org EDI Service + Shell > cat /root/test.txt | sed '/axio/w /root/storage.txt' + + Shell > cat /root/storage.txt axio-disc 35100/tcp # Axiomatic discovery protocol axio-disc 35100/udp # Axiomatic discovery protocol - pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API - cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive - cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System - spremotetablet 46998/tcp # Capture handwritten signatures - - Shell > cat /root/test.txt | sed '/ping/{n;p}' -n - cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System ``` - !!! tip "Підказка" - - ``` - Кілька команд операції `sed` можуть впливати одна на одну, і ви можете використовувати "**{ }**", щоб зменшити цей вплив. - ``` - - - Друк рівних рядків тексту +9. Читання/додавання наступного рядка введення в "простір шаблону" (`n` і `N`) - Спочатку прочитайте перший рядок, оскільки присутня команда `n`; буде роздруковано другий рядок і так далі. + - Надрукуйте наступний рядок відповідного рядка + + ```bash + Shell > cat /root/test.txt + aigairserver 21221/tcp # Services for Air Server + ka-kdp 31016/udp # Kollective Agent Kollective Delivery + ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery + edi_service 34567/udp # dhanalakshmi.org EDI Service + axio-disc 35100/tcp # Axiomatic discovery protocol + axio-disc 35100/udp # Axiomatic discovery protocol + pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API + cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive + cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + spremotetablet 46998/tcp # Capture handwritten signatures + + Shell > cat /root/test.txt | sed '/ping/{n;p}' -n + cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + ``` + + !!! tip "Підказка" + + ``` + Кілька команд операції `sed` можуть впливати одна на одну, і ви можете використовувати "**{ }**", щоб зменшити цей вплив. + ``` + + - Друк рівних рядків тексту + + Спочатку прочитайте перший рядок, оскільки присутня команда `n`; буде роздруковано другий рядок і так далі. + + ```bash + Shell > cat -n /root/test.txt | sed -n '{n;p}' + # or + Shell > cat -n /root/test.txt | sed -n '2~2p' + 2 ka-kdp 31016/udp # Kollective Agent Kollective Delivery + 4 edi_service 34567/udp # dhanalakshmi.org EDI Service + 6 axio-disc 35100/udp # Axiomatic discovery protocol + 8 cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive + 10 spremotetablet 46998/tcp # Capture handwritten signatures + ``` + + - Друк непарних рядків тексту + + ```bash + Shell > cat -n /root/test.txt | sed -n '{p;n}' + # or + Shell > cat -n /root/test.txt | sed -n '1~2p' + # or + Shell > cat -n /root/test.txt | sed 'n;d' + 1 aigairserver 21221/tcp # Services for Air Server + 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery + 5 axio-disc 35100/tcp # Axiomatic discovery protocol + 7 pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API + 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + ``` + + - Вивести 3n рядків + + ```bash + Shell > cat -n /root/test.txt | sed -n '{n;n;p}' + # or + Shell > cat -n /root/test.txt | sed -n '3~3p' + 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery + 6 axio-disc 35100/udp # Axiomatic discovery protocol + 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + ``` + + - `N` + + Прочитайте перший рядок і додайте один рядок після зустрічі з командою `N`. У цьому прикладі «простір шаблону» — «1\n2». Нарешті, виконайте команду `q`, щоб вийти. + + ```bash + Shell > seq 1 10 | sed 'N;q' + 1 + 2 + ``` + + Оскільки після рядка 9 немає додаткового рядка, результат буде таким: + + ```bash + Shell > seq 1 9 | sed -n 'N;p' + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + ``` + + Коли зчитується останній рядок, команда `N` не виконується, і виводиться наступне: + + ```bash + Shell > seq 1 9 | sed -n '$!N;p' + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + ``` + + Об’єднати два рядки в один. Замініть "\n" у "шаблоні" пробілом. + + ```bash + Shell > seq 1 6 | sed 'N;{s/\n//g}' + 12 + 34 + 56 + ``` - ```bash - Shell > cat -n /root/test.txt | sed -n '{n;p}' - # or - Shell > cat -n /root/test.txt | sed -n '2~2p' - 2 ka-kdp 31016/udp # Kollective Agent Kollective Delivery - 4 edi_service 34567/udp # dhanalakshmi.org EDI Service - 6 axio-disc 35100/udp # Axiomatic discovery protocol - 8 cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive - 10 spremotetablet 46998/tcp # Capture handwritten signatures - ``` +10. Ігнорувати регістр ('I') - - Друк непарних рядків тексту + Здається, немає інформації про ігнорування регістру в `man 1 sed`. ```bash - Shell > cat -n /root/test.txt | sed -n '{p;n}' - # or - Shell > cat -n /root/test.txt | sed -n '1~2p' - # or - Shell > cat -n /root/test.txt | sed 'n;d' - 1 aigairserver 21221/tcp # Services for Air Server - 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery - 5 axio-disc 35100/tcp # Axiomatic discovery protocol - 7 pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API - 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + Shell > echo -e "abc\nAbc" | sed -n 's/a/X/Igp' + Xbc + XBC ``` - - Вивести 3n рядків - ```bash - Shell > cat -n /root/test.txt | sed -n '{n;n;p}' - # or - Shell > cat -n /root/test.txt | sed -n '3~3p' - 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery - 6 axio-disc 35100/udp # Axiomatic discovery protocol - 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System + Shell > cat /etc/services | sed '/OEM/Ip' -n + oem-agent 3872/tcp # OEM Agent + oem-agent 3872/udp # OEM Agent + oemcacao-jmxmp 11172/tcp # OEM cacao JMX-remoting access point + oemcacao-rmi 11174/tcp # OEM cacao rmi registry access point + oemcacao-websvc 11175/tcp # OEM cacao web service access point ``` - - `N` - - Прочитайте перший рядок і додайте один рядок після зустрічі з командою `N`. У цьому прикладі «простір шаблону» — «1\n2». Нарешті, виконайте команду `q`, щоб вийти. - ```bash - Shell > seq 1 10 | sed 'N;q' - 1 - 2 + Shell > cat /etc/services | sed -r '/(TCP)|(UDP)/Id' ``` - Оскільки після рядка 9 немає додаткового рядка, результат буде таким: - ```bash - Shell > seq 1 9 | sed -n 'N;p' - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 + Shell > cat /etc/services | sed -r '/(TCP)|(UDP)/Ic TMP' ``` - Коли зчитується останній рядок, команда `N` не виконується, і виводиться наступне: +11. Отримує загальну кількість рядків у файлі ```bash - Shell > seq 1 9 | sed -n '$!N;p' - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - ``` - - Об’єднати два рядки в один. Замініть "\n" у "шаблоні" пробілом. + Shell > cat /etc/services | sed -n '$=' + # or + Shell > cat /etc/services | wc -l - ```bash - Shell > seq 1 6 | sed 'N;{s/\n//g}' - 12 - 34 - 56 + 11473 ``` - -10. Ігнорувати регістр ('I') - - Здається, немає інформації про ігнорування регістру в `man 1 sed`. - - ```bash - Shell > echo -e "abc\nAbc" | sed -n 's/a/X/Igp' - Xbc - XBC - ``` - - ```bash - Shell > cat /etc/services | sed '/OEM/Ip' -n - oem-agent 3872/tcp # OEM Agent - oem-agent 3872/udp # OEM Agent - oemcacao-jmxmp 11172/tcp # OEM cacao JMX-remoting access point - oemcacao-rmi 11174/tcp # OEM cacao rmi registry access point - oemcacao-websvc 11175/tcp # OEM cacao web service access point - ``` - - ```bash - Shell > cat /etc/services | sed -r '/(TCP)|(UDP)/Id' - ``` - - ```bash - Shell > cat /etc/services | sed -r '/(TCP)|(UDP)/Ic TMP' - ``` - -11. Отримує загальну кількість рядків у файлі - - ```bash - Shell > cat /etc/services | sed -n '$=' - # or - Shell > cat /etc/services | wc -l - - 11473 - ``` diff --git a/docs/books/sed_awk_grep/index.fr.md b/docs/books/sed_awk_grep/index.fr.md index 79d5b106bb..0f4135e65b 100644 --- a/docs/books/sed_awk_grep/index.fr.md +++ b/docs/books/sed_awk_grep/index.fr.md @@ -1,7 +1,7 @@ --- title: Sed, Awk & Grep - the Three Swordsmen author: tianci li -contributors: null +contributors: tags: - grep - sed diff --git a/docs/books/sed_awk_grep/index.it.md b/docs/books/sed_awk_grep/index.it.md index c35b3359af..1b350fe037 100644 --- a/docs/books/sed_awk_grep/index.it.md +++ b/docs/books/sed_awk_grep/index.it.md @@ -1,7 +1,7 @@ --- title: Sed, Awk e Grep - i tre spadaccini author: tianci li -contributors: null +contributors: tags: - grep - sed diff --git a/docs/books/sed_awk_grep/index.uk.md b/docs/books/sed_awk_grep/index.uk.md index 409675d810..89989f24a3 100644 --- a/docs/books/sed_awk_grep/index.uk.md +++ b/docs/books/sed_awk_grep/index.uk.md @@ -1,7 +1,7 @@ --- title: Sed, Awk & Grep - три мечники author: tianci li -contributors: null +contributors: tags: - grep - sed diff --git a/docs/books/web_services/01-files-servers.de.md b/docs/books/web_services/01-files-servers.de.md index 2fba88b646..3698f14132 100644 --- a/docs/books/web_services/01-files-servers.de.md +++ b/docs/books/web_services/01-files-servers.de.md @@ -1,6 +1,6 @@ --- -author: null -contributors: null +author: +contributors: title: Erster Teil File-Server tags: - ftp diff --git a/docs/books/web_services/01-files-servers.fr.md b/docs/books/web_services/01-files-servers.fr.md index 9d91d316c4..863b4b06c0 100644 --- a/docs/books/web_services/01-files-servers.fr.md +++ b/docs/books/web_services/01-files-servers.fr.md @@ -1,6 +1,6 @@ --- -author: null -contributors: null +author: +contributors: title: Chapitre 1. Serveurs de Fichiers tags: - ftp diff --git a/docs/books/web_services/01-files-servers.it.md b/docs/books/web_services/01-files-servers.it.md index 3a8d1f83b5..688fdeaceb 100644 --- a/docs/books/web_services/01-files-servers.it.md +++ b/docs/books/web_services/01-files-servers.it.md @@ -1,6 +1,6 @@ --- -author: null -contributors: null +author: +contributors: title: Capitolo 1. Files Servers tags: - ftp diff --git a/docs/books/web_services/01-files-servers.uk.md b/docs/books/web_services/01-files-servers.uk.md index 0cce48a769..dc40d25aa8 100644 --- a/docs/books/web_services/01-files-servers.uk.md +++ b/docs/books/web_services/01-files-servers.uk.md @@ -1,6 +1,6 @@ --- -author: null -contributors: null +author: +contributors: title: Частина 1 Files Servers tags: - ftp diff --git a/docs/books/web_services/04-database-servers.it.md b/docs/books/web_services/04-database-servers.it.md index 40eb2f6d87..26e37db843 100644 --- a/docs/books/web_services/04-database-servers.it.md +++ b/docs/books/web_services/04-database-servers.it.md @@ -1,6 +1,6 @@ --- -author: null -contributors: null +author: +contributors: title: Capitolo 4. Server Database --- diff --git a/docs/books/web_services/04-database-servers.uk.md b/docs/books/web_services/04-database-servers.uk.md index 43f2fb7d76..a46598b347 100644 --- a/docs/books/web_services/04-database-servers.uk.md +++ b/docs/books/web_services/04-database-servers.uk.md @@ -1,6 +1,6 @@ --- -author: null -contributors: null +author: +contributors: title: Частина 4. Сервери баз даних --- diff --git a/docs/books/web_services/05-load-balancer-proxies.fr.md b/docs/books/web_services/05-load-balancer-proxies.fr.md index 5d245a6ce5..e962544428 100644 --- a/docs/books/web_services/05-load-balancer-proxies.fr.md +++ b/docs/books/web_services/05-load-balancer-proxies.fr.md @@ -1,6 +1,6 @@ --- author: Antoine Le Morvan -contributors: null +contributors: title: Chapitre 5 Équilibrage de charge, mise en cache et proxy --- diff --git a/docs/books/web_services/05-load-balancer-proxies.it.md b/docs/books/web_services/05-load-balancer-proxies.it.md index a20c1cf580..2923eb5f27 100644 --- a/docs/books/web_services/05-load-balancer-proxies.it.md +++ b/docs/books/web_services/05-load-balancer-proxies.it.md @@ -1,6 +1,6 @@ --- author: Antoine Le Morvan -contributors: null +contributors: title: Capitolo 5. Load balancing, caching e proxy --- diff --git a/docs/books/web_services/05-load-balancer-proxies.uk.md b/docs/books/web_services/05-load-balancer-proxies.uk.md index fde1f35998..6988d47630 100644 --- a/docs/books/web_services/05-load-balancer-proxies.uk.md +++ b/docs/books/web_services/05-load-balancer-proxies.uk.md @@ -1,6 +1,6 @@ --- author: Antoine Le Morvan -contributors: null +contributors: title: Частина 5. Балансування навантаження, кешування та проксіфікація --- diff --git a/docs/books/web_services/051-load-balancer-proxies-haproxy.it.md b/docs/books/web_services/051-load-balancer-proxies-haproxy.it.md index a40cfb2ede..67650c165a 100644 --- a/docs/books/web_services/051-load-balancer-proxies-haproxy.it.md +++ b/docs/books/web_services/051-load-balancer-proxies-haproxy.it.md @@ -1,6 +1,6 @@ --- author: Antoine Le Morvan -contributors: null +contributors: title: Part 5.1 HAProxy --- diff --git a/docs/books/web_services/051-load-balancer-proxies-haproxy.uk.md b/docs/books/web_services/051-load-balancer-proxies-haproxy.uk.md index 4eed2d4bee..b519e8024c 100644 --- a/docs/books/web_services/051-load-balancer-proxies-haproxy.uk.md +++ b/docs/books/web_services/051-load-balancer-proxies-haproxy.uk.md @@ -1,6 +1,6 @@ --- author: Antoine Le Morvan -contributors: null +contributors: title: Частина 5.1 HAProxy --- diff --git a/docs/books/web_services/06-mails-servers.de.md b/docs/books/web_services/06-mails-servers.de.md index a47c3a8fee..d99fe72cea 100644 --- a/docs/books/web_services/06-mails-servers.de.md +++ b/docs/books/web_services/06-mails-servers.de.md @@ -1,6 +1,6 @@ --- -author: null -contributors: null +author: +contributors: title: Kapitel 6 – Mail-Server --- diff --git a/docs/books/web_services/06-mails-servers.fr.md b/docs/books/web_services/06-mails-servers.fr.md index b76394088c..7fc694c10d 100644 --- a/docs/books/web_services/06-mails-servers.fr.md +++ b/docs/books/web_services/06-mails-servers.fr.md @@ -1,6 +1,6 @@ --- -author: null -contributors: null +author: +contributors: title: Chapitre 6 Serveurs de messagerie --- diff --git a/docs/books/web_services/06-mails-servers.it.md b/docs/books/web_services/06-mails-servers.it.md index b86c2ec892..9460d05e2e 100644 --- a/docs/books/web_services/06-mails-servers.it.md +++ b/docs/books/web_services/06-mails-servers.it.md @@ -1,6 +1,6 @@ --- -author: null -contributors: null +author: +contributors: title: Capitolo 6. Server mail --- diff --git a/docs/books/web_services/06-mails-servers.uk.md b/docs/books/web_services/06-mails-servers.uk.md index 902e3d14af..f378925fe9 100644 --- a/docs/books/web_services/06-mails-servers.uk.md +++ b/docs/books/web_services/06-mails-servers.uk.md @@ -1,6 +1,6 @@ --- -author: null -contributors: null +author: +contributors: title: Частина 6. Поштові сервери --- diff --git a/docs/desktop/gnome/file-shredder.de.md b/docs/desktop/gnome/file-shredder.de.md index ac14f9f9d9..275a3baa6c 100644 --- a/docs/desktop/gnome/file-shredder.de.md +++ b/docs/desktop/gnome/file-shredder.de.md @@ -22,19 +22,19 @@ Für diese Anleitung benötigen Sie Folgendes: 1. Gehen Sie zu [Flathub.org] (https://flathub.org), geben Sie `File Shredder` in die Suchleiste ein und klicken Sie auf **Install** - ![manual install script and run script](images/file-shredder_install.png) + ![manual install script and run script](images/file-shredder_install.png) 2. Kopieren Sie das manuelle Skript in Ihr Terminal: - ```bash - flatpak install flathub io.github.ADBeveridge.Raider - ``` + ```bash + flatpak install flathub io.github.ADBeveridge.Raider + ``` 3. Führen Sie anschließend das manuelle Installationsskript in Ihrem Terminal aus: - ```bash - flatpak run flathub io.github.ADBeveridge.Raider - ``` + ```bash + flatpak run flathub io.github.ADBeveridge.Raider + ``` ## Anwendungshinweise @@ -42,7 +42,7 @@ Gehen Sie wie folgt vor, um `File Shredder` zu verwenden: 1. Ziehen oder klicken Sie auf **Add file**, um die Datei(en) auszuwählen, die Sie entfernen möchten - ![Screenshot of the File Shredder homepage, showing the add drop-down menu and drop here button being highlighted by red rectangles](images/02_file-shredder.png) + ![Screenshot of the File Shredder homepage, showing the add drop-down menu and drop here button being highlighted by red rectangles](images/02_file-shredder.png) 2. Auf **Shred All** klicken diff --git a/docs/desktop/gnome/file-shredder.fr.md b/docs/desktop/gnome/file-shredder.fr.md index 435f4a050c..11502151b1 100644 --- a/docs/desktop/gnome/file-shredder.fr.md +++ b/docs/desktop/gnome/file-shredder.fr.md @@ -22,19 +22,19 @@ Ce guide suppose que vous disposez de la configuration suivante : 1. Accédez au [site Web Flathub](https://flathub.org/), tapez `File Shredder` dans la barre de recherche et cliquez sur **Install** - ![manual install script and run script](images/file-shredder_install.png) + ![manual install script and run script](images/file-shredder_install.png) 2. Copiez le script d'installation manuelle dans un terminal : - ```bash - flatpak install flathub io.github.ADBeveridge.Raider - ``` + ```bash + flatpak install flathub io.github.ADBeveridge.Raider + ``` 3. Enfin, exécutez le script d'installation manuelle dans votre terminal : - ```bash - flatpak run flathub io.github.ADBeveridge.Raider - ``` + ```bash + flatpak run flathub io.github.ADBeveridge.Raider + ``` ## Mode d'emploi @@ -42,7 +42,7 @@ Pour utiliser le programme `File Shredder`, procédez comme suit : 1. Faites glisser ou cliquez sur **Add File** pour sélectionner le(s) fichier(s) que vous souhaitez supprimer - ![Screenshot of the File Shredder homepage, showing the add drop-down menu and drop here button being highlighted by red rectangles](images/02_file-shredder.png) + ![Screenshot of the File Shredder homepage, showing the add drop-down menu and drop here button being highlighted by red rectangles](images/02_file-shredder.png) 2. Cliquez sur **Shred All** diff --git a/docs/desktop/gnome/file-shredder.it.md b/docs/desktop/gnome/file-shredder.it.md index b838782347..ad99ae2a61 100644 --- a/docs/desktop/gnome/file-shredder.it.md +++ b/docs/desktop/gnome/file-shredder.it.md @@ -22,19 +22,19 @@ Questa guida presuppone che si disponga di quanto segue: 1. Andate sul [sito web di Flathub](https://flathub.org), digitate "File Shredder" nella barra di ricerca e cliccate su **Install** - ![manual install script and run script](images/file-shredder_install.png) + ![manual install script and run script](images/file-shredder_install.png) 2. Copiare lo script manuale nel terminale: - ```bash - flatpak install flathub io.github.ADBeveridge.Raider - ``` + ```bash + flatpak install flathub io.github.ADBeveridge.Raider + ``` 3. Infine, eseguire lo script manuale nel terminale: - ```bash - flatpak run flathub io.github.ADBeveridge.Raider - ``` + ```bash + flatpak run flathub io.github.ADBeveridge.Raider + ``` ## Istruzioni @@ -42,7 +42,7 @@ Per utilizzare File Shredder, procedere come segue: 1. Trascinare o fare clic su **Aggiungi file** per scegliere il file o i file che si desidera rimuovere - ![Screenshot of the File Shredder homepage, showing the add drop-down menu and drop here button being highlighted by red rectangles](images/02_file-shredder.png) + ![Screenshot of the File Shredder homepage, showing the add drop-down menu and drop here button being highlighted by red rectangles](images/02_file-shredder.png) 2. Cliccare su **Shred All** diff --git a/docs/desktop/gnome/file-shredder.uk.md b/docs/desktop/gnome/file-shredder.uk.md index 62d9ae4184..af428bf672 100644 --- a/docs/desktop/gnome/file-shredder.uk.md +++ b/docs/desktop/gnome/file-shredder.uk.md @@ -22,19 +22,19 @@ contributors: Steven Spencer, Ganna Zhyrnova 1. Перейдіть на [веб-сайт Flathub](https://flathub.org), введіть «File Shredder» у рядку пошуку та натисніть **Install** - ![manual install script and run script](images/file-shredder_install.png) + ![manual install script and run script](images/file-shredder_install.png) 2. Скопіюйте скрипт у свій термінал: - ```bash - flatpak install flathub io.github.ADBeveridge.Raider - ``` + ```bash + flatpak install flathub io.github.ADBeveridge.Raider + ``` 3. Нарешті, запустіть сценарій у вашому терміналі: - ```bash - flatpak run flathub io.github.ADBeveridge.Raider - ``` + ```bash + flatpak run flathub io.github.ADBeveridge.Raider + ``` ## Як цим користуватися @@ -42,7 +42,7 @@ contributors: Steven Spencer, Ganna Zhyrnova 1. Перетягніть або клацніть **Add file**, щоб вибрати файли, які потрібно видалити - ![Screenshot of the File Shredder homepage, showing the add drop-down menu and drop here button being highlighted by red rectangles](images/02_file-shredder.png) + ![Screenshot of the File Shredder homepage, showing the add drop-down menu and drop here button being highlighted by red rectangles](images/02_file-shredder.png) 2. Натисніть **Shred All** diff --git a/docs/desktop/gnome/flatpak.de.md b/docs/desktop/gnome/flatpak.de.md index f9de79260a..8e5296735a 100644 --- a/docs/desktop/gnome/flatpak.de.md +++ b/docs/desktop/gnome/flatpak.de.md @@ -166,51 +166,51 @@ Der Installationsprozess für OBS Studio sieht beispielsweise wie folgt aus: 3. Klicken Sie auf den Abwärtspfeil neben der Schaltfläche „Installieren“ - ![flathub_install_1](images/01_flatpak.png) + ![flathub_install_1](images/01_flatpak.png) - ![flathub_install_2](images/02_flatpak.png) + ![flathub_install_2](images/02_flatpak.png) 4. Stellen Sie sicher, dass Sie alle Installationsvoraussetzungen für Rocky Linux erfüllt haben (Nummer 1 im zweiten Bild, das oben bereits abgeschlossen ist), kopieren Sie dann den Befehl (Nummer 2 im zweiten Bild) und fügen Sie ihn in ein Terminal ein - ```bash - flatpak install flathub com.obsproject.Studio - Looking for matches… - Required runtime for com.obsproject.Studio/x86_64/stable (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub - Do you want to install it? [Y/n]: Y - ``` + ```bash + flatpak install flathub com.obsproject.Studio + Looking for matches… + Required runtime for com.obsproject.Studio/x86_64/stable (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub + Do you want to install it? [Y/n]: Y + ``` 5. Wenn Sie mit „Y“ antworten und ++enter++ drücken, wird Folgendes angezeigt: - ```bash - com.obsproject.Studio permissions: - ipc network pulseaudio wayland - x11 devices file access [1] dbus access [2] - system dbus access [3] - - [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0 - [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications, - org.kde.KGlobalSettings, org.kde.StatusNotifierWatcher, org.kde.kconfig.notify - [3] org.freedesktop.Avahi - - ID Branch Op Remote Download - 1. com.obsproject.Studio.Locale stable i flathub < 47.0 kB (partial) - 2. org.kde.KStyle.Adwaita 6.6 i flathub < 8.0 MB - 3. org.kde.Platform.Locale 6.6 i flathub < 380.6 MB (partial) - 4. org.kde.PlatformTheme.QGnomePlatform 6.6 i flathub < 9.7 MB - 5. org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 i flathub < 1.2 MB - 6. org.kde.Platform 6.6 i flathub < 325.0 MB - 7. com.obsproject.Studio stable i flathub < 207.7 MB - - Proceed with these changes to the system installation? [Y/n]: - ``` + ```bash + com.obsproject.Studio permissions: + ipc network pulseaudio wayland + x11 devices file access [1] dbus access [2] + system dbus access [3] + + [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0 + [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications, + org.kde.KGlobalSettings, org.kde.StatusNotifierWatcher, org.kde.kconfig.notify + [3] org.freedesktop.Avahi + + ID Branch Op Remote Download + 1. com.obsproject.Studio.Locale stable i flathub < 47.0 kB (partial) + 2. org.kde.KStyle.Adwaita 6.6 i flathub < 8.0 MB + 3. org.kde.Platform.Locale 6.6 i flathub < 380.6 MB (partial) + 4. org.kde.PlatformTheme.QGnomePlatform 6.6 i flathub < 9.7 MB + 5. org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 i flathub < 1.2 MB + 6. org.kde.Platform 6.6 i flathub < 325.0 MB + 7. com.obsproject.Studio stable i flathub < 207.7 MB + + Proceed with these changes to the system installation? [Y/n]: + ``` 6. Wenn Sie mit „Y“ antworten und ++enter++ drücken, werden die Systemberechtigungen wie angegeben geändert und die Anwendung installiert. 7. Wenn alles gut geht, sollten Sie folgende Meldung erhalten: - ```text - Installation complete. - ``` + ```text + Installation complete. + ``` 8. Im Menü „Aktivities“ können Sie nun nach OBS Studio suchen und es ausführen. diff --git a/docs/desktop/gnome/flatpak.fr.md b/docs/desktop/gnome/flatpak.fr.md index f8d7986c0a..503025608f 100644 --- a/docs/desktop/gnome/flatpak.fr.md +++ b/docs/desktop/gnome/flatpak.fr.md @@ -166,51 +166,51 @@ Pour parcourir `Flathub`, veuillez consulter . Une énorme 3. Cliquez sur la flèche vers le bas à côté du bouton « Install » - ![flathub_install_1](images/01_flatpak.png) + ![flathub_install_1](images/01_flatpak.png) - ![flathub_install_2](images/02_flatpak.png) + ![flathub_install_2](images/02_flatpak.png) 4. Assurez-vous d'avoir rempli toutes les conditions préalables à l'installation de Rocky Linux (numéro 1 dans la deuxième image, qui est déjà complété ci-dessus), puis copiez la commande (numéro 2 dans la deuxième image) et collez-la dans un terminal - ```bash - flatpak install flathub com.obsproject.Studio - Looking for matches… - Required runtime for com.obsproject.Studio/x86_64/stable (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub - Do you want to install it? [Y/n]: Y - ``` + ```bash + flatpak install flathub com.obsproject.Studio + Looking for matches… + Required runtime for com.obsproject.Studio/x86_64/stable (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub + Do you want to install it? [Y/n]: Y + ``` 5. Lorsque vous répondez « Y » et appuyez sur ++enter++, vous verrez ce qui suit : - ```bash - com.obsproject.Studio permissions: - ipc network pulseaudio wayland - x11 devices file access [1] dbus access [2] - system dbus access [3] - - [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0 - [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications, - org.kde.KGlobalSettings, org.kde.StatusNotifierWatcher, org.kde.kconfig.notify - [3] org.freedesktop.Avahi - - ID Branch Op Remote Download - 1. com.obsproject.Studio.Locale stable i flathub < 47.0 kB (partial) - 2. org.kde.KStyle.Adwaita 6.6 i flathub < 8.0 MB - 3. org.kde.Platform.Locale 6.6 i flathub < 380.6 MB (partial) - 4. org.kde.PlatformTheme.QGnomePlatform 6.6 i flathub < 9.7 MB - 5. org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 i flathub < 1.2 MB - 6. org.kde.Platform 6.6 i flathub < 325.0 MB - 7. com.obsproject.Studio stable i flathub < 207.7 MB - - Proceed with these changes to the system installation? [Y/n]: - ``` + ```bash + com.obsproject.Studio permissions: + ipc network pulseaudio wayland + x11 devices file access [1] dbus access [2] + system dbus access [3] + + [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0 + [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications, + org.kde.KGlobalSettings, org.kde.StatusNotifierWatcher, org.kde.kconfig.notify + [3] org.freedesktop.Avahi + + ID Branch Op Remote Download + 1. com.obsproject.Studio.Locale stable i flathub < 47.0 kB (partial) + 2. org.kde.KStyle.Adwaita 6.6 i flathub < 8.0 MB + 3. org.kde.Platform.Locale 6.6 i flathub < 380.6 MB (partial) + 4. org.kde.PlatformTheme.QGnomePlatform 6.6 i flathub < 9.7 MB + 5. org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 i flathub < 1.2 MB + 6. org.kde.Platform 6.6 i flathub < 325.0 MB + 7. com.obsproject.Studio stable i flathub < 207.7 MB + + Proceed with these changes to the system installation? [Y/n]: + ``` 6. Répondre « Y » et appuyer sur ++enter++ modifiera les autorisations du système comme indiqué et installera l'application. 7. Si tout se passe bien, vous devriez obtenir le message suivant : - ```text - Installation complete. - ``` + ```text + Installation complete. + ``` 8. Depuis le menu « Activities », vous pouvez désormais rechercher et exécuter OBS Studio. diff --git a/docs/desktop/gnome/flatpak.it.md b/docs/desktop/gnome/flatpak.it.md index ffc9018d05..28bdc60de1 100644 --- a/docs/desktop/gnome/flatpak.it.md +++ b/docs/desktop/gnome/flatpak.it.md @@ -166,51 +166,51 @@ A titolo di esempio, il processo di installazione di OBS Studio è il seguente: 3. Cliccare sulla freccia rivolta verso il basso accanto al pulsante "Installa" - ![flathub_install_1](images/01_flatpak.png) + ![flathub_install_1](images/01_flatpak.png) - ![flathub_install_2](images/02_flatpak.png) + ![flathub_install_2](images/02_flatpak.png) 4. Assicuratevi di aver completato tutti i prerequisiti per l'installazione di Rocky Linux (numero 1 nella seconda immagine, che è già stato completato sopra) e poi copiate il comando (numero 2 nella seconda immagine) e incollatelo in un terminale - ```bash - flatpak install flathub com.obsproject.Studio - Looking for matches… - Required runtime for com.obsproject.Studio/x86_64/stable (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub - Do you want to install it? [Y/n]: Y - ``` + ```bash + flatpak install flathub com.obsproject.Studio + Looking for matches… + Required runtime for com.obsproject.Studio/x86_64/stable (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub + Do you want to install it? [Y/n]: Y + ``` 5. Quando si risponde "Y" e si preme ++enter++, viene visualizzato il seguente messaggio: - ```bash - com.obsproject.Studio permissions: - ipc network pulseaudio wayland - x11 devices file access [1] dbus access [2] - system dbus access [3] - - [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0 - [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications, - org.kde.KGlobalSettings, org.kde.StatusNotifierWatcher, org.kde.kconfig.notify - [3] org.freedesktop.Avahi - - ID Branch Op Remote Download - 1. com.obsproject.Studio.Locale stable i flathub < 47.0 kB (partial) - 2. org.kde.KStyle.Adwaita 6.6 i flathub < 8.0 MB - 3. org.kde.Platform.Locale 6.6 i flathub < 380.6 MB (partial) - 4. org.kde.PlatformTheme.QGnomePlatform 6.6 i flathub < 9.7 MB - 5. org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 i flathub < 1.2 MB - 6. org.kde.Platform 6.6 i flathub < 325.0 MB - 7. com.obsproject.Studio stable i flathub < 207.7 MB - - Proceed with these changes to the system installation? [Y/n]: - ``` + ```bash + com.obsproject.Studio permissions: + ipc network pulseaudio wayland + x11 devices file access [1] dbus access [2] + system dbus access [3] + + [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0 + [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications, + org.kde.KGlobalSettings, org.kde.StatusNotifierWatcher, org.kde.kconfig.notify + [3] org.freedesktop.Avahi + + ID Branch Op Remote Download + 1. com.obsproject.Studio.Locale stable i flathub < 47.0 kB (partial) + 2. org.kde.KStyle.Adwaita 6.6 i flathub < 8.0 MB + 3. org.kde.Platform.Locale 6.6 i flathub < 380.6 MB (partial) + 4. org.kde.PlatformTheme.QGnomePlatform 6.6 i flathub < 9.7 MB + 5. org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 i flathub < 1.2 MB + 6. org.kde.Platform 6.6 i flathub < 325.0 MB + 7. com.obsproject.Studio stable i flathub < 207.7 MB + + Proceed with these changes to the system installation? [Y/n]: + ``` 6. Rispondendo "Y" e premendo ++enter++ si modificheranno i permessi di sistema come indicato e si installerà l'applicazione. 7. Se tutto va bene, dovreste ricevere: - ```text - Installation complete. - ``` + ```text + Installation complete. + ``` 8. Dal menu "Attività" è ora possibile cercare ed eseguire OBS Studio. diff --git a/docs/desktop/gnome/flatpak.uk.md b/docs/desktop/gnome/flatpak.uk.md index 43f440385d..86d9f71753 100644 --- a/docs/desktop/gnome/flatpak.uk.md +++ b/docs/desktop/gnome/flatpak.uk.md @@ -166,51 +166,51 @@ Flathub — це веб-ресурс для отримання або надси 3. Натисніть стрілку вниз поруч із кнопкою «Встановити» - ![flathub_install_1](images/01_flatpak.png) + ![flathub_install_1](images/01_flatpak.png) - ![flathub_install_2](images/02_flatpak.png) + ![flathub_install_2](images/02_flatpak.png) 4. Переконайтеся, що ви виконали всі передумови встановлення для Rocky Linux (номер 1 на другому зображенні, яке вже виконано вище), а потім скопіюйте команду (номер 2 на другому зображенні) і вставте її в термінал - ```bash - flatpak install flathub com.obsproject.Studio - Looking for matches… - Required runtime for com.obsproject.Studio/x86_64/stable (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub - Do you want to install it? [Y/n]: Y - ``` + ```bash + flatpak install flathub com.obsproject.Studio + Looking for matches… + Required runtime for com.obsproject.Studio/x86_64/stable (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub + Do you want to install it? [Y/n]: Y + ``` 5. Коли ви відповісте «Y» і натиснете ++enter++, ви побачите таке: - ```bash - com.obsproject.Studio permissions: - ipc network pulseaudio wayland - x11 devices file access [1] dbus access [2] - system dbus access [3] - - [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0 - [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications, - org.kde.KGlobalSettings, org.kde.StatusNotifierWatcher, org.kde.kconfig.notify - [3] org.freedesktop.Avahi - - ID Branch Op Remote Download - 1. com.obsproject.Studio.Locale stable i flathub < 47.0 kB (partial) - 2. org.kde.KStyle.Adwaita 6.6 i flathub < 8.0 MB - 3. org.kde.Platform.Locale 6.6 i flathub < 380.6 MB (partial) - 4. org.kde.PlatformTheme.QGnomePlatform 6.6 i flathub < 9.7 MB - 5. org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 i flathub < 1.2 MB - 6. org.kde.Platform 6.6 i flathub < 325.0 MB - 7. com.obsproject.Studio stable i flathub < 207.7 MB - - Proceed with these changes to the system installation? [Y/n]: - ``` + ```bash + com.obsproject.Studio permissions: + ipc network pulseaudio wayland + x11 devices file access [1] dbus access [2] + system dbus access [3] + + [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0 + [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications, + org.kde.KGlobalSettings, org.kde.StatusNotifierWatcher, org.kde.kconfig.notify + [3] org.freedesktop.Avahi + + ID Branch Op Remote Download + 1. com.obsproject.Studio.Locale stable i flathub < 47.0 kB (partial) + 2. org.kde.KStyle.Adwaita 6.6 i flathub < 8.0 MB + 3. org.kde.Platform.Locale 6.6 i flathub < 380.6 MB (partial) + 4. org.kde.PlatformTheme.QGnomePlatform 6.6 i flathub < 9.7 MB + 5. org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 i flathub < 1.2 MB + 6. org.kde.Platform 6.6 i flathub < 325.0 MB + 7. com.obsproject.Studio stable i flathub < 207.7 MB + + Proceed with these changes to the system installation? [Y/n]: + ``` 6. Якщо відповісти «Y» і натиснути ++enter++, системні дозволи будуть змінені, як зазначено, і встановлено програму. 7. Якщо все піде добре, ви повинні отримати: - ```text - Installation complete. - ``` + ```text + Installation complete. + ``` 8. Тепер у меню «Activities» ви зможете шукати та запускати OBS Studio. diff --git a/docs/desktop/gnome/valuta.de.md b/docs/desktop/gnome/valuta.de.md index bfcf3010dc..88974d4958 100644 --- a/docs/desktop/gnome/valuta.de.md +++ b/docs/desktop/gnome/valuta.de.md @@ -22,19 +22,19 @@ Für diese Anleitung benötigen Sie Folgendes: 1. Gehen Sie zu [Flathub.org] (https://flathub.org), geben Sie `Valuta` in die Suchleiste ein und klicken Sie auf **Install** - ![manual install script and run script](images/valuta-install.png) + ![manual install script and run script](images/valuta-install.png) 2. Kopieren Sie das manuelle Skript in Ihr Terminal: - ```bash - flatpak install flathub io.github.idevecore.Valuta - ``` + ```bash + flatpak install flathub io.github.idevecore.Valuta + ``` 3. Führen Sie anschließend das manuelle Installationsskript in Ihrem Terminal aus: - ```bash - flatpak run flathub io.github.idevecore.Valuta - ``` + ```bash + flatpak run flathub io.github.idevecore.Valuta + ``` ## Wie funktioniert es? @@ -42,7 +42,7 @@ Um `Valuta` zu verwenden, gehen Sie wie folgt vor: 1. Wählen Sie im Dropdown-Menü Ihr Land aus und geben Sie den Betrag ein, den Sie ausgeben möchten. - ![Screenshot of Valuta app showing 1000 USD in the input field, with a grey arrow pointing down to a grey box showing 1000 USD](images/02_valuta.png) + ![Screenshot of Valuta app showing 1000 USD in the input field, with a grey arrow pointing down to a grey box showing 1000 USD](images/02_valuta.png) 2. Wählen Sie aus dem Dropdown-Menü das Land aus, in das Sie reisen. Der umgerechnete Betrag wird automatisch angezeigt. diff --git a/docs/desktop/gnome/valuta.fr.md b/docs/desktop/gnome/valuta.fr.md index 755ff2d7f2..272204d72a 100644 --- a/docs/desktop/gnome/valuta.fr.md +++ b/docs/desktop/gnome/valuta.fr.md @@ -22,19 +22,19 @@ Ce guide suppose que vous disposez de la configuration suivante : 1. Accédez à [Flathub.org](https://flathub.org), tapez `Valuta` dans la barre de recherche et cliquez sur **Install** - ![manual install script and run script](images/valuta-install.png) + ![manual install script and run script](images/valuta-install.png) 2. Copiez le script d'installation manuelle dans un terminal : - ```bash - flatpak install flathub io.github.idevecore.Valuta - ``` + ```bash + flatpak install flathub io.github.idevecore.Valuta + ``` 3. Enfin, exécutez le script d'installation manuelle dans votre terminal : - ```bash - flatpak run flathub io.github.idevecore.Valuta - ``` + ```bash + flatpak run flathub io.github.idevecore.Valuta + ``` ## Mode d'emploi @@ -42,7 +42,7 @@ Pour utiliser le programme `Valuta`, procédez comme suit : 1. Choisissez votre pays dans le menu déroulant et saisissez le montant en espèces que vous souhaitez dépenser. - ![Screenshot of Valuta app showing 1000 USD in the input field, with a grey arrow pointing down to a grey box showing 1000 USD](images/02_valuta.png) + ![Screenshot of Valuta app showing 1000 USD in the input field, with a grey arrow pointing down to a grey box showing 1000 USD](images/02_valuta.png) 2. Choisissez le pays vers lequel vous voyagez dans le menu déroulant. À partir de là, le montant converti apparaît automatiquement. diff --git a/docs/desktop/gnome/valuta.it.md b/docs/desktop/gnome/valuta.it.md index ee7aa92446..2938b0328b 100644 --- a/docs/desktop/gnome/valuta.it.md +++ b/docs/desktop/gnome/valuta.it.md @@ -22,19 +22,19 @@ Questa guida presuppone che si disponga di quanto segue: 1. Andate su [Flathub.org](https://flathub.org), digitate "Valuta" nella barra di ricerca e cliccate su **Installa** - ![manual install script and run script](images/valuta-install.png) + ![manual install script and run script](images/valuta-install.png) 2. Copiare lo script manuale nel terminale: - ```bash - flatpak install flathub io.github.idevecore.Valuta - ``` + ```bash + flatpak install flathub io.github.idevecore.Valuta + ``` 3. Infine, lo script manuale nel terminale: - ```bash - flatpak run flathub io.github.idevecore.Valuta - ``` + ```bash + flatpak run flathub io.github.idevecore.Valuta + ``` ## Guida all'uso @@ -42,7 +42,7 @@ Per utilizzare Valuta, procedere come segue: 1. Scegliete il vostro Paese dal menu a tendina e digitate il denaro che volete spendere. - ![Screenshot of Valuta app showing 1000 USD in the input field, with a grey arrow pointing down to a grey box showing 1000 USD](images/02_valuta.png) + ![Screenshot of Valuta app showing 1000 USD in the input field, with a grey arrow pointing down to a grey box showing 1000 USD](images/02_valuta.png) 2. Selezionare il Paese in cui si viaggia dal menu a discesa. L'importo convertito apparirà automaticamente. diff --git a/docs/desktop/gnome/valuta.uk.md b/docs/desktop/gnome/valuta.uk.md index d6fed5e0e9..62b5aa4f0a 100644 --- a/docs/desktop/gnome/valuta.uk.md +++ b/docs/desktop/gnome/valuta.uk.md @@ -22,19 +22,19 @@ contributors: Steven Spencer, Ganna Zhyrnova 1. Перейдіть на [Flathub.org](https://flathub.org), введіть «Valuta» в рядку пошуку та натисніть **Install** - ![manual install script and run script](images/valuta-install.png) + ![manual install script and run script](images/valuta-install.png) 2. Скопіюйте скрипт у свій термінал: - ```bash - flatpak install flathub io.github.idevecore.Valuta - ``` + ```bash + flatpak install flathub io.github.idevecore.Valuta + ``` 3. Нарешті, скрипт у вашому терміналі: - ```bash - flatpak run flathub io.github.idevecore.Valuta - ``` + ```bash + flatpak run flathub io.github.idevecore.Valuta + ``` ## Як використовувати @@ -42,7 +42,7 @@ contributors: Steven Spencer, Ganna Zhyrnova 1. Виберіть свою країну зі спадного меню та введіть суму готівки, яку хочете витратити. - ![Screenshot of Valuta app showing 1000 USD in the input field, with a grey arrow pointing down to a grey box showing 1000 USD](images/02_valuta.png) + ![Screenshot of Valuta app showing 1000 USD in the input field, with a grey arrow pointing down to a grey box showing 1000 USD](images/02_valuta.png) 2. Виберіть країну, до якої ви подорожуєте, зі спадного меню. Звідти автоматично з’являється конвертована сума. diff --git a/docs/desktop/index.de.md b/docs/desktop/index.de.md index a2aa5a6c58..f204096686 100644 --- a/docs/desktop/index.de.md +++ b/docs/desktop/index.de.md @@ -1,7 +1,7 @@ --- title: Desktop author: Steven Spencer -contributors: null +contributors: --- ## Einleitung diff --git a/docs/desktop/index.fr.md b/docs/desktop/index.fr.md index ac0bd9b547..a1556395c1 100644 --- a/docs/desktop/index.fr.md +++ b/docs/desktop/index.fr.md @@ -1,7 +1,7 @@ --- title: Environnement de Bureau author: Steven Spencer -contributors: null +contributors: --- ## Introduction diff --git a/docs/desktop/index.it.md b/docs/desktop/index.it.md index 8fcce52650..359c745580 100644 --- a/docs/desktop/index.it.md +++ b/docs/desktop/index.it.md @@ -1,7 +1,7 @@ --- title: Desktop author: Spencer Steven -contributors: null +contributors: --- ## Introduzione diff --git a/docs/desktop/index.uk.md b/docs/desktop/index.uk.md index 940d607d3e..bac2918c97 100644 --- a/docs/desktop/index.uk.md +++ b/docs/desktop/index.uk.md @@ -1,7 +1,7 @@ --- title: Робочий стіл author: Steven Spencer -contributors: null +contributors: --- ## Вступ diff --git a/docs/desktop/printing/brother-all-in-one.de.md b/docs/desktop/printing/brother-all-in-one.de.md index 380a2bcf50..f6e37a8694 100644 --- a/docs/desktop/printing/brother-all-in-one.de.md +++ b/docs/desktop/printing/brother-all-in-one.de.md @@ -40,9 +40,9 @@ Es wird ein Softwarefenster geöffnet, das versucht, Druckertreiber zu finden un ## Herunterladen und Installieren der Treiber -Anleitung zur Installation des Brother-Treiberinstallationsskripts:{target="_blank"} +[Anleitung zur Installation des Brother-Treiberinstallationsskripts:](https://support.brother.com/g/b/downloadlist.aspx?&c=us&lang=en&prod=mfcj480dw_us_eu_as&os=127){target="_blank"} -1. Laden Sie das Bash-Skript für den Brother MFC-J480DW-Druckertreiber herunter{target="_blank"} +1. [Laden Sie das Bash-Skript für den Brother MFC-J480DW-Druckertreiber herunter](https://support.brother.com/g/b/downloadtop.aspx?c=us&lang=en&prod=mfcj480dw_us_eu_as){target="_blank"} 2. Öffnen Sie ein Terminalfenster. diff --git a/docs/desktop/printing/brother-all-in-one.fr.md b/docs/desktop/printing/brother-all-in-one.fr.md index 09711cb92d..b861ecd6ec 100644 --- a/docs/desktop/printing/brother-all-in-one.fr.md +++ b/docs/desktop/printing/brother-all-in-one.fr.md @@ -40,9 +40,9 @@ Une fenêtre Logiciel s'ouvre pour tenter de localiser et d'installer les pilote ## Téléchargement et Installation de Pilotes -Brother Driver Installer Script Installation Instructions:{target="_blank"} +[Brother Driver Installer Script Installation Instructions:](https://support.brother.com/g/b/downloadlist.aspx?&c=us&lang=en&prod=mfcj480dw_us_eu_as&os=127){target="_blank"} -1. Download the Brother MFC-J480DW Printer driver bash script{target="_blank"} +1. [Download the Brother MFC-J480DW Printer driver bash script](https://support.brother.com/g/b/downloadtop.aspx?c=us&lang=en&prod=mfcj480dw_us_eu_as){target="_blank"} 2. Ouvrez une fenêtre de terminal. diff --git a/docs/desktop/printing/brother-all-in-one.it.md b/docs/desktop/printing/brother-all-in-one.it.md index a864eb7212..2081d9121f 100644 --- a/docs/desktop/printing/brother-all-in-one.it.md +++ b/docs/desktop/printing/brother-all-in-one.it.md @@ -40,9 +40,9 @@ Si apre una finestra Software che tenta di individuare ed installare i driver de ## Scaricare e installare i drivers -Istruzioni per l'installazione di Brother Driver Installer Script:{target="_blank"} +[Istruzioni per l'installazione di Brother Driver Installer Script:](https://support.brother.com/g/b/downloadlist.aspx?&c=us&lang=en&prod=mfcj480dw_us_eu_as&os=127){target="_blank"} -1. Scaricare lo script di bash per il driver della Brother MFC-J480DW{target="_blank"} +1. [Scaricare lo script di bash per il driver della Brother MFC-J480DW](https://support.brother.com/g/b/downloadtop.aspx?c=us&lang=en&prod=mfcj480dw_us_eu_as){target="_blank"} 2. Aprire la finestra del terminale. diff --git a/docs/desktop/printing/brother-all-in-one.uk.md b/docs/desktop/printing/brother-all-in-one.uk.md index a8b21c65d3..6a8ceb94c4 100644 --- a/docs/desktop/printing/brother-all-in-one.uk.md +++ b/docs/desktop/printing/brother-all-in-one.uk.md @@ -40,9 +40,9 @@ tags: ## Завантаження та встановлення драйверів -Інструкції зі встановлення сценарію встановлення драйвера Brother:{target="_blank"} +[Інструкції зі встановлення сценарію встановлення драйвера Brother:](https://support.brother.com/g/b/downloadlist.aspx?&c=us&lang=en&prod=mfcj480dw_us_eu_as&os=127){target="_blank"} -1. Завантажте сценарій bash для драйвера принтера Brother MFC-J480DW{target="_blank"} +1. [Завантажте сценарій bash для драйвера принтера Brother MFC-J480DW](https://support.brother.com/g/b/downloadtop.aspx?c=us&lang=en&prod=mfcj480dw_us_eu_as){target="_blank"} 2. Відкрийте вікно терміналу. diff --git a/docs/gemstones/containers/docker.it.md b/docs/gemstones/containers/docker.it.md index 19e7592507..fc13178a3e 100644 --- a/docs/gemstones/containers/docker.it.md +++ b/docs/gemstones/containers/docker.it.md @@ -1,7 +1,7 @@ --- title: Installare il Docker Engine -author: wale soyinka -contributors: +author: Wale Soyinka +contributors: Neel Chauhan, Srinivas Nishant Viswanadha, Stein Arne Storslett, Ganna Zhyrnova, Steven Spencer date: 2021-08-04 tags: - docker @@ -9,42 +9,56 @@ tags: # Introduzione -Il Docker Engine può essere utilizzato eseguendo carichi di lavoro per container in stile Docker nativo sui server Rocky Linux. A volte è preferito eseguire l'ambiente Docker Desktop. +Docker Engine può eseguire carichi di lavoro nativi in stile Docker su server Rocky Linux. A volte è preferibile quando si esegue l'ambiente Docker Desktop completo. -## Aggiungere il repository docker +## Aggiungere il repository Docker -Usa l'utilità dnf per aggiungere il repository docker al tuo server Rocky Linux. Digita: +Utilizzare l'utilità `dnf` per aggiungere il repository Docker al server Rocky Linux. Digita: -``` -sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo +```bash +sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo ``` ## Installare i pacchetti necessari -Installare l'ultima versione di Docker Engine, containerd e Docker Compose, digitando: +Installare l'ultima versione di Docker Engine, `containerd` e Docker Compose, eseguendo: -``` -sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin +```bash +sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin ``` -## Avviare e abilitare il servizio docker di systemd (dockerd) +## Avviare e abilitare Docker`(dockerd`) -Usare l'utilità `systemctl` per configurare il demone dockerd in modo che si avvii automaticamente al prossimo riavvio del sistema e contemporaneamente si avvii per la sessione corrente. Digita: +Usare `systemctl` per configurare l'avvio automatico di Docker al riavvio e contemporaneamente avviarlo ora. Digitare: -``` +```bash sudo systemctl --now enable docker ``` +## Consentire facoltativamente a un utente non root di gestire docker -### Note +Aggiungere un utente non root al gruppo `docker` per consentire all'utente di gestire `docker` senza `sudo`. -``` -docker-ce : Questo pacchetto fornisce la tecnologia sottostante per costruire ed eseguire docker containers (dockerd) -docker-ce-cli : Fornisce l'interfaccia a riga di comando (CLI) client docker tool (docker) -containerd. o : Fornisce l' esecuzione del contenitore (runc) -docker-compose-plugin : un plugin che fornisce il sottocomando 'docker compose' +Questo è un passo facoltativo, ma può essere comodo se si è l'utente principale del sistema o se si vuole permettere a più utenti di gestire docker, ma non si vuole concedere loro i permessi `sudo`. +Digitare: + +```bash +# Add the current user +sudo usermod -a -G docker $(whoami) + +# Add a specific user +sudo usermod -a -G docker custom-user ``` +Per assegnare il nuovo gruppo, è necessario uscire e rientrare. Verificare con il comando `id` che il gruppo sia stato aggiunto. +### Note +```docker +docker-ce :Questo pacchetto fornisce la tecnologia di base per la creazione e l'esecuzione di contenitori docker (dockerd) +docker-ce-cli : Fornisce l'interfaccia a riga di comando (CLI) dello strumento docker (docker) +containerd.io : Fornisce il runtime del contenitore (runc) +docker-buildx-plugin : Plugin Docker Buildx per la CLI di Docker +docker-compose-plugin : Un plugin che fornisce il sottocomando "docker compose" +``` diff --git a/docs/gemstones/containers/podman.it.md b/docs/gemstones/containers/podman.it.md new file mode 100644 index 0000000000..d615eb5af3 --- /dev/null +++ b/docs/gemstones/containers/podman.it.md @@ -0,0 +1,128 @@ +--- +title: Podman +author: Neel Chauhan +contributors: Steven Spencer, Ganna Zhyrnova, Christian Steinert +date: 2024-03-07 +tags: + - docker + - podman +--- + +# Introduzione + +[Podman](https://podman.io/) è un runtime alternativo per container compatibile con Docker che, a differenza di quest'ultimo, è incluso nei repository Rocky Linux e può eseguire i container come servizio `systemd`. + +## Installare `Podman` + +Utilizzare l'utility `dnf` per installare Podman: + +```bash +dnf install podman +``` + +## Aggiungere un container + +Prendiamo come esempio una piattaforma cloud self-hosted [Nextcloud](https://nextcloud.com/): + +```bash +podman run -d -p 8080:80 nextcloud +``` + +Verrà richiesto di selezionare il container registry da cui scaricarlo. Nel nostro esempio, si utilizzerà `docker.io/library/nextcloud:latest`. + +Una volta scaricato il contenitore Nextcloud, questo verrà eseguito. + +Inserite **indirizzo_ip:8080** nel vostro browser web (supponendo di aver aperto la porta in `firewalld`) e configurate Nextcloud: + +![Nextcloud in container](../images/podman_nextcloud.png) + +## Eseguire contenitori come servizi `systemd` + +### Utilizzare `quadlet` + +Dalla versione 4.4, Podman viene fornito con [Quadlet](https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html), un generatore di systemd che può generare unitary file per servizi systemd rootless e rootful. + +I file quadlet per i servizi rootful possono essere presenti in + +- `/etc/containers/systemd/` +- `/usr/share/containers/systemd/` + +mentre i file rootless possono essere salvati in alternativa in + +- `$XDG_CONFIG_HOME/containers/systemd/` or `~/.config/containers/systemd/` +- `/etc/containers/systemd/users/$(UID)` +- `/etc/containers/systemd/users/` + +Sono supportati singoli container, pod, immagini, reti, volumi e file kube, ma ritornando all'esempio precedentemente implementato di Nextcloud. Creare un nuovo file `~/.config/containers/systemd/nextcloud.container` con il seguente contenuto: + +```systemd +[Container] +Image=nextcloud +PublishPort=8080:80 +``` + +Sono disponibili [molte altre opzioni](https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html#container-units-container). + +Per eseguire il generator e far sapere a systemd che c'è un nuovo servizio da eseguire: + +```bash +systemctl --user daemon-reload +``` + +Per avviare il servizio, eseguire: + +```bash +systemctl --user start nextcloud.service +``` + +!!! note "Nota" + +``` +Se si è già creato un file in una delle directory per i servizi rootful, omettere il flag `--user`. +``` + +Per eseguire automaticamente il container all'avvio del sistema o al login dell'utente, si può aggiungere un'altra sezione al file `nextcloud.container`: + +```systemd +[Install] +WantedBy=default.target +``` + +Poiché i file del servizio generati sono considerati temporanei, non possono essere abilitati da systemd. Per ovviare a questo problema, il generator applica manualmente le installazioni durante la generazione. In questo modo si abilitano effettivamente anche i file dei servizi. + +Sono supportati altri tipi di file: pod, volume, network, image, and kube. [Pods](https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html#pod-units-pod), per esempio, può essere usato per raggruppare i container – i servizi systemd generati e le loro dipendenze (creare il pod prima dei container) sono gestiti automaticamente da systemd. + +### Utilizzare `podman generate systemd` + +Podman fornisce inoltre il sottocomando `generate systemd`. Può essere usato per generare i file di servizio di `systemd`. + +!!! warning "Attenzione" + +``` +`generate systemd` è ora deprecato e non riceverà ulteriori funzioni. Si raccomanda l'uso di Quadlet. +``` + +Ora lo si farà con Nextcloud. Eseguire: + +```bash +podman ps +``` + +Si otterrà un elenco di container in esecuzione: + +```bash +04f7553f431a docker.io/library/nextcloud:latest apache2-foregroun... 5 minutes ago Up 5 minutes 0.0.0.0:8080->80/tcp compassionate_meninsky +``` + +Come visto sopra, il nome del nostro container è `compassionate_meninsky`. + +Per creare un servizio `systemd` per il container Nextcloud e abilitarlo al riavvio, eseguire quanto segue: + +```bash +podman generate systemd --name compassionate_meninsky > /usr/lib/systemd/system/nextcloud.service +systemctl enable nextcloud +``` + +Sostituire `compassionate_meninsky` con il nome assegnato al container. + +Quando il sistema si riavvia, Nextcloud si riavvia in Podman. diff --git a/docs/gemstones/gemstone_template.fr.md b/docs/gemstones/gemstone_template.fr.md index e1187043f8..2ca2da46e7 100644 --- a/docs/gemstones/gemstone_template.fr.md +++ b/docs/gemstones/gemstone_template.fr.md @@ -1,8 +1,7 @@ --- title: Modèle de Gemstone author: Erika Mustermann -contributors: - - Liste des contributeurs séparés par une virgule +contributors: [ Liste des contributeurs séparés par une virgule ] tags: - List - Of diff --git a/docs/gemstones/gemstone_template.it.md b/docs/gemstones/gemstone_template.it.md index e3c0320c61..af37a07554 100644 --- a/docs/gemstones/gemstone_template.it.md +++ b/docs/gemstones/gemstone_template.it.md @@ -1,8 +1,7 @@ --- title: Modello di Gemstone semplificato author: Author's Name -contributors: - - Elenco separato da virgole dei collaboratori +contributors: [ Elenco separato da virgole dei collaboratori ] tags: - Lista - Dei diff --git a/docs/gemstones/gemstone_template.uk.md b/docs/gemstones/gemstone_template.uk.md index 350adc9a9b..00e3a3443e 100644 --- a/docs/gemstones/gemstone_template.uk.md +++ b/docs/gemstones/gemstone_template.uk.md @@ -1,8 +1,7 @@ --- title: Простий Gemstone шаблон author: Ім'я автора -contributors: - - Список співавторів, розділених комами +contributors: [ "Список співавторів, розділених комами" ] tags: - List - Of diff --git a/docs/gemstones/git/01-gh_cli_1st_pr.de.md b/docs/gemstones/git/01-gh_cli_1st_pr.de.md index 8f14c26886..1d770e3675 100644 --- a/docs/gemstones/git/01-gh_cli_1st_pr.de.md +++ b/docs/gemstones/git/01-gh_cli_1st_pr.de.md @@ -1,7 +1,7 @@ --- title: Erster Beitrag zur Rocky Linux-Dokumentation über CLI author: Wale Soyinka -contributors: null +contributors: tags: - GitHub - Rocky Linux diff --git a/docs/gemstones/git/01-gh_cli_1st_pr.fr.md b/docs/gemstones/git/01-gh_cli_1st_pr.fr.md index e681b831a1..5958ab0a16 100644 --- a/docs/gemstones/git/01-gh_cli_1st_pr.fr.md +++ b/docs/gemstones/git/01-gh_cli_1st_pr.fr.md @@ -1,7 +1,7 @@ --- title: Première contribution à la documentation de Rocky Linux via CLI author: Wale Soyinka -contributors: null +contributors: tags: - GitHub - Rocky Linux diff --git a/docs/gemstones/git/01-gh_cli_1st_pr.it.md b/docs/gemstones/git/01-gh_cli_1st_pr.it.md index 149cb6b48e..95d685bcf7 100644 --- a/docs/gemstones/git/01-gh_cli_1st_pr.it.md +++ b/docs/gemstones/git/01-gh_cli_1st_pr.it.md @@ -1,7 +1,7 @@ --- title: Primo contributo alla documentazione di Rocky Linux tramite CLI author: Wale Soyinka -contributors: null +contributors: tags: - GitHub - Rocky Linux diff --git a/docs/gemstones/git/01-gh_cli_1st_pr.uk.md b/docs/gemstones/git/01-gh_cli_1st_pr.uk.md index d4a9e0d0fc..850136a294 100644 --- a/docs/gemstones/git/01-gh_cli_1st_pr.uk.md +++ b/docs/gemstones/git/01-gh_cli_1st_pr.uk.md @@ -1,7 +1,7 @@ --- title: Перший внесок у документацію Rocky Linux через CLI author: Wale Soyinka -contributors: null +contributors: tags: - GitHub - Rocky Linux diff --git a/docs/gemstones/git/tracking_and_nontracking_branch.fr.md b/docs/gemstones/git/tracking_and_nontracking_branch.fr.md index 1a2732c298..620d0a4aa0 100644 --- a/docs/gemstones/git/tracking_and_nontracking_branch.fr.md +++ b/docs/gemstones/git/tracking_and_nontracking_branch.fr.md @@ -1,7 +1,7 @@ --- title: Tracking vs Non-Tracking Branch avec Git author: Wale Soyinka -contributors: null +contributors: tags: - git - git branch diff --git a/docs/gemstones/git/tracking_and_nontracking_branch.it.md b/docs/gemstones/git/tracking_and_nontracking_branch.it.md index 597e2bdf25..c9cbbd8338 100644 --- a/docs/gemstones/git/tracking_and_nontracking_branch.it.md +++ b/docs/gemstones/git/tracking_and_nontracking_branch.it.md @@ -1,7 +1,7 @@ --- title: Tracciamento e non tracciamento dei rami in Git author: Wale Soyinka -contributors: null +contributors: tags: - git - git branch diff --git a/docs/gemstones/git/tracking_and_nontracking_branch.uk.md b/docs/gemstones/git/tracking_and_nontracking_branch.uk.md index 4a56c1adfc..7bcad4ad81 100644 --- a/docs/gemstones/git/tracking_and_nontracking_branch.uk.md +++ b/docs/gemstones/git/tracking_and_nontracking_branch.uk.md @@ -1,7 +1,7 @@ --- title: Відстеження та не слідкування за гілками в Git author: Wale Soyinka -contributors: null +contributors: tags: - git - git branch diff --git a/docs/guides/backup/dump_restore.uk.md b/docs/guides/backup/dump_restore.uk.md index ea0bcf516e..df90450a93 100644 --- a/docs/guides/backup/dump_restore.uk.md +++ b/docs/guides/backup/dump_restore.uk.md @@ -2,7 +2,7 @@ title: Команди dump та restore author: tianci li contributors: Steven Spencer -tested_with: 8.1 +tested_with: 8.10 tags: - dump - restore diff --git a/docs/guides/backup/tar.uk.md b/docs/guides/backup/tar.uk.md index 0ede3c7782..877955a600 100644 --- a/docs/guides/backup/tar.uk.md +++ b/docs/guides/backup/tar.uk.md @@ -2,7 +2,7 @@ title: Команда tar author: tianci li contributors: Ganna Zhyrnova -tested_with: 8.1 +tested_with: 8.10 tags: - tar - резервне копіювання diff --git a/docs/guides/containers/podman-nextcloud.it.md b/docs/guides/containers/podman-nextcloud.it.md index fa07a3be08..be7248c831 100644 --- a/docs/guides/containers/podman-nextcloud.it.md +++ b/docs/guides/containers/podman-nextcloud.it.md @@ -37,13 +37,13 @@ La maggior parte dei comandi della guida può essere eseguita manualmente, ma la Ecco tutto ciò che vi serve, o che dovete sapere, per far funzionare questa guida: -* Familiarità con la riga di comando, gli script bash e la modifica dei file di configurazione di Linux. -* Accesso SSH se si lavora su un computer remoto. -* Un editor di testo a riga di comando di vostra scelta. In questa guida utilizzeremo `vi`. -* Una macchina Rocky Linux connessa a Internet (anche in questo caso, un Raspberry Pi può andare bene). -* Molti di questi comandi devono essere eseguiti come root, quindi è necessario avere un utente root o con capacità sudo sulla macchina. -* La familiarità con i server web e MariaDB sarebbe sicuramente utile. -* La familiarità con i container e magari con Docker sarebbe *indubbiamente* un vantaggio ma non è strettamente essenziale. +- Familiarità con la riga di comando, gli script bash e la modifica dei file di configurazione di Linux. +- Accesso SSH se si lavora su un computer remoto. +- Un editor di testo a riga di comando di vostra scelta. In questa guida utilizzeremo `vi`. +- Una macchina Rocky Linux connessa a Internet (anche in questo caso, un Raspberry Pi può andare bene). +- Molti di questi comandi devono essere eseguiti come root, quindi è necessario avere un utente root o con capacità sudo sulla macchina. +- La familiarità con i server web e MariaDB sarebbe sicuramente utile. +- La familiarità con i container e magari con Docker sarebbe *indubbiamente* un vantaggio ma non è strettamente essenziale. ## Passo 01: Installare `podman` e `buildah` @@ -75,7 +75,7 @@ vi /etc/containers/registries.conf Trovate la sezione che assomiglia a quella che vedete qui sotto. Se è commentato, decommentarlo. -``` +```bash [registries.insecure] registries = ['registry.access.redhat.com', 'registry.redhat.io', 'docker.io'] insecure = true @@ -109,7 +109,7 @@ vi Dockerfile Copiare e incollare il seguente testo nel nuovo file Docker. -``` +```docker FROM rockylinux/rockylinux:latest ENV container docker RUN yum -y install epel-release ; yum -y update @@ -137,7 +137,7 @@ vi build.sh Quindi incollare questo contenuto: -``` +```bash #!/bin/bash clear buildah rmi `buildah images -q base` ; @@ -163,10 +163,10 @@ Attendere che sia terminato e passare alla fase successiva. Per gli scopi di questa guida, manteniamo la configurazione del database il più semplice possibile. Si consiglia di tenere traccia dei seguenti elementi e di modificarli se necessario: -* Nome del database: ncdb -* Utente del database: nc-user -* Pass per il database: nc-pass -* L'indirizzo IP del vostro server (di seguito utilizzeremo un IP di esempio) +- Nome del database: ncdb +- Utente del database: nc-user +- Pass per il database: nc-pass +- L'indirizzo IP del vostro server (di seguito utilizzeremo un IP di esempio) Per prima cosa, spostarsi nella cartella in cui si costruirà l'immagine di db-tools: @@ -182,7 +182,7 @@ vi db-create.sh Ora copiate e incollate il seguente codice nel file, utilizzando il vostro editor di testo preferito: -``` +```bash #!/bin/bash mysql -h 10.1.1.160 -u root -p rockylinux << eof create database ncdb; @@ -199,7 +199,7 @@ vi db-drop.sh Copiate e incollate questo codice nel nuovo file: -``` +```bash #!/bin/bash mysql -h 10.1.1.160 -u root -p rockylinux << eof drop database ncdb; @@ -215,7 +215,7 @@ vi Dockerfile Copia e incolla: -``` +```docker FROM localhost/base RUN yum -y install mysql WORKDIR /root @@ -231,7 +231,7 @@ vi build.sh Il codice che si desidera ottenere: -``` +```bash #!/bin/bash clear buildah rmi `buildah images -q db-tools` ; @@ -271,7 +271,7 @@ Ed ecco il codice necessario: Ai fini di questa guida, il seguente script cancellerà tutti i Volumi Podman. Se ci sono altre applicazioni in esecuzione con i propri volumi, modificare/commentare la riga "podman volume rm --all"; -``` +```bash #!/bin/bash clear echo " " @@ -302,7 +302,7 @@ vi db-reset.sh Ed ecco il codice: -``` +```bash #!/bin/bash clear echo " " @@ -322,7 +322,7 @@ vi build.sh With its code: -``` +```bash #!/bin/bash clear buildah rmi `buildah images -q mariadb` ; @@ -332,7 +332,7 @@ buildah images -a Ora create il vostro DockferFile (`vi Dockerfile`) e incollate la seguente singola riga: -``` +```docker FROM arm64v8/mariadb ``` @@ -364,7 +364,7 @@ vi Dockerfile E incollare questo pezzo: -``` +```docker FROM arm64v8/nextcloud ``` @@ -376,7 +376,7 @@ vi build.sh E incollare questo codice: -``` +```bash #!/bin/bash clear buildah rmi `buildah images -q nextcloud` ; @@ -398,7 +398,7 @@ vi run.sh Ecco tutto il codice necessario per farlo. Assicurarsi di cambiare l'indirizzo IP di `MYSQL_HOST` con il container docker su cui è in esecuzione l'istanza di MariaDB. -``` +```bash #!/bin/bash clear echo " " @@ -430,7 +430,7 @@ chmod +x *.sh Per assicurarsi che tutte le immagini siano state costruite correttamente, eseguire `podman images`. Dovrebbe apparire un elenco simile a questo: -``` +```bash REPOSITORY TAG IMAGE ID CREATED SIZE localhost/db-tools latest 8f7ccb04ecab 6 days ago 557 MB localhost/base latest 03ae68ad2271 6 days ago 465 MB @@ -446,13 +446,13 @@ Se tutto sembra corretto, eseguite lo script finale per avviare Nextcloud: Quando si esegue `podman ps -a`, si dovrebbe vedere un elenco di container in esecuzione che assomiglia a questo: -``` +```bash CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9518756a259a docker.io/arm64v8/mariadb:latest mariadbd 3 minutes ago Up 3 minutes ago mariadb 32534e5a5890 docker.io/arm64v8/nextcloud:latest apache2-foregroun... 12 seconds ago Up 12 seconds ago nextcloud ``` -Da qui, si dovrebbe essere in grado di puntare il browser all'indirizzo IP del server. Se state seguendo e avete lo stesso IP del nostro esempio, potete sostituirlo qui (ad esempio, http://your-server-ip) e vedere Nextcloud in funzione. +Da qui, si dovrebbe essere in grado di puntare il browser all'indirizzo IP del server. Se state seguendo e avete lo stesso IP del nostro esempio, potete sostituirlo qui (ad esempio, ) e vedere Nextcloud in funzione. ## Conclusione diff --git a/docs/guides/network/accel-ppp_pppoe_server.fr.md b/docs/guides/network/accel-ppp_pppoe_server.fr.md index 39ac9fb08f..e44c222a7b 100644 --- a/docs/guides/network/accel-ppp_pppoe_server.fr.md +++ b/docs/guides/network/accel-ppp_pppoe_server.fr.md @@ -1,7 +1,7 @@ --- title: accel-ppp – Serveur PPPoE author: Neel Chauhan -contributors: null +contributors: tested_with: 9.3 tags: - réseau diff --git a/docs/guides/network/accel-ppp_pppoe_server.uk.md b/docs/guides/network/accel-ppp_pppoe_server.uk.md index ad480685da..9244edb580 100644 --- a/docs/guides/network/accel-ppp_pppoe_server.uk.md +++ b/docs/guides/network/accel-ppp_pppoe_server.uk.md @@ -1,7 +1,7 @@ --- title: accel-ppp PPPoE Server author: Neel Chauhan -contributors: null +contributors: tested_with: 9.3 tags: - мережа diff --git a/docs/guides/network/glances_network_monitoring.uk.md b/docs/guides/network/glances_network_monitoring.uk.md index e1fc946a0d..7bae8a683d 100644 --- a/docs/guides/network/glances_network_monitoring.uk.md +++ b/docs/guides/network/glances_network_monitoring.uk.md @@ -2,7 +2,7 @@ title: Моніторинг мережі та ресурсів з Glances author: Alex Zolotarov contributors: Steven Spencer -tested_with: 9 +tested_with: 9.0 tags: - моніторинг - мережа diff --git a/docs/guides/proxies/i2pd.uk.md b/docs/guides/proxies/i2pd.uk.md index 921a4a9490..f3f4b76325 100644 --- a/docs/guides/proxies/i2pd.uk.md +++ b/docs/guides/proxies/i2pd.uk.md @@ -1,7 +1,7 @@ --- title: Анонімна мережа i2pd author: Neel Chauhan -contributors: null +contributors: tested_with: 9.3 tags: - proxy diff --git a/docs/release_notes/10_0.de.md b/docs/release_notes/10_0.de.md new file mode 100644 index 0000000000..5cf8a9ff40 --- /dev/null +++ b/docs/release_notes/10_0.de.md @@ -0,0 +1,282 @@ +--- +title: Aktuelle Version 10 +tags: + - 10 + - 10.0 Version + - Rocky Linux 10 +--- + +## Rocky Linux 10 + +Rocky Linux 10 (RL 10) ist die neueste Hauptversion des Enterprise-Betriebssystems von Rocky Linux. + +### Upgrade auf Rocky Linux 10 + +Rocky Linux unterstützt keine Upgrades auf Hauptversionen. Um von 8.x oder 9.x auf Rocky Linux 10 zu wechseln, sollten Sie eine Neuinstallation des Betriebssystems durchführen. + +### Neue Funktionen und Änderungen + +In den folgenden Abschnitten werden ausgewählte Funktionen von RL 10 beschrieben. + +Wie bei allen wichtigen Rocky Linux-Versionen umfasst diese Versionsnotiz zahlreiche Verbesserungen, Änderungen und neue Funktionen. + +Die folgende Übersicht hebt Änderungen in den folgenden Kategorien hervor: Architektur, Kernel, Installation, Netzwerk, Sicherheit, Virtualisierung, Container, Speicher und Paketverwaltung. Hier werden die Funktionen ausgewählt, die für einen allgemeinen Anwenderkreis am wahrscheinlichsten relevant sind. + +Eine vollständige Liste der wichtigsten Änderungen finden Sie in der Upstream-Liste [hier](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/10/html/10.0_release_notes/overview#overview-major-changes). + +### Unterstützte Architekturen + +!!! warning "Bitte überprüfen Sie die CPU-Kompatibilität" + + Auf der x86_64-Prozessorarchitektur unterstützt RL 10 keine Hardware der Mikroarchitekturebene x86-64-v2 und früher mehr und legt die Mikroarchitekturebene x86-64-v3 als Basis für die Verteilung fest. + Weitere Informationen finden Sie im Abschnitt [Unterstützte Mikroarchitekturebenen](#supported-microarchitecture-levels), insbesondere im Abschnitt zum Testen der CPU-Kompatibilität. + +!!! info "Einstellung der 32-Bit-Pakete" + + Rocky Linux 10 hat die 32-Bit-Kompatibilität für x86_64 entfernt. Verwenden Sie stattdessen 64-Bit-Bibliotheken oder Container mit 32-Bit-Abhängigkeiten. + +Rocky Linux 10 wird auf den folgende Prozessorarchitekturen unterstützt: + +- 64-bit AMD/Intel x86-64-v3 (x86_64) +- 64-bit RISC-V (riscv64) +- 64-bit ARMv8.0-A (aarch64) +- IBM POWER9, little endian (ppc64le) +- IBM z14 (s390x) + +#### Brandneue Unterstützung für die RISC-V-Architektur + +Das Rocky Linux Release Engineering-Team hat lange und hart daran gearbeitet, Rocky Linux 10 auf bestimmte RISC-V-Implementierungen zu bringen. +Zu den am Veröffentlichungstag unterstützten Plattformen/Subsystemen gehören StarFive VisionFive 2 (VF2), **QEMU** und SiFive HiFive Premier P550. + +Weitere Einzelheiten zu diesem Meilenstein, einschließlich der RISC-V-Unterstützung von RL10, finden Sie auf [dieser Site](https://rockylinux.org/news/rockylinux-support-for-riscv). + +#### Unterstützte Mikroarchitekturebenen + +Die x86-64-v3-Mikroarchitektur basiert auf dem Funktionsumfang der Intel Haswell-Prozessorgeneration. Eine Handvoll Intel Atom-Prozessoren (wie die Prozessoren der Gracemont-Familie) unterstützen x86-64-v3. Im Gegensatz dazu bieten andere, darunter Prozessoren der Intel Atom Parker Ridge-Familie und der Prozessor der Intel Atom x6416RE Elkhart Lake-Familie, keine x86-64-v3-Funktionen und werden daher in RL 10 nicht unterstützt. Wenn Sie an der Kompatibilität Ihres Prozessors zweifeln, können Sie dies [mit diesem Verfahren](https://docs.rockylinux.org/gemstones/test_cpu_compat/) überprüfen. + +AMDs Implementierung der Mikroarchitekturebene x86-64-v3, die als Grundlage für Rocky Linux 10 auf x86_64 dient, wurde mit der Excavator-Mikroarchitektur eingeführt. Dies bedeutet, dass Prozessoren, die älter sind als die auf der Excavator-Architektur basierenden, möglicherweise nicht vollständig von Rocky Linux 10 unterstützt werden. + +!!! note "Raspberry Pi-Images-Unterschiede" + + Der Hauptunterschied zwischen den Rocky Linux Pi-Images für Version 10 besteht darin, dass 10 Pi 4 und Pi 5 unterstützt, während 9 Pi 3, Pi 4, Pi 5 und Pi Zero 2W unterstützt. + +### Installation und Image-Erstellung + +Anaconda, die interaktive grafische Benutzeroberfläche für das Rocky Linux-Installationsprogramm, weist in Version 10 eine Reihe von Änderungen auf. + +Zu den wichtigsten Änderungen gehören folgende: + +- Die standardmäßige Deaktivierung des Root-Kontos. Für die Systemverwaltung ist die Erstellung eines Administratorbenutzers mit vollständigen sudo-Berechtigungen erforderlich. Wenn Sie das Root-Konto durch Festlegen seines Kennworts aktivieren, können Sie Standardbenutzer ohne Administratorrechte erstellen. +- Remote Desktop Protocol (RDP) ersetzt VNC für den grafischen Fernzugriff während des Installationsvorgangs. Diese Änderung betrifft die dazugehörigen Kernel-Bootoptionen. +- Entfernen der Zeitzonenkarte im Abschnitt „Uhrzeit und Datum“ des Installationsprogramms. +- Die grafische Benutzeroberfläche unterstützt das Hinzufügen von Drittanbieter-Repositorys während der Erstinstallation nicht mehr. Verwenden Sie stattdessen die Boot-Option `inst.addrepo` oder Kickstart. +- Entfernung der Dokumentation, die zum Zeitpunkt der Installation verfügbar war. + +### Kernel + +Der standardmäßige Out-of-Box-Kernel für RL 10 wurde auf Version 6.12.0 aktualisiert. + +Einige Kernelfunktionen sind jetzt deaktiviert, da sie nicht mehr gewartet werden, unsicher oder veraltet sind. + +Das Kernel-Befehlszeilenargument `rh_waived` kann diese Funktionen bei Bedarf aktivieren. Earliest Eligible Virtual Deadline First (EEVDF), das latenzempfindliche Aufgaben mit kürzeren Zeitscheiben priorisiert, um die Reaktionsfähigkeit zu verbessern, ersetzt den CFS-Scheduler. + +### Netzwerk + +Zu den Verbesserungen der Netzwerkfunktionen in RL 10 gehören Änderungen an der Netzwerkkonfiguration, der Netzwerkschnittstellenaggregation, DHCP-Clients und -Servern sowie Ergänzungen und Entfernungen von Gerätetreibern. + +#### NetworkManager und Netzwerk-Scripte + +Die alten `ifcfg-rh`-Netzwerkskripte wurden in früheren Versionen von Rocky Linux (9.x) nicht mehr unterstützt. Mit Rocky Linux 10 sind diese Skripte nicht mehr verfügbar. + +Sie müssen nun den NetworkManager verwenden. Zu diesen Tools gehören `nmcli`, `nmtui` und `nmstate`. Dies bedeutet, dass einige ältere Dateien und Befehle nicht mehr funktionieren und sich auch der Speicherort Ihrer Netzwerkkonfigurationsdateien geändert hat. + +- Dateien mit dem Präfix `ifcfg-` im Verzeichnis /etc/sysconfig/network-scripts/ werden nicht unterstützt. +- Die Befehle `ifup` und `ifdown` sind nicht mehr verfügbar. +- Ältere Netzwerkskripte wie `ifup-local` werden nicht mehr unterstützt. +- Netzwerkkonfigurationsdateien werden im Ordner /etc/NetworkManager/system-connections/ gespeichert. + +#### DHCP Client und Server + +Die Implementierung des DHCP-Clients in RL 10 erfolgt über ein internes Subsystem von NetworkManager. Das alte dhcp-Client-Paket wurde entfernt und wird vom Upstream nicht mehr unterstützt. + +Kea DHCP ersetzt den veralteten ISC DHCP-Server in RL 10. + +#### Netzwerk-Bonding und Teaming + +In früheren Versionen von Rocky Linux wurde das NIC-Teaming-Feature obsolet. In RL 10 wird dies nun vollständig entfernt. Konfigurieren Sie als Ersatz eine Bond-Verbindung anstelle eines Netzwerkteams. + +### Speicher + +Zusätzlich zu den folgenden Änderungen werden mehrere speicher-bezogene Gerätetreiber zu RL 10 hinzugefügt, aktualisiert oder daraus entfernt. + +#### Global File System 2 (GFS2) + +RL 10 unterstützt das GFS2-Dateisystem nicht mehr. + +#### Device Mapper Multipath + +Die Aktivierung von Device Mapper (DM) Multipath auf NVMe-Geräten wird von RL 10 nicht unterstützt. + +#### LUKS2-Festplatten-Verschlüsselung + +Das Cryptsetup-Paket wurde auf Version 2.7 umgestellt, um Probleme zu beheben und LUKS-verschlüsselte Geräte bei Verwendung des Kernel-Dump-Dienstes (kdump) zu unterstützen. + +### Sicherheit-Features + +Mit RL 10 werden zahlreiche neue sicherheitsrelevante Funktionen eingeführt. + +Zu den Updates gehören unter anderem: + +- Systemweite kryptografische Richtlinien (crypto-policies): OpenSSL und OpenSSH arbeiten jetzt mit Post-Quantum Cryptography (PQC). +- Sequoia PGP: Eine speicherfreie Implementierung von OpenPGP. +- OpenSSH: Die Wiederherstellung strengerer SSH-Hostschlüsselberechtigungen. (Neue Berechtigungen = 0600 vs. alte Berechtigungen = 0640). +- GnuTLS: Client- und Server-Zertifikate sind jetzt komprimiert +- yescrypt-Algorithmus: Der Passwort-Algorithmus für den Standardbenutzer wird geändert. + +Zu den neuen SELinux-Änderungen gehören die folgenden Updates: + +- Die Äquivalenz des Dateikontexts wird in /var/run = /run umgekehrt. +- Das Hinzufügen neuer libvirt-Diensttypen zur SELinux-Richtlinie. + +### Virtualisierung + +Bei der Virtualisierung kommt es zu wichtigen Änderungen: + +- Der monolithische libvirtd-Daemon ist veraltet. Verwenden Sie als Ersatz die modularen Daemons und Sockets. Eine ausführliche Dokumentation zu den Unterschieden finden Sie in der [Upstream-Dokumentation](https://libvirt.org/daemons.html#monolithic-vs-modular-daemons) +- Der virtuelle Maschinentyp i440fx ist nun obsolet +- Virtual Machine Manager ist nun obsolet, Cockpit ist der vorgesehene Ersatz + +### Container + +Podman 5 in RL 10 führt mehrere Verbesserungen ein, darunter die neue Standard-Container-Laufzeitumgebung `crun`, die `runc` ersetzt. Control Groups v2 ist jetzt die Standard-cgroup-Version. + +Zu den wichtigsten Updates gehören die Abschaffung des Netzwerkmodus slirp4netns, die Möglichkeit, Wiederholungsversuche und Verzögerungen für Push- und Pull-Vorgänge von Images zu konfigurieren, sowie umfassende Unterstützung für Container-Images mit mehreren Architekturen. + +Darüber hinaus unterstützt Podman 5 weiterhin Quadlets, eine in Podman 4.4 eingeführte Funktion, die die Verwaltung von Podman-Containern mit „systemd“ unter Verwendung deklarativer Unit-Dateien ermöglicht. + +### Softwareverwaltung + +RPM liegt jetzt in der Version 4.19 vor, die Verbesserungen und Aktualisierungen für Verpackungs- und Erstellungstools enthält. Es wurde ein neuer Befehl \`rpmsort eingeführt, um RPM-Versionszeichenfolgen in Ausgabepipelines korrekt zu sortieren. Als Beispiel: + +Das Alte `sort`: `rpm -q kernel | sort`\ +kernel-6.12.0-130.el10.x86_64\ +kernel-6.12.0-13.el10.x86_64 + +Das neue `rpmsort`: `rpm -q kernel | rpmsort`\ +kernel-6.12.0-13.el10.x86_64\ +kernel-6.12.0-130.el10.x86_64 + +#### DNF + +Standardmäßig unterlässt DNF jetzt das Herunterladen von Metadaten der Repository-Dateiliste, wodurch die Reaktionsfähigkeit verbessert und Speicherplatz gespart wird. DNF-Befehle, die diese Metadaten benötigen, laden sie im Allgemeinen automatisch herunter. + +#### Modularität + +Die DNF-Modularität ist obsolet und Rocky Linux beabsichtigt nicht, AppStream-Inhalte als Module in RL 10 bereitzustellen. In Zukunft könnte RL 10 zusätzliche Anwendungsversionen als RPM-Pakete, Software-Kollektionen oder Flatpaks bereitstellen. + +Mit anderen Worten: Der Befehl `dnf module` wurde in RL 10 abgeschafft, da der DNF-Paketmanager der nächsten Generation (`dnf5`) die API vereinheitlicht hat und sich nicht mehr auf die alte modulare Architektur verlässt, um mehrere Versionen der Software zu verwalten. Die relevanten Vergleiche sind folgende: + +| Beschreibung | Alt (`dnf module`) | Neu | +| :-----------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------: | :---------------------------- | +| Verfügbare Versionen anzeigen | `dnf module list ` | `dnf repoquery ` | +| Installation einer bestimmten Version | `dnf module enable nginx:1.14 && dnf module install nginx:1.14` | `dnf install nginx-1.26.3` | +| Löschen einer bestimmten Version | `dnf -y module remove --all :` oder `dnf -y module remove --all :/` | `dnf remove -` | +| Wechseln zu einer bestimmten Version | `dnf -y module remove --all : && dnf module reset && dnf module enable :` | Nicht relevant | + +### Desktop-Umgebung + +In RL 10 ersetzt Wayland den X.Org-Server. Xwayland unterstützt die meisten X11-Clients, die noch nicht auf Wayland portiert wurden. Einige Desktopanwendungen und -komponenten werden in RL 10 ebenfalls ersetzt. + +#### Änderungen an Desktop-Komponenten + +| Entfernt | Ersetzt durch | +| :-------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------- | +| gedit text editor | GNOME Text-Editor (gnome-text-editor) | +| Tweaks-Applikation | Verwenden Sie die Tweaks-Optionen in den GNOME-Einstellungen und/oder verwenden Sie das Flatpak auf Flathub | +| Festival Speech Synthesizer | Espeak NG | +| Eye of GNOME (eog) image viewer | GNOME Image-Viewer (loupe) | +| Cheese camera-Applikation | Snapshot-Applikation | +| GNOME Terminal | ptyxis-Terminal | +| PulseAudio-Daemon (aber nicht die Client-Schnittstellen) | Pipewire (war bereits in RL 9 der Standard) | + +Mehrere grafische Desktop-Anwendungen sind nicht mehr in der Rocky Linux 10-Distribution enthalten. In den meisten Fällen können Sie diese Anwendungen aus Upstream-Quellen oder als Flatpak auf Flathub beziehen. + +#### Entfernte Anwendungen + +| Entfernt | Ersatz | +| :------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| LibreOffice Office productivity Software Suite | Offiziell als Flatpak auf Flathub bereitgestellt, oder Sie können Upstream-Pakete von [https://www.libreoffice.org/](https://www.libreoffice.org/) herunterladen. | +| Evolution Personal Information Manager und E-Mail-Client | Thunderbird wird über das Appstream-Repository bereitgestellt. Sie können auch ein Flatpak oder Paket von Upstream oder über Flathub erhalten. | +| Inkscape Vector Graphics Editor | In RL 10 ist kein Vektorgrafik-Editor enthalten, aber Sie finden ein Flatpak auf Flathub. | +| Totem (GNOME Videos) media player | In RL 10 ist kein standardmäßiger Desktop-Mediaplayer enthalten. Der Webbrowser kann weiterhin webbasierte Medien abspielen. Alternativ können Sie einen anderen Mediaplayer aus Drittanbieter-Repositories oder als Flatpak von Flathub auswählen. | + +TigerVNC wurde aus RL 10 entfernt. Verwenden Sie für die VNC-Client-Funktionalität die Anwendung „Connections“. Es ist kein VNC-Server vorhanden.\ +`gnome-remote-desktop` ersetzt TigerVNC mithilfe von RDP für Desktop-Sharing, Remote-Login und Headless-Sitzungen. Dies ist in GNOME integriert und Sie können es in der Anwendung `Settings` konfigurieren. + +Die Desktopumgebung und das Toolkit von Motif X11 werden ebenfalls aus RL 10 entfernt. + +### Infrastruktur-Dienste + +Der Austausch oder die Entfernung einiger Dienste und Pakete in RL 10 umfasst die folgenden Infrastrukturdienste. + +| Entfernt | Ersetzt durch | +| :--------------------------------- | :----------------------------------------------------------------------------------------------------------------- | +| power-profiles-daemon CPU throttle | „tuned-ppd“-Übersetzungsebene, die Anwendungen unterstützt, die für den „Power-Profiles-Daemon“ geschrieben wurden | +| redis in-memory key-value database | `valkey` (ein Fork von Redis) In-Memory-Schlüsselwertdatenbank ^1 | +| sendmail mail transfer agent | Rocky Linux empfiehlt die Migration zum Postfix Mail Transfer Agent. | +| spamassassin email spam filter | Der E-Mail-Spamfilter `spamassassin` befindet sich jetzt im EPEL-Repository. | + +1 Zusätzlich zu `valkey` befindet sich das Paket `valkey-compat-redis` im Plus-Repository. + +### Dynamische Programmiersprachen + +Es gibt Updates für aktuelle Versionen mehrerer beliebter Programmiersprachen: + +- Python 3.12 +- Ruby 3.3 +- Node.js 22.13 +- Perl 5.40 +- PHP 8.3 + +### Web-Servers und Datenbank-Servers + +Für viele beliebte Server-Daemons gibt es Updates auf neuere Versionen: + +#### Web-Server + +- Apache HTTP Server 2.4.63 +- nginx 1.26 + +#### Proxy-Caching-Server + +- Varnish Cache 7.6 +- Squid 6.10 + +#### Datenbank-Server + +- MariaDB 10.11 +- MySQL 8.4 +- PostgreSQL 16.8 +- Valkey 8.0 + +### RL Web-Konsole (Cockpit) + +Cockpit ist eine webbasierte Schnittstelle zur Verwaltung und Überwachung Ihres lokalen Systems. Ein grafischer Dateimanager und ein Texteditor sind jetzt in der Webkonsole verfügbar, wenn Sie das RPM-Paket `cockpit-files` installieren. + +Der Host-Switcher, der die gleichzeitige Verwaltung mehrerer Systeme ermöglichte, ist obsolet und aus Sicherheitsgründen standardmäßig deaktiviert. + +Cockpit unterstützt nun die Konfiguration von Größenbeschränkungen für das Stratis-Dateisystem. + +## Bekannte Probleme + +### SELinux-Issue mit virtuellen Hosts + +Wenn Sie einen virtuellen Host mit aktiviertem `passt`-Backend und dem Typ `memfd` für den Speicher verwenden, kann die Schnittstelle nicht gestartet werden, sofern SELinux aktiviert ist. Weitere Informationen finden Sie unter [diesem Upstream-Issue](https://issues.redhat.com/browse/RHEL-80407). + +### Grauer Bildschirm nach dem Booten vom Installationsmedium + +Mit bestimmten Hardwarekonfigurationen, beispielsweise virtualisierten Umgebungen mit aktivierter 3D-Grafik, kann es vorkommen, dass Anaconda hängt, bevor der Setup-Assistent angezeigt wird. Dieses Problem sollte gelöst werden können, indem Sie von tty6 zu einem anderen TTY und dann wieder zurück zu tty6 wechseln. Wechseln Sie beispielsweise mit ++Strg+Alt+F1++ und dann ++Strg+Alt+F6++ zu tty1 und zurück zu tty6. + +## Mitmachen und Fehler melden + +Bitte melden Sie alle Fehler, auf die Sie gestoßen sind, dem [Rocky Linux Bug Tracker](https://bugs.rockylinux.org/). Wir heißen Sie auch herzlich willkommen, unserer Community beizutreten, sei es in unseren [Foren](https://forums.rockylinux.org), [Mattermost](https://chat.rockylinux.org), [IRC auf Libera.Chat](irc://irc.liberachat/rockylinux), [Reddit](https://reddit.com/r/rockylinux), [Mailinglisten](https://lists.resf.org), oder auf welche andere Art auch immer Sie teilnehmen möchten! diff --git a/docs/rocky_insights/blogs/index.de.md b/docs/rocky_insights/blogs/index.de.md index f12308c6de..f5a99359e6 100644 --- a/docs/rocky_insights/blogs/index.de.md +++ b/docs/rocky_insights/blogs/index.de.md @@ -1,7 +1,7 @@ --- title: Einleitung author: Steven Spencer -contributors: null +contributors: --- ## Warum dieser Abschnitt? diff --git a/docs/rocky_insights/blogs/index.fr.md b/docs/rocky_insights/blogs/index.fr.md index 1c828b614e..e3e8d48eb3 100644 --- a/docs/rocky_insights/blogs/index.fr.md +++ b/docs/rocky_insights/blogs/index.fr.md @@ -1,7 +1,7 @@ --- title: Introduction author: Steven Spencer -contributors: null +contributors: --- ## Pourquoi cette rubrique ? diff --git a/docs/rocky_insights/blogs/index.it.md b/docs/rocky_insights/blogs/index.it.md index 37fa53d6e2..0a383c8df6 100644 --- a/docs/rocky_insights/blogs/index.it.md +++ b/docs/rocky_insights/blogs/index.it.md @@ -1,7 +1,7 @@ --- title: Introduzione author: Spencer Steven -contributors: null +contributors: --- ## Perché questa sezione? diff --git a/docs/rocky_insights/blogs/index.uk.md b/docs/rocky_insights/blogs/index.uk.md index 62367b44a3..0bb418b1a0 100644 --- a/docs/rocky_insights/blogs/index.uk.md +++ b/docs/rocky_insights/blogs/index.uk.md @@ -1,7 +1,7 @@ --- title: Вступ author: Steven Spencer -contributors: null +contributors: --- ## Чому цей розділ? diff --git a/docs/rocky_insights/blogs/index.zh.md b/docs/rocky_insights/blogs/index.zh.md index 109807f893..48722e5224 100644 --- a/docs/rocky_insights/blogs/index.zh.md +++ b/docs/rocky_insights/blogs/index.zh.md @@ -1,7 +1,7 @@ --- title: 介绍 author: Steven Spencer -contributors: null +contributors: --- ## 为什么有这个部分? diff --git a/docs/rocky_insights/links/sigs/index.de.md b/docs/rocky_insights/links/sigs/index.de.md index 14495e8307..be5d0947d8 100644 --- a/docs/rocky_insights/links/sigs/index.de.md +++ b/docs/rocky_insights/links/sigs/index.de.md @@ -1,7 +1,7 @@ --- title: Special Interest Groups author: Steven Spencer -contributors: null +contributors: --- - Alternative Architektur [SIG/AltArch](https://sig-altarch.rocky.page) diff --git a/docs/rocky_insights/links/sigs/index.fr.md b/docs/rocky_insights/links/sigs/index.fr.md index 17f3311dfe..27e540cbcf 100644 --- a/docs/rocky_insights/links/sigs/index.fr.md +++ b/docs/rocky_insights/links/sigs/index.fr.md @@ -1,7 +1,7 @@ --- title: Groupes d'Intérêts Spéciaux author: Steven Spencer -contributors: null +contributors: --- - Architecture Alternative [SIG/AltArch](https://sig-altarch.rocky.page) diff --git a/docs/rocky_insights/links/sigs/index.it.md b/docs/rocky_insights/links/sigs/index.it.md index 0a17d0eae7..9de6dcd5ae 100644 --- a/docs/rocky_insights/links/sigs/index.it.md +++ b/docs/rocky_insights/links/sigs/index.it.md @@ -1,7 +1,7 @@ --- title: Special Interest Groups author: Spencer Steven -contributors: null +contributors: --- - Architetture Alternative [SIG/AltArch](https://sig-altarch.rocky.page) diff --git a/docs/rocky_insights/links/sigs/index.pt.md b/docs/rocky_insights/links/sigs/index.pt.md index 333430be55..48f433e8b7 100644 --- a/docs/rocky_insights/links/sigs/index.pt.md +++ b/docs/rocky_insights/links/sigs/index.pt.md @@ -1,7 +1,7 @@ --- title: Grupo de Interesse Especial (SIG) author: Steven Spencer -contributors: null +contributors: --- - Arquitetura Alternativa [SIG/AltArch](https://sig-altarch.rocky.page) diff --git a/docs/rocky_insights/links/sigs/index.uk.md b/docs/rocky_insights/links/sigs/index.uk.md index 8ff2ffb60f..7ed4d321ca 100644 --- a/docs/rocky_insights/links/sigs/index.uk.md +++ b/docs/rocky_insights/links/sigs/index.uk.md @@ -1,7 +1,7 @@ --- title: Групи по інтересам author: Steven Spencer -contributors: null +contributors: --- - Альтернативна архітектура [SIG/AltArch](https://sig-altarch.rocky.page) diff --git a/docs/rocky_insights/links/sigs/index.zh.md b/docs/rocky_insights/links/sigs/index.zh.md index 54ebf13536..2730c70a05 100644 --- a/docs/rocky_insights/links/sigs/index.zh.md +++ b/docs/rocky_insights/links/sigs/index.zh.md @@ -1,7 +1,7 @@ --- title: 特别兴趣小组(SIG) author: Steven Spencer -contributors: null +contributors: --- - 新架构 [SIG/AltArch](https://sig-altarch.rocky.page)