Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Last revisionBoth sides next revision
work:configuração_inicial_do_fedora_linux [2021/08/16 12:21] – created magsilvawork:configuração_inicial_do_fedora_linux [2024/05/05 22:23] – [Referências] magsilva
Line 2: Line 2:
  
 Após a instalação do Fedora, é saudável configurá-lo para deixar o ambiente minimamente agradável. Uma das coisa que gosto é de pouca sujeira na tela (ao menos no modo texto). Existem várias coisas a serem melhoradas nesse sentido no Fedora. Após a instalação do Fedora, é saudável configurá-lo para deixar o ambiente minimamente agradável. Uma das coisa que gosto é de pouca sujeira na tela (ao menos no modo texto). Existem várias coisas a serem melhoradas nesse sentido no Fedora.
 +
 +
 +===== Desabilite o serviço de auditoria =====
  
 A primeira coisa é desativar o serviço de auditoria. Em tese, seria suficiente adicionar a opção ''%%audit=0%%'' no atributo ''%%GRUB_CMDLINE_LINUX%%'' do arquivo ''%%/etc/default/grub%%'', mas isso não funcionou para mim. Desta forma, recorri a desabilitar o serviço na inicialização, pelo arquivo ''%%/etc/rc.d/rc.local%%''. A primeira coisa é desativar o serviço de auditoria. Em tese, seria suficiente adicionar a opção ''%%audit=0%%'' no atributo ''%%GRUB_CMDLINE_LINUX%%'' do arquivo ''%%/etc/default/grub%%'', mas isso não funcionou para mim. Desta forma, recorri a desabilitar o serviço na inicialização, pelo arquivo ''%%/etc/rc.d/rc.local%%''.
