Produção de fonte local

Dependendo da fonte do software, a criação de fontes locais pode ser dividida em três situações:

1. Utilize a imagem oficial do sistema operacional;

2. Utilize pacotes de software;

3. Utilize fontes de rede;

As três situações a seguir são introduzidas sucessivamente:

1. Use imagens oficiais

Ubuntu 18.04 LTS

Isso pode ser dividido de duas maneiras:

Usando CD/DVD

①Crie um novo diretório local e monte a imagem no diretório local

# mkdir /media/cdrom
# mount /dev/cdrom /media/cdrom

②Adicionar diretório local à fonte de software

# cp /etc/apt/source.list /etc/apt/source.list.bak //备份/etc/apt/source.list
# >  /etc/apt/source.list  //清空原内容
# apt-cdrom   ident  //扫描光盘信息
# apt-cdrom add -m -d=/media/cdrom   //将/media/cdrom写入到/etc/apt/source.list
# cat /etc/apt/source.list //确认/media/cdrom已在/etc/apt/source.list
# apt-get -y update      //更新apt信息

Descrição do parâmetro apt-cdrom:

Use o comando apt-cdrom para adicionar o CD aos arquivos de origem.

O comando ident é uma ferramenta de depuração que relata informações sobre o disco atual e nomes de arquivos armazenados.

O comando add pode adicionar um novo arquivo fonte de CD ao source.list.

-d: Ponto de montagem. O ponto de montagem deve estar no arquivo /etc/fstab e configurado corretamente.

-m: Desativa a montagem; evita que o apt-cdrom monte e desmonte o ponto de montagem.

③Modifique /etc/fstab e adicione as seguintes linhas:

# vim /etc/fstab
.....
/dev/cdrom     /media/cdrom     iso9660 defaults        0       0
Usar arquivos ISO

① Crie um novo diretório local e monte o arquivo ISO no diretório local (assumindo que o arquivo ISO esteja localizado no diretório /opt)

# mkdir /media/cdrom
# mount /opt/iso_name /media/cdrom

②Adicionar diretório local à fonte de software

# cp /etc/apt/source.list /etc/apt/source.list.bak //备份/etc/apt/source.list
# >  /etc/apt/source.list  //清空原内容
# vim /etc/apt/source.list //增加/media/cdrom已在/etc/apt/source.list
....
deb file:///media/cdrom/  bionic main restricted
# apt -y update      //更新apt信息

③Modifique /etc/fstab e adicione as seguintes linhas:

# vim /etc/fstab
.....
/opt/iso_name     /media/cdrom     iso9660 defaults        0       0

CentOS 7.x

Renomear repositório de origem de rede

# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
Usando CD/DVD

①Crie um novo diretório local e monte a imagem no diretório local

# mkdir /media/CentOS
# mount /dev/cdrom /media/CentOS

② Modifique o arquivo CentOS-Media.repo e altere enable=0 para enable=1

# vim /etc/yum.repos.d/CentOS-Media.repo
....
enabled=1

③Atualizar fonte do armazém

# yum -y update

④Modifique /etc/fstab e adicione as seguintes linhas:

# vim /etc/fstab
.....
/dev/cdrom     /media/CentOS     iso9660 defaults        0       0
Usar arquivos ISO

① Crie um novo diretório local e monte o ISO no diretório local (assumindo que o arquivo ISO esteja localizado no diretório /opt)

# mkdir /media/CentOS
# mount /opt/iso_name /media/CentOS

②Modifique o arquivo CentOS-Media.repo

# vim /etc/yum.repos.d/CentOS-Media.repo
....
enabled=1
gpgcheck=0 

③Atualizar fonte do armazém

# yum -y update

④Modifique /etc/fstab e adicione as seguintes linhas:

# vim /etc/fstab
.....
/opt/iso_name     /media/CentOS     iso9660 defaults        0       0

2. Use pacotes de software

Ubuntu 18.04 LTS

A versão apt no Ubuntu 18.04 é 1.6.11 e deve ser assinada.

Preparação preliminar

Crie um diretório e copie os arquivos deb necessários para o diretório

# mkdir /opt/debs
# cp /debs-path/*.deb /opt/debs

