AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / 问题

All perguntas(unix)

Martin Hope
chinm
Asked: 2025-04-01 01:36:25 +0800 CST

A instalação do pacote de cabeçalhos do kernel Debian não instala todos os cabeçalhos do kernel

  • 6

No momento, estou executando a atualização mais recente do Debian bookworm (que acredito ser baseado no Linux 6.1.0.32-amd64 ou Linux-6.1.129-1, que é o que uname -rretorna). Tenho tentado instalar um conjunto de módulos (linux-gpib para ser mais específico). Os arquivos de instalação deste driver indicam que instalar os cabeçalhos do kernel Debian (usando sudo apt-get install linux-headers-$(uname -r)) deve ser suficiente. Mas, ao executar o Makefile para a parte do kernel desses módulos, observei problemas em que a geração de BTFs era ignorada devido à indisponibilidade de vmlinux, e mais tarde, quando copiei vmlinuxpara o diretório de cabeçalhos do kernel, outro erro relacionado a arquivos relacionados a um diretório ausente que tools/bpfele esperava encontrar no meu /lib/modules/$(uname -r)diretório.

Observando os cabeçalhos que tenho usr/src/linux-headers-$(uname -r)e comparando com o que recebo ao executar, apt-get source linux-headers-$(uname -r)vejo muitos diretórios ausentes. O toolsdiretório no que instalei está quase vazio (contendo apenas objtool) e não tem mais nada, enquanto o diretório que pesquisei contém um grande conjunto de ferramentas. Já usei o Ubuntu antes e nunca tive esse problema com esse sistema operacional.

O Debian instala por padrão um conjunto muito esparso de módulos e espera que você construa a árvore de fontes do kernel do zero? E há algum motivo histórico para que isso vmlinuxpudesse estar nos módulos da minha compilação atual, quando não está lá por padrão? Sou relativamente novo no Linux, então se algo que eu digitei parecer errado, por favor, me corrijam. Muito obrigado!

debian
  • 1 respostas
  • 71 Views
Martin Hope
BaRud
Asked: 2025-04-01 00:13:28 +0800 CST

"systemctl --user start" falha para rclone: ​​problema de conexão de barramento de usuário

  • 5

Eu criei um servicearquivo:

cat ~/.config/systemd/user/rclonegdrive.service 
[Unit]
Description=Rclone mound Google Drive
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
ExecStart=/usr/bin/rclone mount gdrive: /home/rudra/Desktop/Zotero
TimeoutSec=5
Restart=on-failure
RestartSec=1
ExecStop=/usr/bin/fusermount -u /home/rudra/Desktop/Zotero
# logs to the journal directly, suppress double logging

[Install]
WantedBy=default.target

Mas não está funcionando com systemctl:

systemctl --user start rclonegdrive.service
Failed to connect to user scope bus via local transport: Connection refused

Este é meu systemd/userconteúdo

tree ~/.config/systemd/user/
/home/rudra/.config/systemd/user/
├── default.target.wants
│   └── [email protected] -> /usr/lib/systemd/user/[email protected]
└── rclonegdrive.service

Alguém pode me ajudar, por favor?

systemd
  • 1 respostas
  • 31 Views
Martin Hope
AJM
Asked: 2025-03-31 18:13:59 +0800 CST

Terminal MATE com `--save-config`: "Falha ao manipular opções ... ao iniciar o processo de fábrica"

  • 7

Estou tentando encontrar uma maneira de fazer o MATE Terminal lembrar minhas abas abertas, caso contrário, todo o meu estado será perdido sempre que eu tiver que reiniciar o PC.

A plataforma que estou usando é o Ubuntu 24.04. Instalei o MATE depois, então não é exatamente a mesma coisa que o Ubuntu MATE.

Esta resposta no Ask Ubuntu descreveu opções de linha de comando para o Terminal Gnome que também existiam para o Terminal MATE, então decidi experimentá-las. Mas quando tentei iniciá-lo a partir de um emulador de terminal diferente:

