Verificando Assinatura Usando RPM
2.4 Configura¸c˜ oes e Testes P´ os-instala¸c˜ ao
Uma vez instalado o MySQL (de uma distribui¸c˜ao bin´aria ou fonte), vocˆe deve inicializar as tabelas de concess˜oes, iniciar o servidor e ter certeza que o servidor est´a funcionando bem. Vocˆe pode tamb´em desejar que o servidor inicie e pare automaticamente quando seu sistema iniciar e desligar.
Normalmente vocˆe instala as tabelas de concess˜oes e inicia o servidor assim para instala¸c˜oes baseadas em uma distribui¸c˜ao fonte:
shell> ./scripts/mysql_install_db shell> cd diretorio_instala¸c~ao_mysql shell> ./bin/mysqld_safe --user=mysql &
Para uma distribui¸c˜ao bin´aria (sem ser pacotes RPM ou PKG), fa¸ca isto:
shell> cd diretorio_instala¸c~ao_mysql shell> ./bin/mysql_install_db
shell> ./bin/mysqld_safe --user=mysql &
O scriptmysql_install_dbcria o banco de dadosmysqlque ir´a armazenar todos privil´egios do banco de dados, o banco de dados test que vocˆe poder´a usar para testar o MySQL e tamb´em entradas de privil´egio para o usu´ario que usa o mysql_install_db e o usu´ario root. As estrandas s˜ao criadas sem senhas. O scriptmysqld_safeinicia o servidormysqld.
(Se sua vers˜ao for anterior a 4.0, use safe_mysqldem vez demysqld_safe.)
mysql_install_db n˜ao ir´a sobrescrever nenhuma tabela de privil´egios antiga, ent˜ao deve ser seguro execut´a-lo em quaisquer circunstˆancias. Se vocˆe n˜ao deseja ter o banco de dados testvocˆe pode removˆe-lo commysqladmin -u root drop testdepois de iniciar o servidor.
Testes s˜ao geralmente facilmente feitos de um diret´orio raiz da distribui¸c˜ao MySQL.
Para uma distribui¸c˜ao bin´aria, este ´e seu diret´orio de instala¸c˜ao (normalmente algo como
‘/usr/local/mysql’). Para uma distrubui¸c˜ao fonte, este ´e o diret´orio principal da sua
´arvore fonte do MySQL.
Nos comandos mostrados abaixo nesta se¸c˜ao e nas seguintes subse¸c˜oes, BINDIR´e o caminho para a localiza¸c˜ao na qual os programas como mysqladminemysqld_safeest˜ao instalados.
Para uma distribui¸c˜ao bin´aria este ´e o diret´orio ‘bin’. Para uma distribui¸c˜ao fonte, BINDIR
´e provavelmente ‘/usr/local/bin’, a menos que vocˆe especifique um diret´orio de instala¸c˜ao diferente de ‘/usr/local’ quando vocˆe executaconfigure. EXECDIR´e a localiza¸c˜ao na qual o servidormysqldest´a instalado. Para uma distribui¸c˜ao bin´aria, isto ´e o mesmo queBINDIR.
Para uma distribui¸c˜ao fonte,EXECDIR´e provavelmente ‘/usr/local/libexec’.
Os testes s˜ao descritos em detalhes abaixo:
1. Se necess´ario, inicie o servidor mysqld e configure as tabelas de concess˜oes iniciais contendo os privil´egios que determinam como os usu´arios est˜ao permitidos a conectar ao servidor. Isto ´e feito normalmente com o scriptmysql_install_db:
shell> scripts/mysql_install_db
Normalmente, mysql_install_db precisa ser executado somente na primeira vez que vocˆe instala o MySQL. Portanto, se vocˆe estiver atualizando uma instala¸c˜ao existente, vocˆe pode pular este passo. (entretanto,mysql_install_db´e realmente seguro de usar e n˜ao ir´a atualizar nenhuma tabela que j´a exista, ent˜ao se vocˆe n˜ao tem certeza do que fazer, vocˆe pode sempre executar mysql_install_db.)
mysql_install_db cria seis tabelas (user, db, host, tables_priv, columns_priv e func) no banco de dados mysql. Uma descri¸c˜ao dos privil´egios iniciais ´e fornecido em Se¸c˜ao 4.4.4 [Default privileges], P´agina 261. De forma resumidao, estes privil´egios permitem que o usu´ario root fa¸ca qualquer coisa no MySQL, e permitem a qualquer um a criar ou usar bancos de dados com o nome de’test’ou iniciando com ’test_’
.
Se vocˆe n˜ao configurar as tabelas de concess˜oes, o seguinte erro ir´a aparecer no arquivo log quando vocˆe n˜ao iniciar o servidor:
mysqld: Can’t find file: ’host.frm’
O erro acima pode tamb´em ocorrer com uma distribui¸c˜ao bin´aria do MySQL se vocˆe n˜ao iniciar o MySQL executando o ./bin/mysqld_safe! Veja Se¸c˜ao 4.8.2 [mysqld_
safe], P´agina 332.
Vocˆe deve precisar executar mysql_install_db como root. Entretanto, se vocˆe preferir, pode executar o servidor MySQL como um usu´ario (n˜ao-root) sem privil´egios, desde que o usu´ario possa ler e escrever arquivos no diret´orio de banco de dados. Instru¸c˜oes para executar o MySQL como um usu´ario sem privil´egios ´e detalhado em Se¸c˜ao A.3.2 [Alterando usu´arios MySQL], P´agina 919
Se vocˆe tiver problemas com o mysql_install_db, veja Se¸c˜ao 2.4.1 [mysql_install_
db], P´agina 115.
Existem algumas alternativas para executar o script mysql_install_db como ele ´e fornecido na distribui¸c˜ao MySQL:
• Vocˆe pode querer editar omysql_install_dbantes de execut´a-lo, para alterar os privil´egios iniciais que s˜ao instalados nas tabelas de concess˜oes. Isto ´e ´util se vocˆe deseja instalar o MySQL em v´arias m´aquinas com os mesmos privil´egios. Neste caso, ´e prov´avel que vocˆe s´o precise adicionar algumas instru¸c˜oes INSERT extras para as tabelasmysql.user emysql.db.
• Se vocˆe deseja alterar o conte´udo da tabelas de concess˜oes depois de instal´a-las, vocˆe pode executarmysql_install_db, ent˜ao usarmysql -u root mysqlpara conectar `as tabelas de concess˜oes como o usu´arioroote usar instru¸c˜oes SQL para modific´a-las diretamente.
• E poss´ivel recriar as tabelas de permiss˜oes completamente depois delas j´a terem´ sido criadas. Vocˆe pode querer fazer isto se vocˆe j´a instalou as tabelas mas deseja recri´a-las depois das edi¸c˜oesmysql_install_db.
Para maiores informa¸c˜oes sobre estas alternativas, veja Se¸c˜ao 4.4.4 [Default privileges], P´agina 261.
2. Inicie o servidor MySQL assim:
shell> cd diretorio_instalacao_mysql shell> bin/mysqld_safe &
Se a sua vers˜ao do MySQL for mais antiga do que 4.0, substituabin/safe_mysqldpor bin/mysqld_safe no comando:
Se vocˆe tiver problemas iniciando o servidor, veja Se¸c˜ao 2.4.2 [Starting server], P´agina 116.
3. Use mysqladmin para verificar se o servidor est´a em execu¸c˜ao. Os seguintes coman-dos fornecem um teste simples para conferir se o servidor est´a em funcionamento e respondendo `as conex˜oes:
shell> BINDIR/mysqladmin version shell> BINDIR/mysqladmin variables
A sa´ida de mysqladmin version varia muito pouco dependendo de sua plataforma e vers˜ao do MySQL, mas deve ser similar a esta mostrada abaixo:
shell> BINDIR/mysqladmin version
mysqladmin Ver 8.14 Distrib 3.23.32, for linux on i586
Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license.
Server version 3.23.32-debug Protocol version 10
Connection Localhost via Unix socket
TCP port 3306
UNIX socket /tmp/mysql.sock
Uptime: 16 sec
Threads: 1 Questions: 9 Slow queries: 0 Opens: 7 Flush tables: 2 Open tables: 0 Queries per second avg: 0.000
Memory in use: 132K Max memory used: 16773K
Para ter uma id´eia do que vocˆe pode fazer comBINDIR/mysqladmin, invoque-o com a op¸c˜ao --help.
4. Verifique se vocˆe pode desligar o servidor:
shell> BINDIR/mysqladmin -u root shutdown
5. Verifique que vocˆe possa reiniciar o servidor. Fa¸ca isto usando mysqld_safe ou chamado o mysqlddiretamente. Por exemplo:
shell> BINDIR/mysqld_safe --log &
Se o mysqld_safe falhar, tente execut´a-lo do diret´orio de instala¸c˜ao do MySQL (se vocˆe j´a n˜ao estiver l´a). Se n˜ao funcionar, veja Se¸c˜ao 2.4.2 [Starting server], P´agina 116.
6. Execute alguns testes b´asicos para verificar se o servidor est´a funcionando. A sa´ida deve ser similar ao mostrado abaixo:
shell> BINDIR/mysqlshow +---+
| Databases | +---+
| mysql | +---+
shell> BINDIR/mysqlshow mysql Database: mysql
+---+
| Tables |
+---+
| columns_priv |
| db |
| func |
| host |
| tables_priv |
| user |
+---+
shell> BINDIR/mysql -e "SELECT host,db,user FROM db" mysql +---+---+---+
| host | db | user | +---+---+---+
| % | test | |
| % | test_% | | +---+---+---+
Tamb´em existe uma suite de benchmark no diret´orio ‘sql-bench’ (sob o diret´orio de instala¸c˜ao do MySQL) que vocˆe pode usar para comparar como o MySQL se comporta em diferentes plataformas. O diret´orio ‘sql-bench/Results’ cont´em os resultados de v´arias execu¸c˜oes em diferentes bancos de dados e plataformas. Os seguintes m´odulos Perl adicionais s˜ao necess´arios para executar o pacote de benchamrk:
DBI
DBD-mysql Data-Dumper Data-ShowTable
Estes m´odulos podem ser obtidos em CPANhttp://www.cpan.org/. Veja Se¸c˜ao 2.7.1 [Instala¸c˜ao Perl], P´agina 165.
O diret´orio ‘sql-bench/Results’ cont´em os resultados de v´arias execu¸c˜oes em difer-entes bancos de dados e plataformas. Para executar todos testes, execute estes coman-dos:
shell> cd sql-bench shell> run-all-tests
Se vocˆe n˜ao possui o diret´orio ‘sql-bench’, vocˆe provavelmente est´a usando uma dis-tribui¸c˜ao bin´aria RPM. (Distribui¸c˜oes fontes RPMs incluem o diret´orio com os bench-marks.) Neste caso, vocˆe deve primeiramente instalar a suite de benchmark antes de poder us´a-lo. A partir da vers˜ao 3.22 do MySQL, come¸caram a existir arquivos RPMs de benchmark chamados ‘mysql-bench-VERSION-i386.rpm’ que cont´em c´odigo ie dados de benchmark.
Se vocˆe tem uma distribui¸c˜ao fonte, vocˆe tamb´em pode executar os testes no subdi-ret´orio ‘tests’. Por exemplo, para executar ‘auto_increment.tst’, fa¸ca isto:
shell> BINDIR/mysql -vvf test < ./tests/auto_increment.tst
Os resultados esperados s˜ao mostrados no arquivo ‘./tests/auto_imcrement.res’.
2.4.1 Problemas Executando o mysql_install_db
O prop´osito do script mysql_install_db´e gerar novas tabelas de privil´egios. Ele n˜ao ir´a afeter nenhum outro dado! Ele tamb´em n˜ao far´a nada se vocˆe j´a tem a tabela de privil´egio do MySQL instalada.
Se vocˆe deseja refazer suas tabelas de privil´egios, vocˆe deve desligar o servidormysqld, se ele j´a est´a executando, ent˜ao fa¸ca assim:
mv diretorio-dados-mysql/mysql diretorio-dados-mysql/mysql-old mysql_install_db
Esta se¸c˜ao relaciona alguns problemas que podem ser encontrados ao executar mysql_
install_db:
mysql_install_dbn˜ao instala as tabelas de permiss˜oes
Vocˆe pode descobrir que o mysql_install_db falha ao instalar as tabelas de permiss˜oes e termina depois de mostrar as seguintes mensagens:
starting mysqld daemon with databases from XXXXXX mysql daemon ended
Neste caso, vocˆe deve examinar o arquivo de log com muito cuidado! O log deve se encontrar no diret´orio ‘XXXXXX’ nomeado pela mensagem de erro, e deve indicar porque mysqld n˜ao inicializa. Se vocˆe n˜ao entende o que aconteceu, inclua o log quando vocˆe postar um relato de erro usando mysqlbug! Veja Se¸c˜ao 1.7.1.3 [Bug reports], P´agina 36.
J´a existe um daemon mysqldsendo executado
Neste caso, provavelmente n˜ao ser´a necess´ario executar o mysql_install_db.
Vocˆe deve executar omysql_install_dbsomente uma vez, quando vocˆe insta-lar o MySQL da primeira vez.
Instalair um segundo daemonmysqldn˜ao funciona quando um daemon estiver em execu¸c˜ao.
Isto pode acontecer quando vocˆe j´a tiver uma instala¸c˜ao do MySQL existente, mas deseja colocar uma nova instala¸c˜ao em um diferente lugar (por exemplo, para testes, ou talvez vocˆe simplesmente deseja executar duas instala¸c˜oes ao
mesmo tempo). Geralmente o problema que ocorre quando vocˆe tenta executar o segundo servidor ´e que ele tenta usar o mesmo socket e porta que o outro.
Neste caso vocˆe ir´a obter a mensagem de erro: Can’t start server: Bind on TCP/IP port: Address already in use ou Can’t start server: Bind on unix socket.... Veja Se¸c˜ao 4.2 [M´ultiplos servidores], P´agina 220.
Vocˆe n˜ao tem direito de escrita no diret´orio ‘/tmp’
Se vocˆe n˜ao tem direito de escrita para criar um arquivo socket no local padr˜ao (em ‘/tmp’) ou permiss˜ao para criar arquivos tempor´aris em ‘/tmp,’ vocˆe ir´a obter um erro quando executar mysql_install_db ou quando iniciar ou usar mysqld.
Vocˆe pode especificar socket e diret´orio tempor´ario diferentes, como segue:
shell> TMPDIR=/algum_dir_tmp/
shell> MYSQL_UNIX_PORT=/algum_dir_tmp/mysqld.sock shell> export TMPDIR MYSQL_UNIX_PORT
Veja Se¸c˜ao A.4.5 [Problems with mysql.sock], P´agina 925.
‘algum_dir_tmp’ deve ser o caminho para o mesmo diret´orio no qual vocˆe tem permiss˜ao de escrita. Veja Apˆendice E [Environment variables], P´agina 1083.
Depois disto vocˆe deve estar apto para executarmysql_install_dbe iniciar o servidor com estes comandos:
shell> scripts/mysql_install_db shell> BINDIR/mysqld_safe &
mysqldfalha imediatamente
Se vocˆe estiver executando RedHat Vers˜ao 5.0 com uma vers˜ao de glibc an-terior a 2.0.7-5 vocˆe deve ter certeza que vocˆe instalou todos os patches para a glibc! Existe muita informa¸c˜ao sobre isto nos arquivos das listas de men-sagens do MySQL. Links para os arquivos de correio est˜ao dispon´iveis online emhttp://lists.mysql.com/. Veja tamb´em Se¸c˜ao 2.6.2 [Linux], P´agina 137.
Vocˆe pode tamb´em iniciar o mysqld manualmente usando a op¸c˜ao --skip-grant-tables e adicionar a informa¸c˜ao de privil´egios usando omysql:
shell> BINDIR/mysqld_safe --skip-grant-tables &
shell> BINDIR/mysql -u root mysql
Do mysql, execute manualmente os comandos SQL em mysql_install_db.
Tenha certeza de executar mysqladmin flush_privileges ou mysqladmin reloadap´os dizer ao servidor para recarregar as tabelas de permiss˜oes.
2.4.2 Problemas Inicializando o Servidor MySQL
Se vocˆe for usar tabelas que suportem transa¸c˜oes (BDB, InnoDB), primeiro deve-se criar um arquivo my.cnf e configurar op¸c˜oes de inicializa¸c˜ao para os tipos de tabelas que vocˆe planeja usar. Veja Cap´“ptexi tulo 7 [Table types], P´agina 629.
Geralmente, vocˆe inicia o servidormysqldde uma das trˆes maneiras:
• Invocando mysql.server. Este script ´e usado primariamente na inicializa¸c˜ao e final-iza¸c˜ao do sistema, e ´e descrito de forma mais completa em Se¸c˜ao 2.4.3 [Automatic start], P´agina 118.
• Invocando mysqld_safe, que tenta determinar as op¸c˜oes apropriadas para mysqld e ent˜ao execut´a-lo com estas op¸c˜oes. Veja Se¸c˜ao 4.8.2 [mysqld_safe], P´agina 332.
• Para o Windows NT/2000/XP, veja Se¸c˜ao 2.1.1.7 [NT start], P´agina 66.
• Invocando o mysqlddiretamente.
Quando o daemon mysqld inicia, ele altera o diret´orio para o diret´orio de dados. ´E neste diret´orio que ele espera gravar arquivos de log e o arquivo pid (com o ID do processo) e onde ele espera encontrar os bancos de dados.
A localiza¸c˜ao do diret´orio de dados ´e especificada quando a distribui¸c˜ao ´e compilada. En-tretanto, se omysqldespera encontrar o diret´orio de dados em lugar diferente de onde ele realmente est´a no seu sistema, ele n˜ao funcionar´a corretamente. Se vocˆe tiver problemas com caminhos incorretos vocˆe pode encontrar quais op¸c˜oes o mysqld permite e quais s˜ao as configura¸c˜oes do caminho padr˜ao chamando o mysqldcom a op¸c˜ao--help. Vocˆe pode sobrescrever os padr˜oes especificando os caminhos corretos como argumentos de linha de comando ao mysqld. (Estas op¸c˜oes tamb´em podem ser usadas com o mysqld_safe).
Normalmente vocˆe precisaria indicar ao mysqld somente o diret´orio base sob o qual o MySQL ´e instalado. Vocˆe pode fazer isso usando a op¸c˜ao --basedir. Vocˆe pode tamb´em usar --help para conferir o efeito das ope¸c˜oes para se alterar o caminho (perceba que --helpdeve ser a op¸c˜ao final do comandomysqld. Por exemplo:
shell> EXECDIR/mysqld --basedir=/usr/local --help
Uma vez que vocˆe determina as configura¸c˜oes de caminho que vocˆe deseja, inicie o servidor sem a op¸c˜ao --help.
Qualquer que tenha sido o m´etodo utilizado para iniciar o servidor, se houver falha na inicializa¸c˜ao, confira o arquivo de log para ver se vocˆe pode entender o porquˆe.
Arquivos log est˜ao localizados no diret´orio dados (normalmente ‘/usr/local/mysql/data’
para uma distribui¸c˜ao bin´aria, ‘/usr/local/var’ para uma distribui¸c˜ao fonte,
‘\mysql\data\mysql.err’ no Windows.) Procure no diret´orio de dados por arquivos com nomes no formato ‘nome_maquina.err’ e ‘nome_maquina.log’ onde nome_maquina ´e o nome do servidor. Ent˜ao confira as ´ultimas linhas destes arquivos:
shell> tail nome_maquina.err shell> tail nome_maquina.log
Se vocˆe encontrar algo como o seguinte no arquivo log:
000729 14:50:10 bdb: Recovery function for LSN 1 27595 failed
000729 14:50:10 bdb: warning: ./test/t1.db: No such file or directory 000729 14:50:10 Can’t init databases
Significa que vocˆe n˜ao inicializou omysqldcom--bdb-no-recovere o Berkeley DB encon-trou algo errado com seus arquivos log quando ele tentou recuperar seus bancos de dados.
Para poder continuar, vocˆe deve mover o antigo arquivo log Berkeley DB do diret´orio do banco de dados para outro lugar, onde poder´a examin´a-los posteriormente. Os arquivos log s˜ao nomeados ‘log.0000000001’, onde o n´umero ir´a incrementar com o tempo.
Se vocˆe estiver executando o mysqld com suporte a tabelas BDB e o mysqld falhar no in´icio, pode ser devido a alguns problemas com o arquivo de recupera¸c˜ao BDB. Neste caso vocˆe pode tentar iniciar omysqldcom--bdb-no-recover. Se isto ajudar, ent˜ao vocˆe pode remover todos os arquivos ‘log.*’ do diret´orio de dados e tentar iniciar omysqldnovamente.
Se vocˆe obter o seguinte erro, significa que algum outro programa (ou outro servidormysqld) j´a est´a usando a porta TCP/IP ou socketmysqldest´a tentando usar:
Can’t start server: Bind on TCP/IP port: Address already in use ou
Can’t start server: Bind on unix socket...
Use ps para ter certeza que vocˆe n˜ao tem outro servidor mysqld em execu¸c˜ao. Se vocˆe n˜ao consegue encontrar outro servidor, vocˆe pode tentar executar o comando telnet sua_
maquina numero_porta_tcp-ip e apertar ENTER v´arias vezes. Se vocˆe n˜ao obter uma mensagem comotelnet: Unable to connect to remote host: Connection refused, algo est´a usando a mesma porta TCP/IP que o mysqld est´a tentando usar. Veja Se¸c˜ao 2.4.1 [mysql install db], P´agina 115 e Se¸c˜ao 4.2 [Multiple servers], P´agina 220.
Se omysqldest´a atualmente em execu¸c˜ao, vocˆe pode verificar as configura¸c˜oes que ele est´a usando executando este comando:
shell> mysqladmin variables ou
shell> mysqladmin -h ’your-host-name’ variables
Se vocˆe obter o Errcode 13, que significa Permission denied, ao iniciar o mysqld isto significa que vocˆe n˜ao pode ter o direito de leitura/cria¸c˜ao de arquivos no diret´orio do banco de dados ou log. Neste caso vocˆe tamb´em deve iniciar o mysqldcomo usu´ario root ou alterar a permiss˜ao para os arquivos e diret´orios envolvidos para uqe vocˆe tenha o direito de us´a-los.
Se omysqld_safeinicia o servidor mas vocˆe n˜ao consegue se conectar a ele, tenha certeza que vocˆe tem uma entrada no arquivo ‘/etc/hosts’ que parece com isto:
127.0.0.1 localhost
Este problema s´o ocorre em sistemas que n˜ao possuem uma biblioteca thread funcional e para o qual o MySQL deve estar configurado para usar MIT-pthreads.
Se vocˆe n˜ao consegue iniciar o mysqld vocˆe pode tentar criar um arquivo para rastrea-mento de erros (trace) para encontrar o problema. Veja Se¸c˜ao D.1.2 [Making trace files], P´agina 1071.
Se vocˆe estiver utilizando tabelas InnoDB, procure pelas op¸c˜oes especificas de inicializa¸c˜ao do InnoDB. Veja Se¸c˜ao 7.5.3 [InnoDB start], P´agina 643.
Se vocˆe estiver usando tabelas BDB (Berkeley DB), vocˆe deve se familiarizar com as difer-entes op¸c˜oes especificas de inicializa¸c˜ao do BDB. Se¸c˜ao 7.6.3 [BDB start], P´agina 696.
2.4.3 Inicializando e parando o MySQL automaticamente.
Os scriptsmysql.serveremysqld_safepodem ser usados para iniciar o servidor automati-camente na inicializa¸c˜ao do sistema. mysql.server tamb´em pode ser usado para parar o servidor.
O scriptmysql.serverpode ser usado para inicializar ou parar o servidor utilizando-o com os argumentosstartou stop:
shell> mysql.server start shell> mysql.server stop
mysql.serverpode ser encontrado no diret´orio ‘share/mysql’ sob o diret´orio de instala¸c˜ao do MySQL ou no diret´orio ‘support-files’ da ´arvore fonte do MySQL.
Note que se vocˆe usa o pacote RPM do Linux (MySQL-server-VERS~AO.rpm), o script mysql.server j´a estar´a instalada como ‘/etc/init.d/mysql’ - vocˆe n˜ao precisa instal´a-lo manualmente. Veja Se¸c˜ao 2.1.2 [Linux-RPM], P´agina 69 para mais informa¸c˜oes sobre
Note que se vocˆe usa o pacote RPM do Linux (MySQL-server-VERS~AO.rpm), o script mysql.server j´a estar´a instalada como ‘/etc/init.d/mysql’ - vocˆe n˜ao precisa instal´a-lo manualmente. Veja Se¸c˜ao 2.1.2 [Linux-RPM], P´agina 69 para mais informa¸c˜oes sobre