4.4.6. Aggiornamenti al RPM Package Manager (RPM)
Red Hat Enterprise Linux 7 fornisce una versione aggiornata di RPM Package Manager. Questo aggiornamento include un certo numero di modifiche al comportamento che potrebbe interessare il processo di migrazione.
- La rilevazione dei conflitti è ora più severa e corretta. Alcuni pacchetti installabili su Red Hat Enterprise Linux 6 potrebbero ora non essere più installati a causa di questa impostazione.
- È ora possibile installare i pacchetti in conflitto, permettendo così all'utente di creare un comportamento singleton tra le alternative.
- I pacchetti resi obsoleti da un pacchetto esistente e installato non vengono installati.
- Regole obsolete includono ora tutti i pacchetti corrispondenti senza più considerare altri attributi come ad esempio l'architettura.
- I calcoli per la dipendenza non considerano più i file non installati o i file sostituiti, per esempio usando le opzioni
--nodocs,--noconfigo--force, come file disponibili. - Non è più necessario eseguire manualmente il comando
rm -f /var/lib/rpm/__db.durante la compilazione di un database (DB_RUNRECOVER) RPM Package Manager nel quale si è verificato un panic. - Le chiavi pubbliche create con OpenPGP 3 non sono più supportate.
- L'opzione
--infoora esegue l'output delle coppie tag-valore per riga in modo da migliorare la lettura dell'utente. Qualsiasi script che si affida al formato--infoprecedente deve essere riscritto. - Il parser spec è ora più selettivo e corretto, per questo motivo alcuni file di spec accettati in precedenza, potrebbero non essere analizzati o fornire alcun avvertimento.
%licensepuò essere usato per contrassegnare i file nella sezione%filesdi un file delle specifiche, come licenze da installare anche quando--nodocsè stato specificato.- Il confronto delle versioni supporta ora l'operatore dpkg-style tilde (
~) per gestire meglio il software pre-release. Per esempio,foo-2.0~beta1viene considerato più vecchio difoo-2.0, e rimuove la necessità di eseguire alcune operazioni con il campo Release per la gestione di queste situazioni relative alla versione common upstream. - Il generatore delle dipendenze automatico è stato riscritto in un sistema basato sulle regole personalizzabile ed estendibile con un filtro interno.
Questo aggiornamento include anche i seguenti miglioramenti:
- Ora è possibile interrogare i file installati da un pacchetto (
INSTFILENAMES), il numero di link fissi per un file (FILENLINKS), le informazioni del sistema di controllo della versione del pacchetto (VCS), e le scorciatoie per la stringa delle dipendenze formattate (PROVIDENEVRS,REQUIRENEVRS,CONFLICTNEVRS,OBSOLETENEVRS). - Vengono forniti un certo numero di nuovi comandi incluso:
rpmkeysrpmdbrpmspecrpmsign
- RPM Package Manager introduce ora nuovi interruttori per gli scriptlets per abilitare l'espansione della macro di runtime o l'espansione queryformat di runtime.
- Le dipendenze scriptlet pre e post-transazione possono essere ora espresse in modo corretto con
Requires(pretrans)eRequires(posttrans). - RPM Package Manager include ora il tag
OrderWithRequirese permette agli utenti di fornire informazioni aggiuntive sull'ordine. Questo nuovo tag utilizza la stessa sintassi del tag Requires senza generare però alcuna dipendenza. Se indicato, i pacchetti sono presenti nella stessa transazione e i suggerimenti relativi all'ordine verranno trattati comeRequiresdurante il calcolo dell'ordine di transazione. - Le espansioni della macro e le continuazioni di riga nei file delle specifiche non hanno più una lunghezza specifica.
- RPM Package Manager permette ora agli utenti di specificare le informazioni sul repositorio per il controllo della versione upstream.
- RPM Package Manager include ora una macro
%autosetuppwe assistere nel processo di automazione per l'applicazione di patch.