$ mate-terminal --save-config=/home/mclauam/mate-terminal.cfg
Failed to handle options: Cannot use "--save-config" when starting the factory process

Por causa da referência a um "processo de fábrica", tentei adicionar --disable-factoryà linha de comando. Independentemente de onde eu a colocasse, o Terminal MATE ainda não iniciava, embora, por algum motivo, o texto de erro agora comece com "Erro ao lidar com opções" em vez de "Falha ao lidar com opções":

$ mate-terminal --disable-factory --save-config=/home/mclauam/mate-terminal.cfg
Error handling options: Cannot use "--save-config" when starting the factory process
$ mate-terminal --save-config=/home/mclauam/mate-terminal.cfg --disable-factory
Error handling options: Cannot use "--save-config" when starting the factory process

Eu tentei sudo, mas não fez diferença.

Usei uma opção que eu sabia ser inválida, apenas para confirmar que a mensagem de erro acima não era a usual ao tentar uma opção inexistente:

$ mate-terminal --underlay
Failed to parse arguments: Unknown option --underlay

Eu nem sei o que significa "processo de fábrica", ou por que ele tornaria uma das opções de linha de comando do aplicativo inválida! A página de manual não deu nenhuma indicação de que essa opção pudesse ser inválida ou interagir mal com um "processo de fábrica".

Como posso iniciar o mate-terminal com --save-confige/ou --load-config?

mate-desktop
  • 1 respostas
  • 29 Views
Martin Hope
errorous
Asked: 2025-03-31 12:58:20 +0800 CST

Bash script: problemas de ffmpeg com yt-dlp [duplicado]

  • 7
Esta pergunta já tem respostas aqui :
Erros estranhos ao usar ffmpeg em um loop (4 respostas)
Fechado há 3 dias .

Estou tentando escrever um script bash para baixar todos os vídeos de uma playlist pública do YouTube. Aqui está o que tenho até agora:

#!/bin/bash

# Default values
decode_video=true
output_format="avi"
audio_codec="libmp3lame"
audio_bitrate="192k"
audio_sample_rate="44100"
audio_channels="2"
video_codec="libxvid"
video_quality="3"

# Function to download and convert each video
download_and_convert() {
    local video_url="$1"
    local output_name="$2"
    
    # Show download start message
    echo "Downloading: $output_name.mp4..."

    # Download the video
    yt-dlp --progress -f "bv*+ba/b" --merge-output-format mp4 "$video_url" -o "$output_name.mp4"

    # Show download end message
    echo "Downloaded: $output_name.mp4"

    # Check if video should be re-encoded
    if $decode_video; then

        # Debug: Output the values of the variables
        echo "output_name: \"$output_name\""
        echo "video_codec: $video_codec"
        echo "video_quality: $video_quality"
        echo "audio_codec: $audio_codec"
        echo "audio_sample_rate: $audio_sample_rate"
        echo "audio_bitrate: $audio_bitrate"
        echo "audio_channels: $audio_channels"

        # Re-encode video to MPEG-4 (Xvid) and convert audio to MP3
        echo "Converting video to MPEG-4 (Xvid) and audio to MP3..."
        
        # Ensure that the script runs the command directly without any prompt
        ffmpeg -hide_banner -i "$output_name.mp4" -c:v libxvid -qscale:v 3 -c:a libmp3lame -ar 44100 -b:a 192k -ac 2 "$output_name.avi"

    else
        # Copy the video and only convert audio
        echo "Copying video and converting audio to MP3..."
        ffmpeg -i "$output_name.mp4" -c:v copy -c:a $audio_codec -ar $audio_sample_rate -b:a $audio_bitrate -ac $audio_channels "$output_name.$output_format"
    fi

    # Clean up the original MP4 file
    #rm "$output_name.mp4"
    echo "Converted: $output_name.$output_format"
}

# Parse command-line options
while [[ $# -gt 0 ]]; do
    case $1 in
        --no-decode-video)
            decode_video=false
            shift
            ;;
        --decode-video)
            decode_video=true
            shift
            ;;
        *)
            playlist_url="$1"
            shift
            ;;
    esac