Line 23: Line 26:
 </code> </code>
  
 +
 +===== Desabilite o serviço de remoção de processos com uso excessivo de memória =====
 +
 +Desabilite o ''%%systemd-oomd%%''. Embora a intenção de encerrar processos que estejam utilizando memória de forma excessiva seja boa, o serviço responsável por isso é executado frequentemente, de forma desnecessária. Sinceramente, uso excessivo de memória deve ser tratado de outra forma, negando-se a alocação de memória caso não seja possível provisionar memória. Infelizmente, os programas são extremamente otimistas quanto à alocação de memória e as bibliotecas padrão também pecam em não devolver memória alocada pelos processos.
 +
 +Para desabilitar o serviço padrão de OOM do Fedora, execute os comandos:
 +<code>
 +systemctl stop systemd-oomd
 +systemctl disable systemd-oomd
 +</code>
 +
 +Por garantia, altere os parâmetros do sistema para desabilitar o encerramento de processos ou do Kernel por uso excessivo de memória. Para isso, crie um arquivo em /etc/sysctl.d/98-oom_kill_disable.conf com o seguinte conteúdo:
 +<code>
 +vm.oom-kill=0
 +vm.panic_on_oom=0
 +vm.oom_kill_allocating_task=1
 +vm.oom_dump_tasks=0
 +</code>
 +
 +
 +===== Desabilite o serviço de balanceamento de atendimento a IRQ =====
 +
 +Para máquinas com poucos processadores, é útil desativar o serviço de balanceamento de atendimento a tratamento de interrupções:
 +<code>
 +systemctl stop irqbalance
 +systemctl disable irqbalance
 +</code>
 +
 +
 +===== Desabilite o serviço de gestão de bateria em sistemas sem bateria  =====
 +Para computadores de mesa, o serviço de gestão de energia (''%%upowerd%%'') pode ser desabilitado.
 +<code>
 +systemctl disable upower
 +systemctl stop upower
 +</code>
 +
 +
 +===== Desabilite o serviço de reconhecimento de impressão digital  =====
 +Para computadores sem dispositivo de reconhecimento de impressão digital, o serviço ''%%fprintd%%'') pode ser desabilitado.
 +<code>
 +systemctl disable fprintd
 +systemctl stop fprintd
 +</code>
 +
 +===== Desabilite o Performance Co-Pilot (PCP) =====
 +De modo geral, em um computador de uso pessoal não é necessário monitor o desempenho do computador utilizando Performance Co-Pilot (PCP). Desta forma, desabilite-o ou desinstale-o:
 +<code>
 +dnf remove pcp-*
 +</code>
 +
 +===== Desabilite a atualização da base de dados de manuais (man-db) =====
 +<code>
 +systemctl stop man-db-cache-update.service
 +systemctl disable man-db-cache-update.service
 +systemctl stop man-db-restart-cache-update.service
 +systemctl disable man-db-restart-cache-update.service
 +</code>
 +
 +===== Desabilite serviços pouco utilizados ou desnecessários do Gnome =====
 +No diretório ''%%/etc/xdg/autostart/%%'', faça as seguintes alterações:
 +<code>
 +mv orca-autostart.desktop orca-autostart.desktop.disable
 +mv tracker-miner-fs-3.desktop tracker-miner-fs-3.desktop.disable
 +mv tracker-miner-rss-3.desktop tracker-miner-rss-3.desktop.disable
 +</code>
 +
 +Alguns serviços não podem ser impedidos de executar (por exemplo, org.gnome.SettingsDaemon.*), mas podem ser configurados para executar em intervalos maiores:
 +<code>
 +gsettings set org.gnome.settings-daemon.plugins.housekeeping min-notify-period 10000000
 +</code>
 +
 +Uma alternativa para realmente desativar esses serviços é configurar o arquivo ''%%/usr/share/gnome-session/sessions/gnome.session%%'', removendo as entradas lá e no diretório ''%%/etc/xdg/autostart/%%''.
 +
 +===== Desabilitar serviço de indexação de arquivos do Gnome =====
 +<code>
 +systemctl mask tracker-extract-3.service tracker-miner-fs-3.service tracker-miner-rss-3.service tracker-writeback-3.service tracker-xdg-portal-3.service tracker-miner-fs-control-3.service
 +systemctl --user mask tracker-extract-3.service tracker-miner-fs-3.service tracker-miner-rss-3.service tracker-writeback-3.service tracker-xdg-portal-3.service tracker-miner-fs-control-3.service
 +tracker3 reset -s -r
 +</code>
 +
 +===== Desabilite o cache em disco do Firefox =====
 +No about:config, configure como ''false'' a opção ''browser.cache.disk.enable'' e ''browser.cache.disk_cache_ssl''.
 +
 +
 +===== Desativar suporte a rede sem fio em computadores sem hardware compatível =====
 +<code>
 +dnf remove wpa_supplicant ModemManager
 +</code>
 +
 +===== Desativar o serviço de controle de diversos GPU em um computador =====
 +<code>
 +systemctl disable switcheroo-control
 +systemctl stop switcheroo-control
 +</code>
 +
 +===== Mostra mensagens do kernel durante inicialização =====
 Na contramão de remover mensagens desnecessários, é útil mostrar as mensagens do kernel durante a inicialização. Para isso, é necessário desativar o Plymouth. Acrescente os comando ''%%rd.plymouth=0 plymouth.enable=0%%'' no atributo ''%%GRUB_CMDLINE_LINUX%%'' do arquivo ''%%/etc/default/grub%%''. Não se esqueça de atualizar o grub.cfg depois disso! Na contramão de remover mensagens desnecessários, é útil mostrar as mensagens do kernel durante a inicialização. Para isso, é necessário desativar o Plymouth. Acrescente os comando ''%%rd.plymouth=0 plymouth.enable=0%%'' no atributo ''%%GRUB_CMDLINE_LINUX%%'' do arquivo ''%%/etc/default/grub%%''. Não se esqueça de atualizar o grub.cfg depois disso!
  
 +
 +===== Desativar SELinux =====
 Desativar o SELinux não é exatamente uma boa ideia no quesito segurança, mas é uma opção para melhorar um pouco o desempenho e ter menos dor de cabeça ao configurar programas para desenvolvimento. Para isso, edite o arquivo ''%%/etc/sysconfig/selinux%%'' e altere o parâmetro ''%%SELINUX%%'' para ''%%disabled%%''. Para retirar os rótulos dos arquivos, execute o comando ''%%find / -exec setfattr -x security.selinux {} \;%%''. Desativar o SELinux não é exatamente uma boa ideia no quesito segurança, mas é uma opção para melhorar um pouco o desempenho e ter menos dor de cabeça ao configurar programas para desenvolvimento. Para isso, edite o arquivo ''%%/etc/sysconfig/selinux%%'' e altere o parâmetro ''%%SELINUX%%'' para ''%%disabled%%''. Para retirar os rótulos dos arquivos, execute o comando ''%%find / -exec setfattr -x security.selinux {} \;%%''.
  
 +===== Habilitar codes de áudio e vídeo =====
 Pacotes a serem instalados: Pacotes a serem instalados:
-* ''%%dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm%%'' +  * ''%%dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm%%'' 
-* ''%%dnf groupupdate core%%'' +  * ''%%dnf groupupdate core%%'' 
-* ''%%dnf groupdate multimedia%%'' +  * ''%%dnf groupdate multimedia%%'' 
-* ''%%dnf install gstreamer1-libav gstreamer-plugins-good gstreamer1-plugins-good gstreamer1-plugins-bad-free gstreamer-plugins-bad-nonfree gstreamer1-plugins-ugly-free%%''+  * ''%%dnf install gstreamer1-libav gstreamer-plugins-good gstreamer1-plugins-good gstreamer1-plugins-bad-free gstreamer-plugins-bad-nonfree gstreamer1-plugins-ugly-free%%''
  