Insira o diretório para gerar arquivos de índice e arquivos de lançamento

# cd /opt/debs 
# apt-ftparchive packages . > Packages 
# apt-ftparchive release . > Release
Gerar chave

Nota: Você só precisa gerar a chave uma vez. Se a chave já tiver sido gerada, não há necessidade de gerá-la novamente.

# gpg --full-generate-key
gpg (GnuPG) 2.2.4; Copyright (C) 2017 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Please select what kind of key you want:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)
Your selection? 
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (3072) 2048
Requested keysize is 2048 bits
Please specify how long the key should be valid.
         0 = key does not expire
      <n>  = key expires in n days
      <n>w = key expires in n weeks
      <n>m = key expires in n months
      <n>y = key expires in n years
Key is valid for? (0) 
Key does not expire at all
Is this correct? (y/N) y

GnuPG needs to construct a user ID to identify your key.

Real name: caohf
Email address: [email protected]
Comment: cc
You selected this USER-ID:
    "caohf (cc) <[email protected]>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: key CB7EF49AC8328682 marked as ultimately trusted
gpg: revocation certificate stored as '/root/.gnupg/openpgp-revocs.d/7DD009174499615E734CEBAECB7EF49AC8328682.rev'
public and secret key created and signed.

pub   rsa2048 2020-01-08 [SC]
       C4AD7615BCCA35C042E64799317274E4C974C4D5
uid                      caohf (ubuntu 18.04.3 gpg sign) <[email protected]>
sub   rsa2048 2020-01-08 [E]

Se a geração da assinatura travar (para detalhes, consulte: https://www.cnblogs.com/styshoo/p/6415939.html), execute o seguinte comando:

# apt install rng-tools
# rng -r /dev/urandom  

Ver informações importantes

# gpg --list-keys
gpg: checking the trustdb
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
/root/.gnupg/pubring.kbx
------------------------
pub   rsa2048 2020-01-12 [SC]
      C4AD7615BCCA35C042E64799317274E4C974C4D5
uid           [ultimate] caohf (cc) <[email protected]>
sub   rsa2048 2020-01-12 [E]

Exporte a chave pública e adicione-a à chave apt

#  gpg -a --export pub_id | apt-key add -    
#  gpg -a --export C4AD7615BCCA35C042E64799317274E4C974C4D5 | apt-key add - 
Gerar assinatura

As seguintes operações são executadas no diretório /opt/debs

# gpg --clearsign -o InRelease Release
# gpg -abs -o Release.gpg Release

Modifique o arquivo source.list em seu computador

# cp /etc/apt/source.list /etc/apt/source.list.bal
# vim /etc/apt/source.list
...
deb file:///opt/debs/ /
# apt -y update

CentOS7.x

Crie um diretório e copie os arquivos rpm necessários para o diretório

# mkdir /opt/rpms
# cp /rpms-path/*.rpm /opt/rpms

Instale o comando createrepo

# yum -y install createrepo

Gere um armazém yum que atenda aos requisitos

# yum clean all
# createrepo /opt/rpms

Um arquivo de dados do armazém repodata é incluído em /opt/rpms, indicando que o armazém foi criado com êxito.

# ll -t /opt/rpms

repodata é um armazém de software com quatro arquivos necessários em seu diretório:

filelists.xml.[gz], other.xml.[gz], primário.xml.[gz] e repomd.xml (md significa metadados),

O principal deles é o arquivo repomd.xml.

Geralmente, ocorre um erro de que o diretório ou arquivo repodata não pode ser encontrado. Geralmente há três motivos:

①Problema de caminho;

②Nenhum diretório repodata;

③*.repo conflitos de arquivo de configuração.

Após adicionar ou excluir o pacote rpm, não há necessidade de criá-lo novamente, basta usar –update

# createrepo --update /opt/rpms

Atualizar arquivos de cache

# yum clean all
# yum makecache 

3. Use fontes de rede

Este método é relativamente simples.

Crie localmente a mesma estrutura de diretórios da fonte de rede, baixe os arquivos relevantes da fonte de rede e coloque-os no local relevante;

Acho que você gosta

Origin blog.csdn.net/QTM_Gitee/article/details/130796426
Recomendado
Clasificación