done

# Ensure playlist URL is provided
if [ -z "$playlist_url" ]; then
    echo "Usage: $0 <playlist_url> [--no-decode-video]"
    exit 1
fi

# Get total number of videos in the playlist
total_videos=$(yt-dlp -j --flat-playlist "$playlist_url" | jq -r '.id' | wc -l)
echo "Total videos in playlist: $total_videos"

# Download the playlist and process each video
current_video=1
yt-dlp -j --flat-playlist "$playlist_url" | jq -r '.id' | while read -r video_id; do
    # Define output filename
    output_name="video_$video_id"
    
    # Show progress
    echo "Processing video $current_video of $total_videos..."
    
    # Download and convert the video
    download_and_convert "https://www.youtube.com/watch?v=$video_id" "$output_name"
    
    # Increment video counter
    current_video=$((current_video + 1))
done

echo "All videos processed successfully!"

Agora, o download de vídeos funciona, mas a conversão ffmpegfalha. Ele começa a mostrar a saída regular ffmpeg, como se estivesse convertendo corretamente, e então mostra: Parse error, at least 3 arguments were expected, only 1 given in string 'GC1Y0'. O que pode ser? Li em um tópico diferente que há um problema ao citar nomes de arquivos.

bash
  • 2 respostas
  • 67 Views
Martin Hope
ItHertz
Asked: 2025-03-31 08:51:10 +0800 CST

Por que o comando magick envolvendo libtiff falha após atualizar o Linux Mint?

  • 5

Atualizei recentemente para o Linux Mint 22.1 Cinnamon, e um script ImageMagick agora gera um erro:

magick: symbol lookup error: /usr/local/lib/libMagickCore-7.Q16HDRI.so.10: undefined symbol: TIFFFieldDataType, version LIBTIFF_4.0

Percebo /usr/local/libque libMagickCore-7.Q16HDRI.so.10há um link simbólico apontando paralibMagickCore-7.Q16HDRI.so.10.0.0

A versão do ImageMagick que eu instalei do Synaptic. Não me lembro se já tentei instalar uma compilação de fora do Synaptic.

magick -version
Version: ImageMagick 7.1.0-43 Q16-HDRI x86_64 8718d6292:20220709 https://imagemagick.org
Copyright: (C) 1999 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI OpenMP(4.5) 
Delegates (built-in): fontconfig freetype jbig jng jpeg lcms lzma pangocairo png tiff x xml zlib
Compiler: gcc (9.4)

magick -list format
TIFF* rw+   Tagged Image File Format (LIBTIFF, Version 4.5.1)
TIFF64* rw+   Tagged Image File Format (64-bit) (LIBTIFF, Version 4.5.1)

Eu instalei libtiff-dev libtiff5-develibtiff6

Ao pesquisar sobre esse problema on-line, tentei aleatoriamente seguir o conselho, conda uninstall libtiffmas isso só retorna

PackagesNotFoundError: The following packages are missing from the target environment:
  - libtiff 

Qualquer ideia sobre como resolver isso seria muito apreciada.

linux-mint
  • 2 respostas
  • 40 Views
Martin Hope
metablaster
Asked: 2025-03-31 05:24:22 +0800 CST

Quais ferramentas bind9-dnsutils estão obsoletas ou obsoletas?

  • 5

As seguintes são bind9-dnsutilsferramentas:

delv
dig
dnstap-read
mdig
nslookup
nsupdate

Lista retirada de: https://manpages.debian.org/bookworm/bind9-dnsutils/index.html

Eu sei nslookupque está obsoleto e dignão está (dig é substituto).

Mas e as outras 4 ferramentas, elas estão obsoletas ou obsoletas ou ainda são válidas?
E se sim, quais são as substituições?

debian
  • 1 respostas
  • 15 Views
Martin Hope
elbarna
Asked: 2025-03-31 04:33:53 +0800 CST

