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 / Perguntas / 570005
Accepted
malat
malat
Asked: 2020-02-28 01:07:04 +0800 CST2020-02-28 01:07:04 +0800 CST 2020-02-28 01:07:04 +0800 CST

Montagem automática /dev/sda1 sob schroot

  • 772

Eu tenho acesso a um sistema Ubuntu que é assim:

$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
[...]
sda           8:0    0   1.8T  0 disk 
└─sda1        8:1    0   1.8T  0 part /mnt/dbc64c37-340a-49e5-8184-a69e01e5e231
nvme0n1     259:0    0   477G  0 disk 
├─nvme0n1p1 259:1    0   650M  0 part /boot/efi
└─nvme0n1p2 259:2    0 372.5G  0 part /

Eu configurei um Debian/sid schroot assim:

$ cat /etc/schroot/chroot.d/sid64 
[sid64]
description=Contains the SPICE program
aliases=sid
type=directory
directory=/home/malat/schroots/sid-root
users=malat
root-groups=root
profile=desktop
personality=linux
preserve-environment=true

Eu não mudei nada para /etc/schroot/default/fstab, e ao entrar no meu schroot sid64aqui está o que vejo:

$ schroot -c sid
(sid64)$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
[...]
sda           8:0    0   1.8T  0 disk 
└─sda1        8:1    0   1.8T  0 part
nvme0n1     259:0    0   477G  0 disk 
├─nvme0n1p1 259:1    0   650M  0 part 
└─nvme0n1p2 259:2    0 372.5G  0 part /var/lib/dbus

Se eu fizer manualmente:

$ sudo mount /dev/sda1 /mnt/dbc64c37-340a-49e5-8184-a69e01e5e231
$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0   1.8T  0 disk 
└─sda1        8:1    0   1.8T  0 part /mnt/bdc64c37-340a-49e5-8184-a69e01e5e231
nvme0n1     259:0    0   477G  0 disk 
├─nvme0n1p1 259:1    0   650M  0 part 
└─nvme0n1p2 259:2    0 372.5G  0 part /var/lib/dbus

Como posso montar automaticamente /mnt/dbc64c37-340a-49e5-8184-a69e01e5e231no meu schroot (este é meu disco principal onde meus dados estão localizados)?


Até agora eu tentei um ingênuo:

$ sudo mkdir /home/malat/schroots/sid-root/mnt/dbc64c37-340a-49e5-8184-a69e01e5e231
$ tail -1 /etc/schroot/default/fstab 
/dev/disk/by-uuid/dbc64c37-340a-49e5-8184-a69e01e5e231 /mnt/dbc64c37-340a-49e5-8184-a69e01e5e231 none rw,bind 0 0
$ schroot -c sid
(sid64)$ ls -al /dev/disk/by-uuid/dbc64c37-340a-49e5-8184-a69e01e5e231
lrwxrwxrwx 1 root root 10 Jan  8 01:00 /dev/disk/by-uuid/dbc64c37-340a-49e5-8184-a69e01e5e231 -> ../../sda1

assim como:

$ tail -1 /etc/schroot/default/fstab
/mnt/dbc64c37-340a-49e5-8184-a69e01e5e231 /mnt/dbc64c37-340a-49e5-8184-a69e01e5e231 none    rw,bind 0 0

Ambos não funcionaram para mim.


Eu também tentei um ingênuo:

$ sudo mount --rbind /mnt/dbc64c37-340a-49e5-8184-a69e01e5e231 /home/malat/schroots/sid-root/mnt/dbc64c37-340a-49e5-8184-a69e01e5e231
$ mount | grep dbc64c37
/dev/sda1 on /mnt/dbc64c37-340a-49e5-8184-a69e01e5e231 type ext4 (rw,nosuid,nodev,relatime,x-gvfs-show)
/dev/sda1 on /home/malat/schroots/sid-root/mnt/dbc64c37-340a-49e5-8184-a69e01e5e231 type ext4 (rw,nosuid,nodev,relatime)
$ schroot -c sid
(sid64)$ ls -al /mnt/dbc64c37-340a-49e5-8184-a69e01e5e231
-> empty !
mount udev
  • 2 2 respostas
  • 791 Views