-Por algum motivo, o backlight não pode ser configurado no X no caso de computadores com placas de vídeo Intel (da própria CPU). Para habilitar, altere ou crie o arquivo ''%%/etc/X11/xorg.conf.d/20-intel.conf%%'' e acrescente o seguinte conteúdo: 
  
 +===== Habilitar controle de backlight para placas Intel =====
 +Por algum motivo, o backlight não pode ser configurado no X no caso de computadores com placas de vídeo Intel (da própria CPU). Para habilitar, altere ou crie o arquivo ''%%/etc/X11/xorg.conf.d/20-intel.conf%%'' e acrescente o seguinte conteúdo:
 <code> <code>
 Section "Device" Section "Device"
Line 43: Line 146:
 </code> </code>
  
 +===== Configuração de múltiplas telas no KDE =====
 Caso opte por usar o KDE, não se esqueça de instalar o pacote ''%%kscreen%%'' para configurar a várias telas conectadas ao computador. Caso opte por usar o KDE, não se esqueça de instalar o pacote ''%%kscreen%%'' para configurar a várias telas conectadas ao computador.
  
-Caso ache que a fonte no Firefox está muito pequena, ajuste o parâmetro ''%%layout.css.devPixelsPerPx%%'' (via ''%%about:config%%'') para um valor maior que ''%%1%%'' (por exemplo, ''%%1.2%%''). Além dessa configuração, provavelmente precisarás fazer outros ajustes e instalação de extensões 
-* Habilite o [https://support.mozilla.org/en-US/kb/firefox-dns-over-https DoH (DNS over HTTPS)]. 
  
-No Brasildiversas entidades governamentais utilizam os certificados emitidos pelo ICP BrasilInfelizmente, alguns navegadores (por exemplo, o Fedora) ainda não incorporaram os certificados raiz do ICP BrasilPara incluí-los manualmente, siga as instruções em [https://www.iti.gov.br/navegadores].+===== Configuração de aplicações para monitores de alta resolução (hidpi) ===== 
 +Caso ache que a fonte no Firefox está muito pequenaajuste o parâmetro ''%%layout.css.devPixelsPerPx%%'' (via ''%%about:config%%'') para um valor maior que ''%%1%%'' (por exemplo, ''%%1.2%%'')
  
 Em Engenharia de Software, diversos programas utilizados são desenvolvidos em Java ou requerem uma máquina virtual Java para execução. Em monitores de alta resolução (vulgos monitores 4k), pode ser um desafio configurar a tela para proporções adequadas de figuras e letras. A documentação do ArchLinux é, provavelmente, a melhor referência para isso: https://wiki.archlinux.org/index.php/HiDPI#Java_applications. Seguem as principais instruções: Em Engenharia de Software, diversos programas utilizados são desenvolvidos em Java ou requerem uma máquina virtual Java para execução. Em monitores de alta resolução (vulgos monitores 4k), pode ser um desafio configurar a tela para proporções adequadas de figuras e letras. A documentação do ArchLinux é, provavelmente, a melhor referência para isso: https://wiki.archlinux.org/index.php/HiDPI#Java_applications. Seguem as principais instruções:
Line 56: Line 159:
 # Para aplicações que usam JavaFX, é possível definir ''%%glass.gtk.uiScale%%'' com um valor fracionário, porcentagem ou resolução (densidade de pixels por polegada) da tela. Por exemplo: ''%%java -Dglass.gtk.uiScale=148dpi -jar some_jfx_application.jar%%''. # Para aplicações que usam JavaFX, é possível definir ''%%glass.gtk.uiScale%%'' com um valor fracionário, porcentagem ou resolução (densidade de pixels por polegada) da tela. Por exemplo: ''%%java -Dglass.gtk.uiScale=148dpi -jar some_jfx_application.jar%%''.
  
 +===== Configuração do Firefox =====
 +  * Habilite o [[https://support.mozilla.org/en-US/kb/firefox-dns-over-https | DoH (DNS over HTTPS)]].
 +   * No Brasil, diversas entidades governamentais utilizam os certificados emitidos pelo ICP Brasil. Infelizmente, alguns navegadores (por exemplo, o Fedora) ainda não incorporaram os certificados raiz do ICP Brasil. Para incluí-los manualmente, siga as instruções em https://www.iti.gov.br/navegadores.
 +
 +===== Habilite o relato de erros em unidades de bloco =====
 Unidades de armazenamento podem relatar erros porventura detectados pelos seus sistemas de monitoramente (TLER/CCTL do SMART). Infelizmente, por padrão, tais erros não são relatados. Felizmente, é possível configurar para relatar erros deste tipo periodicamente: ''%%smartctl -l scterc,10,10 /dev/sdX%%'' (no caso, a cada 10 segundos). Esse comando pode ser configurado em ''%%/etc/local.d/disks.start%%'' ou no script no ''%%udev%%''. Unidades de armazenamento podem relatar erros porventura detectados pelos seus sistemas de monitoramente (TLER/CCTL do SMART). Infelizmente, por padrão, tais erros não são relatados. Felizmente, é possível configurar para relatar erros deste tipo periodicamente: ''%%smartctl -l scterc,10,10 /dev/sdX%%'' (no caso, a cada 10 segundos). Esse comando pode ser configurado em ''%%/etc/local.d/disks.start%%'' ou no script no ''%%udev%%''.
 <code> <code>
Line 71: Line 179:
 ACTION=="add", BUS=="ata", TYPÈ=="disk" RUN+="/bin/sh -c 'hdparm -S 0 -B 255 $DEVNAME'" ACTION=="add", BUS=="ata", TYPÈ=="disk" RUN+="/bin/sh -c 'hdparm -S 0 -B 255 $DEVNAME'"
 </code> </code>
- 
- 
  
 Os erros relatados são: erros de leitura (''%%Pending Sectors%%''); blocos com defeito, mas que puderam ser substituídos automaticamente pelo hardware (''%%Reallocated Sectors%%'' e ''%%Pending Sectors%%''). Os erros relatados são: erros de leitura (''%%Pending Sectors%%''); blocos com defeito, mas que puderam ser substituídos automaticamente pelo hardware (''%%Reallocated Sectors%%'' e ''%%Pending Sectors%%'').
  
 +
 +===== Ajustes do Dropbox =====
 Caso a primeira sincronização do Dropbox eseja demorando muito, execute o comando ''%%ls -thal /proc/`pgrep dropbox`/fd | egrep -v 'socket:|pipe:|anon_inode|/dev/'%%'' para identificar o motiva demora. Caso a primeira sincronização do Dropbox eseja demorando muito, execute o comando ''%%ls -thal /proc/`pgrep dropbox`/fd | egrep -v 'socket:|pipe:|anon_inode|/dev/'%%'' para identificar o motiva demora.
  
 +
 +===== Ajustes referentes a SSD =====
 +
 +==== Executar limpeza de blocos (trim) periodicamente ====
 Caso tenha um SSD, habilite o ''%%fstrim%%'': Caso tenha um SSD, habilite o ''%%fstrim%%'':
 <code> <code>
Line 84: Line 196:
 </code> </code>
  
 +==== Altera o agendador de acessos a blocos ====
 Caso tenha um SSD, altere o agendador de acessos a dispositivos para bloco, criando o arquivo ''%%/etc/udev/rules.d/60-ioschedulers.rules%%'' com o seguinte conteúdo: Caso tenha um SSD, altere o agendador de acessos a dispositivos para bloco, criando o arquivo ''%%/etc/udev/rules.d/60-ioschedulers.rules%%'' com o seguinte conteúdo:
- 
 <code> <code>
 # set scheduler for NVMe # set scheduler for NVMe
Line 97: Line 209:
 </code> </code>
  
 +===== Desabilite o som de sinalização do sistema (beep) =====
 +Por padrão, um beep é emitido para chamar a atenção do usuário em situações como limite de linha ou erros. Embora a intenção seja boa, o som acaba distraindo no dia a dia. Felizmente, é possível desabilitá-lo sem prejudicar o som das demaisi aplicações (aka música :-):
 +
 +Para aplicações Gnome, execute o comando ''%%gsettings set org.gnome.desktop.sound event-sounds false%%''.
 +
 +De modo geral, também é possível desabilitar o beep no sistema, executando os seguintes comandos (sugestão: defina-os no ''%%~/.bashrc%%'' ou equivalente):
 +<code>
 +# Turn off system beep in console:
 +xset b off
 +xset b 0 0 0
 +</code>
 +
 +===== Configure o ZFS para usar menos recursos =====
 +
 +Crie o arquivo %%/etc/modprobe.d/zfs.conf com o seguinte conteúdo:
 +<code>
 +# Don't let ZFS use less than 512MB and more than 4GB
 +options zfs zfs_arc_min=536870912
 +options zfs zfs_arc_max=4294967296
 +#
 +# disabling prefetch is no longer required
 +options zfs_prefetch_disable=1
 +options zfs l2arc_noprefetch=0
 +</code>
 +
 +
 +===== Referências =====
 +  * https://sysctl-explorer.net/
 +  * https://manpages.debian.org/testing/zfsutils-linux/zfs-module-parameters.5.en.html