É possível redimensionar uma imagem qemu/libvirt mantendo o tamanho virtual e ao mesmo tempo não perder dados?

  • 5

É possível redimensionar uma imagem qemu/libvirt mantendo o tamanho virtual e ao mesmo tempo não perder dados? Explico melhor:

quando você cria um disco virtual

qemu-img create -f qcow2 debian-GEN.qcow2 60G

A máquina virtual vê um disco de 60G, mas o espaço usado é o espaço que a VM usou (este exemplo é após a instalação de algum software)

qemu-img info debian-GEN.qcow2 
image: debian-GEN.qcow2
file format: qcow2
virtual size: 60 GiB (64424509440 bytes)
disk size: 3.1 GiB
cluster_size: 65536
Format specific information:
    compat: 1.1
    compression type: zlib
    lazy refcounts: false
    refcount bits: 16
    corrupt: false
    extended l2: false
Child node '/file':
    filename: debian-GEN.qcow2
    protocol type: file
    file length: 4.61 GiB (4948164608 bytes)
    disk size: 3.1 GiB

Agora o problema. Suponha que eu gravei 20 GB de dados adicionais, o tamanho do disco se tornou 23 GB (3,1+20), suponha que eu remova 20 GB de dados (com rm -fr ou mesmo shred), o tamanho do disco ainda é 23 GB! Minha pergunta é esta: há uma maneira de remover os 20 GB de dados não utilizados do disco virtual? Então a imagem retorna 3,1 GB (mas a vm ainda vê o espaço de 60 GB)?

qemu
  • 1 respostas
  • 10 Views
Martin Hope
Carlos Fernandes
Asked: 2025-03-31 00:28:14 +0800 CST

Como analisar vários conjuntos de dados diferentes com um script e salvar a saída de cada conjunto de dados em um novo diretório diferente?

  • 4

Estou interessado em analisar 50 conjuntos de dados diferentes com um script e salvar a saída de cada uma das 50 análises em 50 diretórios correspondentes diferentes. Para evitar fazer isso manualmente, como isso poderia ser feito de forma automatizada, ou seja, em 'modo batch'?

Para executar, o script usa um conjunto de executáveis, todos os quais residem em um diretório chamado 'Programas', e também requer um arquivo de parâmetro de entrada. Cada conjunto de dados na verdade consiste em dois arquivos (infile.ped e infile.map). Aprendi, por meio de uma pergunta que fiz anteriormente ( Como salvar a saída de cada iteração de um comando de loop em uma nova pasta diferente? ), que se eu quisesse executar 50 execuções de replicação para um único conjunto de dados, uma solução seria:

for dir in dir{01..50}; do
  mkdir -p "$dir" &&
    ln -sf ../{script.sh,infile.{ped,map},INPUT_PARAMETERS_FILE,PROGRAMMES} "$dir" &&
    (cd "$dir" && exec bash ./script.sh infile)
done

Minha pergunta aqui é como esse loop poderia ser adaptado ao caso em que, em vez de um único conjunto de dados, o objetivo é analisar automaticamente, por exemplo, 50 conjuntos de dados diferentes (infile_1.ped e infile_1.map; infile_2.ped e infile_2.map; ...; infile_50.ped e infile_50.map).

bash
  • 2 respostas
  • 60 Views
Martin Hope
jsx97
Asked: 2025-03-31 00:27:31 +0800 CST

Diferença prática entre $0 e $0:P

  • 3

Quando executo o seguinte script no zsh, ambos $0e $0:Pme dão a mesma saída: /Users/john/scripts/test123.sh.

#!/bin/zsh
echo script\'s path:         $0
echo absolute path:          $0:P
echo parent folder:          $0:h
echo filename:               $0:t
echo filename w/o extension: $0:t:r
echo extension:              $0:t:e

Mas por que isso? Não é que, como :Pforça o caminho absoluto ( de acordo com a documentação do zsh ), se :Pnão for usado, o caminho deve ser relativo, por exemplo ~/scripts/test123.sh?

