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
Vlastimil Burián
Asked: 2024-12-21 03:27:32 +0800 CST

Purgar uma configuração mais antiga do VirtualBox (7.0). A versão atual (7.1) não será afetada?

  • 7

Eu mantenho uma configuração residual de um programa no meu Linux Mint 22 (base Ubuntu Noble).

Isso ocorre porque não tenho ideia do que vai acontecer por padrão se eu limpar a versão antiga, ou seja, mais ou menos assim:

sudo apt-get purge virtualbox-7.0

A versão atual (7.1) não será afetada? Ou é o contrário, ou seja, ela apagaria toda virtualboxa configuração?

Qual é o comportamento (padrão) aptdessa ação, por favor?


Aqui está a lista de versões:

$ apt list -a virtualbox-7.1

virtualbox-7.1/unknown,now 7.1.4-165100~Ubuntu~noble amd64 [installed]


$ apt list -a virtualbox-7.0

virtualbox-7.0/unknown 7.0.22-165102~Ubuntu~noble amd64 [residual-config]
virtualbox-7.0/now 7.0.20-163906~Ubuntu~noble amd64 [residual-config]

Esta será uma seção de comentários:

O primeiro pedido veio de Stephen Kitt, obrigado.

$ dpkg -L virtualbox-7.0

Package virtualbox-7.0 does not contain any files (!)

$ ll /var/lib/dpkg/info/virtualbox-7.0.*

-rw-r--r-- 1 root root    0 2024-Sep-12 /var/lib/dpkg/info/virtualbox-7.0.list
-rwxr-xr-x 1 root root 2,1K 2024-Jul-11 /var/lib/dpkg/info/virtualbox-7.0.postrm

lá o .postrmarquivo contém:

#!/bin/sh
# $Id: postrm 155244 2023-01-17 14:15:46Z bird $
## @file
# VirtualBox post remove.
#

# License and other commentary redacted for shortness.


if [ "$1" = "purge" -a ! -f /etc/init.d/vboxdrv ] ; then
  update-rc.d vboxdrv remove >/dev/null || exit $?
fi
if [ "$1" = "purge" -a ! -f /etc/init.d/vboxnet ] ; then
  update-rc.d vboxnet remove >/dev/null || exit $?
fi
if [ "$1" = "purge" -a ! -f /etc/init.d/vboxweb-service ] ; then
  update-rc.d vboxweb-service remove >/dev/null || exit $?
fi
if [ "$1" = "purge" -a ! -f /etc/init.d/vboxballoonctrl-service ] ; then
  update-rc.d vboxballoonctrl-service remove >/dev/null || exit $?
fi

# remove installed extension packs
if [ "$1" = "purge" ]; then
  rm -rf /usr/lib/virtualbox/ExtensionPacks/*
fi

# Automatically added by dh_installdebconf/13.14.1ubuntu5
if [ "$1" = purge ] && [ -e /usr/share/debconf/confmodule ]; then
    . /usr/share/debconf/confmodule
    db_purge
fi
# End automatically added section


exit 0
apt
  • 1 respostas
  • 70 Views
Martin Hope
villapx
Asked: 2024-12-21 01:17:10 +0800 CST

Méritos de `cd && pwd` versus `dirname`

  • 15

Alguns dos meus colegas de trabalho preferem escrever o seguinte no topo de seus scripts BASH para determinar o diretório que contém o script:

SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

Enquanto eu prefiro o seguinte:

SCRIPT_DIR="$(dirname "${BASH_SOURCE[0]}")"

(Observe que, na maioria dos casos, não nos importamos em resolver links simbólicos, por isso tendemos a usar estes em vez de eg readlink)


Há algum mérito da cd ... && pwdabordagem em relação à dirnameabordagem -only? Parece que ela está apenas realizando etapas extras para atingir exatamente o mesmo resultado, mas quero ter certeza de que não há nenhuma nuance que eu esteja perdendo.

bash
  • 2 respostas
  • 1315 Views
Martin Hope
Kantium
Asked: 2024-12-20 19:43:35 +0800 CST

Minha partição LUKS estendida está criptografada?

  • 5
Esta pergunta foi migrada do Server Fault porque pode ser respondida no Unix & Linux Stack Exchange. Migrada há 22 horas .

Adicionei um segundo NVMEno meu computador e estendi meu volume LVM criptografado. Usei os seguintes comandos para estendê-lo:

sudo pvcreate /dev/nvme0n1            << New disk
sudo vgextend castel-vg /dev/nvme0n1
sudo lvm lvextend -l +100%FREE /dev/castel-vg/root
sudo resize2fs -p /dev/mapper/castel--vg-root

A partição está bem estendida e tudo funciona bem, mas agora se eu olhar o lsblkresultado:

lsblk
NAME                      MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINTS
nvme1n1                   259:0    0  3.6T  0 disk  
├─nvme1n1p1               259:1    0  512M  0 part  /boot/efi
├─nvme1n1p2               259:2    0  488M  0 part  /boot
└─nvme1n1p3               259:3    0  3.6T  0 part  
  └─nvme0n1p3_crypt       254:0    0  3.6T  0 crypt 
    ├─castel--vg-root     254:1    0  7.3T  0 lvm   /
    └─castel--vg-swap_1   254:2    0  976M  0 lvm   [SWAP]
nvme0n1                   259:4    0  3.6T  0 disk  
└─castel--vg-root         254:1    0  7.3T  0 lvm   /

As duas últimas linhas estão me dando uma dúvida de que a partição castel--vg-rootna unidade nvme0n1não está usando a camada de criptografia LUKS. Existe alguma maneira de confirmar ou não se a partição estendida está bem criptografada?

Atualizar:

Descrição da situação

Enquanto eu tentava desenhar isso, para ajudar a esclarecer minha pergunta (a ??parte), notei que também não está claro para mim onde está o crypt/LUKS. É nvme0n1p3_cryptuma partição ou um VolumeGroup?

lvm
  • 1 respostas
  • 28 Views
Martin Hope
IGGt
Asked: 2024-12-20 19:58:46 +0800 CST

a linha de comando do debian continua adicionando novas linhas

  • 5

Desculpe se for fácil, tentei pesquisar e agora está começando a me irritar.

Em um dos meus servidores (Debian), o prompt de comando insiste em adicionar uma nova linha toda vez. Então, parece com isso:

name@servername ~/directory
 %

como posso me livrar da quebra de linha após o nome do diretório, para que eu digite na mesma linha name@servername ~/directorye não abaixo dela?

Não há nenhum .bashrcarquivo que eu possa encontrar, e este é o único servidor que faz isso. De onde mais isso poderia ser controlado?


echo $SHELL:

/bin/zsh

echo $PS1:

%K{blue}%n@%m%k %B%F{cyan}%(4~|...|)%3~%F{white} %# %b%f%k

(provavelmente explica por que .bashrc não existe)

debian
  • 1 respostas
  • 91 Views
Martin Hope
jsx97
Asked: 2024-12-20 19:34:19 +0800 CST

Exclua recursivamente arquivos vazios e, em seguida, diretórios vazios

  • 5

O script a seguir exclui de forma não recursiva arquivos vazios comuns, sem incluir os com ponto, e então exclui de forma não recursiva diretórios vazios, sem incluir os com ponto, e ignorando a presença de .DS_Storearquivos (ou seja, se o diretório contiver apenas um .DS_Storearquivo, esse diretório será excluído mesmo assim).

rm -f -- *(.L0)

setopt extended_glob
has_files_other_than_DS_Store() [[ -n $REPLY/^(#i).ds_store(#qNDY1) ]]
remove_empty_macos_dirs() {
  local dir ret=0
  for dir do
    rm -f -- $dir/.(#i)ds_store(N.) && rmdir -- $dir || ret=$?
  done
  return $ret
}
remove_empty_macos_dirs *(/^+has_files_other_than_DS_Store)

Alguém poderia mostrar como fazer isso funcionar recursivamente? Ou seja, o primeiro passo é deletar recursivamente todos os arquivos regulares vazios. E então deletar recursivamente os diretórios vazios.

Eu tentaria fazer isso sozinho, mas, para ser honesto, estou com medo de experimentar o rmcomando.

zsh
  • 1 respostas
  • 47 Views
Martin Hope
Vlastimil Burián
Asked: 2024-12-20 15:13:40 +0800 CST

Por que o apt list mostra pacotes arm64 na minha máquina amd64?

  • 8

Gostaria de obter uma explicação sobre o porquê apt listdo comando mostrar dois arm64pacotes na minha amd64máquina/sistema - Linux Mint 22 (baseado no Ubuntu Noble). E uma vez explicado, vamos discutir se posso fazer algo sobre isso.


Observe que removi a mensagem a seguir, juntamente com outras sequências possivelmente sem importância, das listagens abaixo para abreviar.

AVISO: aptnão tem uma interface CLI estável. Use com cautela em scripts.


Executar esses comandos como usuário ou root, ou alterar a maneira como especifico grepo filtro, não tem nenhum efeito no resultado, que é sempre o mesmo = dois arm64pacotes Sublime aparecem na minha amd64máquina.

Antes de começar, deixe-me mencionar primeiro as páginas do manual: 1) GNUgrep ; 2) POSIXgrep .

# apt list | grep -v 'amd64\|all\|i386'  # I ran this as root

sublime-merge/apt/stable 2102 arm64
sublime-text/apt/stable 4189 arm64
$ apt list | grep 'arm64$'  # I ran this as an ordinary user

sublime-merge/apt/stable 2102 arm64
sublime-text/apt/stable 4189 arm64

Agora, vamos obter algumas informações básicas sobre esses pacotes:

$ apt list sublime-text sublime-merge

sublime-merge/wilma,apt/stable 2102 amd64
sublime-merge/apt/stable 2102 arm64
sublime-text/apt/stable,now 4189 amd64 [installed]
sublime-text/apt/stable 4189 arm64

^^ Por que diabos esses dois arm64pacotes de arquitetura estão aparecendo? Faz muito tempo que não edito a maioria dos meus /etc/apt/sources.list.d/*.{list,sources}para conter explicitamente a arquitetura, e pensei que isso reforçaria isso, não?

$ apt-cache policy sublime-text sublime-merge

sublime-text:
  Installed: 4189
  Candidate: 4189
  Version table:
 *** 4189 500
        500 https://download.sublimetext.com apt/stable/ Packages
        100 /var/lib/dpkg/status
     4186 500
        500 https://download.sublimetext.com apt/stable/ Packages
     4180 500
        500 http://packages.linuxmint.com wilma/import amd64 Packages
        500 https://download.sublimetext.com apt/stable/ Packages
...

sublime-merge:
  Installed: (none)
  Candidate: 2102
  Version table:
     2102 500
        500 http://packages.linuxmint.com wilma/import amd64 Packages
        500 https://download.sublimetext.com apt/stable/ Packages
     2096 500
        500 https://download.sublimetext.com apt/stable/ Packages
     2091 500
        500 https://download.sublimetext.com apt/stable/ Packages
...

Eu defini explicitamente, quando aplicável, a amd64arquitetura assim:

deb [arch=amd64 ...

e o sublime-textarquivo de lista de fontes não é uma exceção a esta minha regra:

$ cat /etc/apt/sources.list.d/sublime-text.list

deb [arch=amd64 signed-by=/usr/share/keyrings/sublimehq-archive.gpg] https://download.sublimetext.com/ apt/stable/

Então, agora não tenho certeza do que essa arch=amd64cláusula realmente está fazendo, se não está impedindo o carregamento/download apenas dessa arquitetura específica desse repositório?

Alguém se importaria em esclarecer, por favor? E se você souber como evitar que isso aconteça, eu agradeceria. Obrigado.


Para completar, deixe-me especificar minha arquitetura primária e outras arquiteturas que adicionei ao meu sistema operacional:

$ dpkg --print-architecture
amd64

$ dpkg --print-foreign-architectures
i386

Saúde.


Esta será uma seção de comentários:

O primeiro pedido veio de Stephen Kitt , obrigado.

$ apt policy sublime-{text,merge}:arm64

sublime-text:arm64:
  Installed: (none)
  Candidate: 4189
  Version table:
     4189 500
        500 https://download.sublimetext.com apt/stable/ Packages
     4186 500
        500 https://download.sublimetext.com apt/stable/ Packages
     4180 500
        500 https://download.sublimetext.com apt/stable/ Packages
...

sublime-merge:arm64:
  Installed: (none)
  Candidate: 2102
  Version table:
     2102 500
        500 https://download.sublimetext.com apt/stable/ Packages
     2096 500
        500 https://download.sublimetext.com apt/stable/ Packages
     2091 500
        500 https://download.sublimetext.com apt/stable/ Packages
...
linux-mint
  • 1 respostas
  • 235 Views
Martin Hope
glades
Asked: 2024-12-20 14:26:53 +0800 CST

assistir com comando canalizado executa de forma diferente do próprio comando

  • 5

O que estou fazendo errado ao configurar o comando watch a seguir? Isso funciona:

ls -ltr ~/meteofetcher/data/metar/2024/12 | tail -10 | awk '{ print $9 }' | xargs -I {} grep 'LSZH' {}

Mas isso

watch "ls -ltr ~/meteofetcher/data/metar/2024/12 | tail -10 | awk '{ print $9 }' | xargs -I {} grep 'LSZH' {}"

só me deixa assistir o seguinte erro:

Every 2.0s: ls -ltr ~...  <hostname>: Fri Dec 20 06:27:05 2024

grep: invalid option -- '-'
Usage: grep [OPTION]... PATTERNS [FILE]...
Try 'grep --help' for more information.
grep: invalid option -- '-'
Usage: grep [OPTION]... PATTERNS [FILE]...
Try 'grep --help' for more information.
grep: invalid option -- '-'
Usage: grep [OPTION]... PATTERNS [FILE]...
Try 'grep --help' for more information.
grep: invalid option -- '-'
Usage: grep [OPTION]... PATTERNS [FILE]...
Try 'grep --help' for more information.
grep: invalid option -- '-'
Usage: grep [OPTION]... PATTERNS [FILE]...
Try 'grep --help' for more information.
grep: invalid option -- '-'
Usage: grep [OPTION]... PATTERNS [FILE]...
Try 'grep --help' for more information.
grep: invalid option -- '-'
Usage: grep [OPTION]... PATTERNS [FILE]...
Try 'grep --help' for more information.
grep: invalid option -- '-'
Usage: grep [OPTION]... PATTERNS [FILE]...
Try 'grep --help' for more information.
grep: invalid option -- '-'
Usage: grep [OPTION]... PATTERNS [FILE]...
Try 'grep --help' for more information.
grep: invalid option -- '-'
Usage: grep [OPTION]... PATTERNS [FILE]...
Try 'grep --help' for more information.

Provavelmente tem algo a ver com a citação, mas tentei fazer o mesmo com aspas simples fora e aspas duplas dentro e ainda não funcionou.

Isso produz o mesmo erro (e não deve expandir o $ afaik)

watch 'ls -ltr ~/meteofetcher/data/metar/2024/12 | tail -10 | awk "{ print $9 }" | xargs -I {} grep "LSZH" {}'

Onde foi que eu errei?

bash
  • 1 respostas
  • 43 Views
Martin Hope
elbarna
Asked: 2024-12-20 12:51:32 +0800 CST

fmthard/prtvtoc: o que está errado?

  • 5

Quero entender como fazer uma nova fatia sem usar o formato. Esta é a situação original (funcionando)

* /dev/rdsk/c0t2d0s2 partition map
*
* Dimensions:
*     512 bytes/sector
*      63 sectors/track
*     255 tracks/cylinder
*   16065 sectors/cylinder
*    2608 cylinders
*    2606 accessible cylinders
*
* Flags:
*   1: unmountable
*  10: read-only
*
* Unallocated space:
*       First     Sector    Last
*       Sector     Count    Sector 
*    41495895    369495  41865389
*
*                          First     Sector    Last
* Partition  Tag  Flags    Sector     Count    Sector  Mount Directory
       1      9    00      16065  20980890  20996954
       2      9    00   20996955  10490445  31487399
       3      9    00   31487400  10008495  41495894
       8      1    01          0     16065     16064

O tamanho das partições (melhor fatia) é de 10 GB para a primeira, 5 GB para a segunda e 4,77 GB para a terceira.

Quero criar uma quarta fatia (número 4) com um tamanho de 2 GB e reduzir a terceira para 2 GB

Eu edito este arquivo (salvando o antigo como backup)

* /dev/rdsk/c0t2d0s2 partition map
*
* Dimensions:
*     512 bytes/sector
*      63 sectors/track
*     255 tracks/cylinder
*   16065 sectors/cylinder
*    2608 cylinders
*    2606 accessible cylinders
*
* Flags:
*   1: unmountable
*  10: read-only
*
* Unallocated space:
*       First     Sector    Last
*       Sector     Count    Sector
*    41495895    369495  41865389
*
*                          First     Sector    Last
* Partition  Tag  Flags    Sector     Count    Sector  Mount Directory
       1      9    00      16065  20980890  20996954
       2      9    00   20996955  10490445  31487399
       3      9    00   31487400  4194304   35681703
       4      9    00   35681704  4194304   41865389
       8      1    01          0     16065     16064

O tamanho parece estar correto (2048 mb para cada fatia)

4194304*512 = 2147483648
2147483648*1024 = 2199023255552
2199023255552/1024 = 2147483648
2147483648/1024 = 2097152
2097152/1024 = 2048

Mas quando tento criar a nova tabela de partição...

fmthard -s file.map /dev/rdsk/c0t2d0s2  
Partition 3 not aligned on cylinder boundary: "       3      9    00   31487400  4194304   35681703"

Onde está minha falha? Eu sei que o formato é muito fácil, mas eu quero aprender desse jeito também.

partition
  • 1 respostas
  • 19 Views
Martin Hope
elbarna
Asked: 2024-12-20 08:18:46 +0800 CST

Solaris 10: atributos estendidos, como criá-los?

  • 5

Alguns comandos do Solaris 10 (ls, find..) suportam atributos estendidos. Com runat é possível copiar e listar atributos estendidos. Mas como criar/inserir um atributo estendido em um arquivo? No Linux temos chattr (chattr +i...chattr +m¹). No Solaris 10? Obrigado

1 NÃO TESTE SE VOCÊ NÃO SABE O QUE ELES FIZERAM!

solaris
  • 1 respostas
  • 19 Views
Martin Hope
Vlastimil Burián
Asked: 2024-12-20 04:17:31 +0800 CST

É possível compilar uma versão atualizada do g++ (14/13) no Raspberry Pi executando Debian 12 arm64?

  • 5

Estou confuso. Aparentemente não há imagem Debian mais nova para Raspberry Pi do que a versão estável atual 12 ( bookworm). Eu baixei e instalei quando saiu sem problemas, eu me lembro. Link para todas as imagens testadas aqui . O HW do meu Pi é 4 (8 GB) . Só para deixar claro, estou tudo bem com o objetivo do Debian de ser estável como uma rocha. Só uma coisa, se me permite cutucar.


Gostaria de saber se é possível compilar uma versão atualizada do g++(14) no meu arm64Raspberry Pi executando o Debian 12? (Hoje, eu precisava um pouco disso, mas descobri que, uma versão mais antiga g++-12disponível apenas no , só me causou pequenos problemas dessa vez.)

E se sim, como eu procederia exatamente? Não tenho a mínima ideia.


Aqui estão as g++versões que encontrei disponíveis no Linux Mint 22 (baseado no Ubuntu Noble), ou seja, versão 10+:

$ apt-cache policy g++-1[0-9] | grep -A 2 '^g++-1'

g++-10:
  Installed: (none)
  Candidate: 10.5.0-4ubuntu2
--
g++-11:
  Installed: (none)
  Candidate: 11.4.0-9ubuntu1
--
g++-12:
  Installed: 12.3.0-17ubuntu1
  Candidate: 12.3.0-17ubuntu1
--
g++-13:
  Installed: 13.3.0-6ubuntu2~24.04
  Candidate: 13.3.0-6ubuntu2~24.04
--
g++-14:
  Installed: 14.2.0-4ubuntu2~24.04
  Candidate: 14.2.0-4ubuntu2~24.04

Para referência, aqui estão as versões atualmente disponíveis no Debian 12 do Pi, ou seja, versões 10+, como acima:

$ apt-cache policy g++-1[0-9] | grep -A 2 '^g++-1'

g++-10:
  Installed: (none)
  Candidate: (none)
--
g++-11:
  Installed: (none)
  Candidate: 11.3.0-12
--
g++-12:
  Installed: 12.2.0-14
  Candidate: 12.2.0-14
--
g++-13:
  Installed: (none)
  Candidate: (none)

Não, nenhum sinal de g++-14, nem g++-13disponível (ainda). Então, minha pergunta acima permanece. Agradeço antecipadamente.

debian
  • 1 respostas
  • 25 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