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 / 678689
Accepted
k.Cyborg
k.Cyborg
Asked: 2021-11-23 22:40:08 +0800 CST2021-11-23 22:40:08 +0800 CST 2021-11-23 22:40:08 +0800 CST

Como instalar o vdo/kvdo no Ubuntu 20.04?

  • 772

Gostaria de saber se existe uma maneira de instalar o vdo da Red Hat no Ubuntu 20.04.

Até agora, tentei baixar a fonte e compilá-la, mas recebo o seguinte erro:

cc -fPIC -fpic -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings    -std=gnu99 -pedantic -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default   -I. -I../uds -Wno-write-strings -DCURRENT_VERSION="\"8.1.0.316\""   -c -MMD -MF .deps/vdoformat.d.new -MP -MT vdoformat.o -o vdoformat.o vdoformat.c
vdoformat.c:22:10: fatal error: blkid/blkid.h: No such file or directory
   22 | #include <blkid/blkid.h>
      |          ^~~~~~~~~~~~~~~
compilation terminated.

Não entendo porque recebo o erro porque tenho o pacote libblkid já instalado.


O que realmente me incomoda é que existe uma página de manual para lvmvdo (o que eu acho que é a "porta" para o Ubuntu do Red Hat VDO), mas apenas diz:

Para uso de VDO com lvm(8) as ferramentas de espaço de usuário VDO padrão vdoformat(8) e o módulo VDO do kernel atualmente não padrão "kvdo" precisam ser instalados no sistema.

Eu realmente tenho o pacote lvm instalado por padrão no Ubuntu 20.04, mas não consigo encontrar a maneira de instalar os pacotes vdoformat nem kvdo .

ubuntu deduplication
  • 2 2 respostas
  • 897 Views

2 respostas

  • Voted
  1. Vojtech Trefny
    2021-11-23T23:15:02+08:002021-11-23T23:15:02+08:00

    Não entendo porque recebo o erro porque tenho o pacote libblkid já instalado.

    Você precisa do libblkid-devpacote que contém o blkid/blkid.harquivo de cabeçalho.

    O que realmente me incomoda é que existe uma página de manual para lvmvdo (o que eu acho que é a "porta" para o Ubuntu do RedHat VDO), mas apenas diz:

    Não, esta não é uma porta do VDO, esta é a integração do VDO no LVM que permite que você crie LVM Logical Volumes com desduplicação e/ou compactação habilitada. Isso não é reimplementação do VDO, o LVM usa o código VDO existente -- a vdoformatferramenta userspace e o kvdomódulo do kernel, então você ainda precisa instalar ambos para fazer a implementação do LVM funcionar.

    Eu realmente tenho o pacote lvm instalado por padrão no Ubuntu 20.04, mas não consigo encontrar a maneira de instalar os pacotes vdoformat nem kvdo.

    O VDO não está disponível no Ubuntu ( bug da lista de desejos para 20.10 ) então você precisa compilá-lo você mesmo (o que você já iniciou), mas você precisa compilar e instalar manualmente o projeto dm-vdo/vdo que contém as ferramentas do espaço do usuário (incluindo as vdoformatusadas por LVM) e o projeto dm-vdo/kvdo que contém o módulo do kernel (esse é o kvdo"pacote" referido na página de manual do lvmvdo).

    • 4
  2. Best Answer
    k.Cyborg
    2021-11-27T15:41:11+08:002021-11-27T15:41:11+08:00

    Após vários dias de tentativas e erros... encontrei a maneira de realmente usar vdo no Ubuntu (pelo menos em 20.04)...

    Primeiro, uma atualização rápida e depois instale alguns pacotes necessários:

    apt update -y && apt upgrade -y && \
    apt install git build-essential libdevmapper-dev libz-dev uuid-dev flex bison linux-source libblkid-dev -y
    

    Agora, só para ter certeza, atualize seu kernel (o padrão é 5.4) para 5.9 e reinicie:

    wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.9/amd64/linux-headers-5.9.0-050900_5.9.0-050900.202010112230_all.deb && \
    wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.9/amd64/linux-headers-5.9.0-050900-generic_5.9.0-050900.202010112230_amd64.deb && \
    wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.9/amd64/linux-image-unsigned-5.9.0-050900-generic_5.9.0-050900.202010112230_amd64.deb && \
    wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.9/amd64/linux-modules-5.9.0-050900-generic_5.9.0-050900.202010112230_amd64.deb && \
    dpkg -i *.deb && \
    shutdown now -r
    

    Agora você precisará do kvdo que são os utilitários do kernel para poder usar o vdo, próximo comando clone o repositório e depois compile-o:

    git clone https://github.com/rhawalsh/kvdo.git && \
    cd kvdo && \
    make -C /usr/src/linux-headers-5.9.0-050900-generic/ M=$('pwd') modules
    

    Em seguida, atualize nosso Module.symvers e copie o módulo kvdo para a respectiva pasta:

    cat Module.symvers >> /lib/modules/5.9.0-050900-generic/build/Module.symvers && \
    mkdir /lib/modules/5.9.0-050900-generic/extra/ && \
    cp /opt/kvdo/uds/uds.ko /lib/modules/5.9.0-050900-generic/extra/ && \
    cp /opt/kvdo/vdo/kvdo.ko /lib/modules/5.9.0-050900-generic/extra/
    

    Agora pedimos ao kernel que atualize todos os módulos, e então verifique se ele está instalado (se o modprobe kvdo não mostrar nada, então está instalado corretamente):

    depmod -a && \
    modprobe kvdo
    

    Você pode testar a versão instalada do kvdo:

    modinfo kvdo
    
    modinfo kvdo
    filename:       /lib/modules/5.9.0-050900-generic/extra/kvdo.ko
    version:        8.1.0.316
    license:        GPL
    author:         Red Hat, Inc.
    description:    device-mapper target for transparent deduplication
    srcversion:     F021DCCB4284C7E05BCCF77
    depends:        uds
    retpoline:      Y
    name:           kvdo
    vermagic:       5.9.0-050900-generic SMP mod_unload 
    

    As ferramentas do kernel estão instaladas, agora precisamos das ferramentas do espaço do usuário ( vdo ), próximo comando clone o repositório vdo e compile-o:

    git clone https://github.com/rhawalsh/vdo.git && \
    cd vdo && \
    make && \
    make install
    

    Você pode testar se está instalado corretamente:

    vdoformat --version
    

    E agora você pode usar o vdo como se estivesse no CentOS....

    • 2

relate perguntas

  • Torne as configurações do teclado Apple persistentes em ../hid_apple/parameters/

  • traçar gráfico 2D com pontos de um arquivo

  • Como faço para verificar se estou usando 9.9.9.9 para DNS?

  • Instale várias distribuições Linux em paralelo

  • O OpenVPN auto-compilado não inicia a partir do systemd

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