2 respostas

  • Voted
  1. WGRM
    2020-03-05T11:21:18+08:002020-03-05T11:21:18+08:00
    1. Your root fs is on the pt      : "nvme0n1p2"
    2. The device `sda1` is mounted on: "/mnt/dbc64c37-340a-49e5-8184-a69e01e5e231"
    3. Your chroot is created under   : "/home/malat/debian/sid-root/"
    4. The schroot mnt-pnt shall be   : "/mnt/dbc64c37-340a-49e5-8184-a69e01e5e231" (in chroot)
    

    Seu primeiro erro na primeira tentativa:

    Você tentou montar automaticamente a partição sda1, em vez de fornecer o ponto de montagem do sistema de arquivos já montado:

    /dev/disk/by-uuid/dbc64c37-340a-49e5-8184-a69e01e5e231 /mnt/dbc64c37-340a-49e5-8184-a69e01e5e231 none rw,bind 0 
    

    Em vez disso, deve ficar assim:

    /mnt/dbc64c37-340a-49e5-8184-a69e01e5e231 /mnt/dbc64c37-340a-49e5-8184-a69e01e5e231 none rw,bind 0 0
    

    As partições nunca são montadas via bind, diretórios já montados ou até mesmo arquivos são. A configuração correta para /etc/fstabdentro do seu chroot ficaria assim:

     /dev/disk/by-uuid/dbc64c37-340a-49e5-8184-a69e01e5e231 /mnt/dbc64c37-340a-49e5-8184-a69e01e5e231 ext4 rw,nosuid,nodev,relatime,x-gvfs-show 0 0
    

    Você NÃO faz isso - a menos que você tenha desmontado sda1fora do chroot! Você efetivamente montaria duas vezes duas sda1 vezes e corromperia o fs, portanto, se possível.

    Sua segunda tentativa fora do chroot deve ter funcionado:

    sudo mount --rbind /mnt/dbc64c37-340a-49e5-8184-a69e01e5e231 mnt/dbc64c37-340a-49e5-8184-a69e01e5e231
    

    Mas a saída de mountnão se encaixa:

    /dev/sda1 on /mnt/dbc64c37-340a-49e5-8184-a69e01e5e231/malat/debian/sid-root/mnt/dbc64c37-340a-49e5-8184-a69e01e5e231 type ext4 (rw,nosuid,nodev,relatime)
    

    A primeira saída de lsblknos disse que não há partição para a homeárvore! Então, por que mount indica o bindponto de montagem a ser ativado /mnt/dbc64c37-340a-49e5-8184-a69e01e5e231/malat/debian/sid-root/mnt/dbc64c37-340a-49e5-8184-a69e01e5e231? O caminho correto deve estar /home/malat/debian/sid-root/mnt/dbc64c37-340a-49e5-8184-a69e01e5e231em nvme0n1p2!

    Tentar:

    Don't chroot, yet!
    Try bind mounting with full paths:
    sudo mount --rbind "/mnt/dbc64c37-340a-49e5-8184-a69e01e5e231" "/home/malat/debian/sid-root/mnt/dbc64c37-340a-49e5-8184-a69e01e5e231"
    

    Se for um sucesso, você pode automatizar isso sem schrootsair do seu chroot no fstabcom:

    /mnt/dbc64c37-340a-49e5-8184-a69e01e5e231 /home/malat/debian/sid-root/mnt/dbc64c37-340a-49e5-8184-a69e01e5e231 none bind 0 0
    

    Como um chroot impede o acesso à hierarquia de arquivos "host" e você mencionou não ter alterado /etc/schroot/default/fstab, o bind mount dentro do schroot deve falhar. Isso ocorre porque /mntnão está incluído no fstab schroot. E se fosse, já teria sido "montado em ligação".

    Essa pergunta me provocou e levei 2 horas para responder. Eu espero que dê certo. Btw, eu fui lembrado sobre schroot e me deu um entendimento básico sobre a montagem, agora. ;)

    PS A saída de lsblkdentro do chroot não pode estar correta! Ele afirma que sda1montado fora do chroot under /mnt/dbc64c37-340a-49e5-8184-a69e01e5e231seria a raiz (/) dentro do chroot. Isto é falso! A raiz do chroot está /home/malat/debian/sid-root/na partição nvme0n1p2!

    • 2
  2. Best Answer
    malat
    2020-03-06T01:52:07+08:002020-03-06T01:52:07+08:00

    Portanto, a solução foi simplesmente ler corretamente meu arquivo de configuração schroot. Declarou:

    $ cat /etc/schroot/chroot.d/sid64 
    [...]
    profile=desktop
    

    Então eu preciso editar o arquivo: /etc/schroot/desktop/fstabe não /etc/schroot/default/fstab( desktop != default ).

    Eu usei :

    $ tail -1 /etc/schroot/desktop/fstab 
    /mnt/dbc64c37-340a-49e5-8184-a69e01e5e231 /mnt/dbc64c37-340a-49e5-8184-a69e01e5e231 none    rw,bind 0 0
    

    E agora tenho:

    $ schroot -c sid
    (sid64)$ lsblk
    NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda           8:0    0   1.8T  0 disk 
    └─sda1        8:1    0   1.8T  0 part /mnt/dbc64c37-340a-49e5-8184-a69e01e5e231
    nvme0n1     259:0    0   477G  0 disk 
    ├─nvme0n1p1 259:1    0   650M  0 part 
    └─nvme0n1p2 259:2    0 372.5G  0 part /var/lib/dbus
    
    • -1

relate perguntas

  • Como montar partições de unidade zfs no solaris 11.3

  • Bloqueando montagem syscall

  • montar lan hdd no linux fedora

  • Executando script por meio da regra udev no Chrome OS [fechado]

  • udev, udisks, dbus e comando dd

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