Para executar o script, primeiro eu o torno executável: chmod a+rx test123.she então clico duas vezes nele ou uso a linha de comando. O sistema operacional é macOS.

zsh
  • 1 respostas
  • 49 Views
Martin Hope
barak
Asked: 2025-03-30 01:46:00 +0800 CST

Falha ao fazer SSH em um DE1-SoC, embora pareça que todas as dependências foram atendidas

  • 5

Estou seguindo o guia da Altera para executar Linux na placa DE1-SoC, especificamente a seção 5.3 - Instalando o driver.

As instruções fornecidas no guia são para um host Windows, e estou em um host Linux (atualmente não tenho nenhum host Windows disponível para uso permanente). Estou seguindo as instruções, mas não consigo fazer ssh no dispositivo, e esgotei todos os meus esforços tentando solucionar o problema.

$ uname -r
5.15.0-124-generic

Para formar uma linha de base, na inicialização do host, antes mesmo de conectar a placa via USB:

$ ls -al /lib/modules/"$(uname -r)"/kernel/drivers/usb/serial/usbserial.ko
-rw-r--r-- 1 root root 116161 Sep 27  2024 /lib/modules/5.15.0-124-generic/kernel/drivers/usb/serial/usbserial.ko
$ ls -al /lib/modules/"$(uname -r)"/kernel/drivers/usb/serial/cp210x.ko
-rw-r--r-- 1 root root 79865 Sep 27  2024 /lib/modules/5.15.0-124-generic/kernel/drivers/usb/serial/cp210x.ko

$ lsmod | grep cp210x
$ sudo modprobe usbserial
$ sudo modprobe cp210x
$ lsmod | grep cp210x
cp210x                 40960  0
usbserial              57344  1 cp210x

Significa que carreguei o driver com sucesso.

$ dmesg | grep -i usb
...
[   30.186227] usb 2-3: current rate 16000 is different from the runtime rate 48000
[  124.301044] usbcore: registered new interface driver usbserial_generic
[  124.301067] usbserial: USB Serial support registered for generic
[  128.825043] usbcore: registered new interface driver cp210x
[  128.825069] usbserial: USB Serial support registered for cp210x

Correspondente às cargas de cima.

$ dmesg | grep -i tty
[    0.006788] ACPI: SSDT 0x0000000074487000 002357 (v02 ALASKA TbtTypeC 00000000 INTL 20200717)
[    0.117362] printk: console [tty0] enabled
[    0.401844] 00:01: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
$ lsusb
...
$ ls /dev/tty*
...

$ lsusbtraz um monte de dispositivos e $ ls /dev/tty*lista um monte de terminais. A placa não está aparecendo, é claro, ela está desconectada, pois estou formando a linha de base.

Agora conecto a placa e a ligo.

$ dmesg | grep -i usb
...
[  128.825069] usbserial: USB Serial support registered for cp210x
[  244.712211] usb 1-1: new high-speed USB device number 5 using xhci_hcd
[  244.860515] usb 1-1: New USB device found, idVendor=09fb, idProduct=6810, bcdDevice= 0.01
[  244.860527] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0

idVendor e idProduct estão identificados corretamente.

$ dmesg | grep -i tty[    0.006788] ACPI: SSDT 0x0000000074487000 002357 (v02 ALASKA TbtTypeC 00000000 INTL 20200717)
[    0.117362] printk: console [tty0] enabled
[    0.401844] 00:01: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A

Nada mudou.

$ lsusb
...
Bus 001 Device 005: ID 09fb:6810 Altera

Esta linha é adicionada.

$ ls /dev/tty* Exibe exatamente a mesma lista - nada mudou.

Como mencionado acima, estou sem ideias. Agradeceria qualquer tipo de ajuda, para que eu possa fazer ssh para a placa e começar a comunicação entre o núcleo ARM e o FPGA.

ssh
  • 1 respostas
  • 59 Views
Prev
Próximo

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve