관리-도구
편집 파일: system_upgrade.cpython-39.pyc
a ���g�k � @ s� d Z ddlmZmZmZmZ ddlZddlZddlZddl Z ddl Z ddlZddlm Z ddlmZmZ ddlZddlZddlmZ ddlmZ ddlZddlmZmZ ddlZed � e�d �Ze�d�Ze�d�Ze�d �Z eZ!dZ"ed�Z#ed�Z$ed�Z%dZ&d5dd�Z'dd� Z(g fdd�Z)d6dd�Z*dd� Z+G dd� de,�Z-G d d!� d!e,�Z.e.� Z/G d"d#� d#ej0j1�Z2d$d%� Z3d&d'� Z4d(d)� Z5d*d+� Z6g d,�Z7G d-d.� d.ej8�Z9G d/d0� d0ej:j;�Z<G d1d2� d2e<�Z=G d3d4� d4e<�Z>dS )7zGsystem_upgrade.py - DNF plugin to handle major-version system upgrades.� )�call�Popen�check_output�CalledProcessErrorN)�journal)�_�logger)�CliError)�ucd)�serialize_transaction�TransactionReplayzthe color of the skyZ 9348174c5cc74001a71ef26bd79d302eZ fef1cc509d5047268b83a3a553f54b43Z 3e0a5636d16b4ca4bbe5321d06c6aa62Z 8cec00a1566f4d3594f116450395f06cz/usr/bin/plymouthz<Need a --releasever greater than the current system version.z�Download complete! Use 'dnf {command} reboot' to start the upgrade. To remove cached metadata and transaction use 'dnf {command} clean'zESorry, you need to use 'download --releasever' instead of '--network'� Fc C s@ t jddd�rt�td�� n| r0tddg� ntddg� d S )NZDNF_SYSTEM_UPGRADE_NO_REBOOTF)�defaultz!Reboot turned off, not rebooting.Z systemctl�poweroff�reboot)�os�getenvr �infor r )r � r �>/usr/lib/python3.9/site-packages/dnf-plugins/system_upgrade.pyr E s r c C s� d} dD ]�}zvt |��Z}|D ]D}|�� }|�| �r|t| �d � �d� W d � W S qW d � n1 sv0 Y W q ty� Y qY q0 qd S )NzUPGRADE_GUIDE_URL=)z/etc/os-releasez/usr/lib/os-release�")�open�strip� startswith�len�IOError)�key�pathZrelease_file�liner r r �get_url_from_os_releaseO s Rr c C sx t j�| �sd S t �| �D ]X}t j�| |�}||v r6qz(t j�|�rRtj�|� n t �|� W q t yp Y q0 qd S �N) r r �isdir�listdir�join�dnf�utilZrm_rf�unlink�OSError)r �ignore�entry�fullpathr r r � clear_dir^ s r+ c C s6 t j�| j�| jkrtt��|r2|| jkr2tt��d S r )r$ �rpm�detect_releasever�installroot� releaseverr �RELEASEVER_MSG�CANT_RESET_RELEASEVER)�conf�targetr r r �check_release_vero s r4 c C sR zt dd�} | �d� W n4 tyL } zttd�| � W Y d }~n d }~0 0 d S )Nz /dev/tty0�wbs [9;0]z%Screen blanking can't be disabled: %s)r �write� Exception�printr )Ztty�er r r �disable_blankingx s r: c @ s� e Zd Zdd� Zdd� Zdd� Zdd� Zd d � Zdd� Zd d� Z e d�Z e d�Ze d�Ze d�Z e d�Ze d�Ze d�Ze d�Ze d�Ze d�Ze d�Ze d�Ze d�Ze d�ZdS )�Statec C s || _ i | _| �� d S r )� statefile�_data�_read)�selfr<