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
,--noconfig
o--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
--info
ora esegue l'output delle coppie tag-valore per riga in modo da migliorare la lettura dell'utente. Qualsiasi script che si affida al formato--info
precedente 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.
%license
può essere usato per contrassegnare i file nella sezione%files
di 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~beta1
viene 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:
rpmkeys
rpmdb
rpmspec
rpmsign
- 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
OrderWithRequires
e 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 comeRequires
durante 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
%autosetup
pwe assistere nel processo di automazione per l'applicazione di patch.