![SpotCam Sense: muito mais do que apenas monitorar sua casa!](/f/debeda42ecfa52e726496bb1324ff275.jpg?width=100&height=100)
Reprepro é uma pequena ferramenta de linha de comando para criar e gerenciar .deb repositórios facilmente, hoje mostraremos como criar repositórios de pacotes Debian facilmente usando reprepro e como enviá-los para Sourceforge.net usando rsync comando.
Primeiro, instale todos os pacotes necessários, usando o seguinte comando apt-get.
$ sudo apt-get install reprepro gnupg
Agora você precisa gerar uma chave gpg usando gnupg, para fazer isso, aplique este comando.
$ gpg --gen-key
Ele fará algumas perguntas, como o tipo de chave que você deseja, por quanto tempo a chave deve ser válida, se você não souber o que responder, basta clicar Digitar para as opções padrão (recomendado).
Claro, ele vai pedir um nome de usuário e uma senha, lembre-se disso, porque vamos precisar deles mais tarde.
gpg (GnuPG) 1.4.14; Copyright (C) 2013 Free Software Foundation, Inc. Este é um software livre: você é livre para alterá-lo e redistribuí-lo. NÃO HÁ GARANTIA, na medida permitida por lei. Selecione o tipo de chave que deseja: (1) RSA e RSA (padrão) (2) DSA e Elgamal (3) DSA (somente assinatura) (4) RSA (somente assinatura) Sua seleção? As chaves RSA podem ter entre 1024 e 4096 bits de comprimento.Que tamanho de chave você quer? (2048) O tamanho da chave solicitado é de 2048 bits. Especifique por quanto tempo a chave deve ser válida. 0 = a chave não expira = a chave expira em n dias w = a chave expira em n semanas m = a chave expira em n meses y = a chave expira em n anos. A chave é válida para? (0) A chave não expira de todo. Isso está correto? (s / N) S Você precisa de um ID de usuário para identificar sua chave; o software constrói o ID do usuário. do nome real, comentário e endereço de e-mail neste formato: "Heinrich Heine (Der Dichter) <[email protegido]>" Nome verdadeiro: ravisaiveEndereço de e-mail: [email protegido]Comentário: tecmint Você selecionou este USER-ID: "Ravi Saive (tecmint) <[email protegido]>"Alterar (N) ame, (C) omento, (E) mail ou (O) kay / (Q) uit? OVocê precisa de uma senha para proteger sua chave secreta. Precisamos gerar muitos bytes aleatórios. É uma boa ideia representar. alguma outra ação (digite no teclado, mova o mouse, utilize o. discos) durante a geração principal; isso dá o número aleatório. gerador uma melhor chance de ganhar entropia suficiente. +++++ gpg: chave 2EB446DD marcada como confiável. chave pública e secreta criada e assinada. gpg: verificando o banco de dados confiável. gpg: 3 marginal (s) necessários, 1 completo (s) necessário, modelo de confiança PGP. gpg: profundidade: 0 válido: 1 assinado: 0 confiança: 0-, 0q, 0n, 0m, 0f, 1u. pub 2048R / 2EB446DD 2014-06-24 Impressão digital da chave = D222 B1C9 342E 5911 02B1 9147 3BD6 7918 2EB4 46DD. uidRavi Saive (tecmint) <[email protegido]> sub 2048R / 7EF2F750 2014-06-24
Agora sua chave será gerada, para verificar se sim, execute este comando como privilégios de root.
$ sudo gpg --list-keys
/home/ravisaive/.gnupg/pubring.gpg. pub 2048R / 2EB446DD 2014-06-24. uid ravisaive (tecmint) <[email protegido]>
sub 2048R / 7EF2F750 2014-06-24
Vamos começar o trabalho agora para criar o repositório, primeiro você tem que criar algumas pastas, nosso repositório estará em /var/www/apt diretório, então vamos criar algumas pastas.
$ sudo su. # cd / var / www. # mkdir apt. # mkdir -p ./apt/incoming # mkdir -p ./apt/conf. # mkdir -p ./apt/key
Agora você precisa exportar a chave criada para a pasta do repositório, execute.
# gpg --armor --exportar nome de usuário [email protegido] >> /var/www/apt/key/deb.gpg.key
Observação: Substitua o nome de usuário pelo nome de usuário inserido na etapa acima e [email protegido] com seu e-mail.
Precisamos criar um arquivo chamado “distribuições" dentro /var/www/apt/conf.
# touch / var / www / apt / conf / distributions
Adicione as seguintes linhas ao arquivo de distribuições e salve o arquivo.
Origem: (seu nome) Etiqueta: (nome do repositório) Suite: (estável ou instável) Nome de código: (o codinome para a distribuição que você está usando, como trusty) Versão: (a versão da distribuição que você está usando, como 14.04) Arquiteturas: (a arquitetura dos pacotes do repositório, como i386 ou amd64) Componentes: (multiverso principal do universo restrito) Descrição: (Algumas informações sobre o repositório) SignWith:sim
Em seguida, teremos que criar a árvore do repositório, para fazer isso, execute esses comandos.
# reprepro --ask-passphrase -Vb / var / www / apt export
Criado o diretório "/ var / www / apt / db" Exportando Trusty... Criado o diretório "/ var / www / apt / dists" Criado o diretório "/ var / www / apt / dists / Trusty" Criado o diretório "/ var / www / apt / dists / Trusty / universe" Criado o diretório "/ var / www / apt / dists / Trusty / universe / binary-i386" FF5097B479C8220C ravisaive (tecmint) <[email protegido]> precisa de uma senha longa. Digite a senha longa: Criada com sucesso '/var/www/apt/dists/Trusty/Release.gpg.new' FF5097B479C8220C ravisaive (tecmint) <[email protegido]> precisa de uma senha longa. Insira a senha longa: Criado com sucesso '/var/www/apt/dists/Trusty/InRelease.new'
Agora prepare seu .deb pacotes a serem adicionados ao repositório. Vou ao /var/www/apt diretório, você deve fazer isso toda vez que quiser adicionar pacotes.
# cd / var / www / apt. # reprepro --ask-passphrase -Vb. includedeb Trusty /home/ravisaive/packages.deb
Observação: Substituir fiel pelo codinome que você inseriu para o repositório no arquivo de distribuição e substitua /home/username/package.deb com o caminho para o pacote, será solicitada a senha para inserir.
/home/ravisaive/packages.deb: componente adivinhado como 'universo' Criado o diretório "./pool" Criado o diretório "./pool/universe" Criado o diretório "./pool/universe/o" Criado o diretório "./pool/universe/o/ojuba-personal-lock" Exportando índices... FF5097B479C8220C ravisaive (tecmint) <[email protegido]> precisa de uma senha longa. Insira a senha longa:Criado com sucesso './dists/Trusty/Release.gpg.new' FF5097B479C8220C ravisaive (tecmint) <[email protegido]> precisa de uma senha longa. Insira a senha longa: Criado com sucesso './dists/Trusty/InRelease.new'
Seu pacote é adicionado ao repositório, para removê-lo.
# reprepro --ask-passphrase -Vb / var / www / apt remove o pacote confiável.deb
E, claro, você precisa modificar o comando com o nome do seu pacote e o codinome do repositório.
Para fazer o upload do repositório para Sourceforge.net, você precisa ter uma conta em execução lá, é claro, e um projeto em execução, vamos supor que você deseja fazer o upload do repositório para http://sourceforge.net/projects/myfoo/testrepository onde myfoo é o nome do seu projeto (nome do UNIX, não URL, não o título) e testrepository é a pasta onde você deseja enviar os arquivos, Faremos isso usando comando rsync.
# rsync -avP -e ssh / var / www / apt / [email protegido]: / home / frs / project / myfoo / testrepository /
Observação: Substitua nome de usuário pelo seu nome de usuário em sourceforge.net e myfoo pelo nome do projeto UNIX e testrepository pela pasta em que deseja armazenar os arquivos.
Agora seu repositório foi enviado para http://sourceforge.net/projects/myfoo/testrepository, para adicioná-lo ao seu sistema instalado, primeiro você deve importar a chave do repositório, ela estará em /var/www/apt/key/deb.gpg.key, mas esse é um caminho local e os usuários do seu repositório não poderão adicioná-lo aos sistemas, por isso importaremos a chave do sourceforge.net.
$ sudo su. # wget -O - http://sourceforge.net/projects/myfoo/testrepository/apt/key/deb.gpg.key | apt-key add -
Você pode adicionar o repositório facilmente agora ao seu sistema, abra /etc/apt/sources.list e adicione esta linha.
deb http://sourceforge.net/projects/myfoo/testrepository/apt/key/deb.gpg.key confiável principal
Observação: Substitua myfoo pelo nome do seu projeto UNIX, confiável pelo codinome do seu repositório, testrepository pelo pasta para a qual você carregou os arquivos e principal com os componentes do repositório que você adicionou às distribuições Arquivo.
Em seguida, execute o seguinte para atualizar a lista de repositórios.
$ sudo apt-get update
Parabéns! Seu repositório está ativo! Agora você pode instalar pacotes facilmente a partir dele, se desejar.