Current File : //proc/self/root/lib/python3/dist-packages/sos/policies/distros/__pycache__/redhat.cpython-312.pyc
�

-�_gW\��j�ddlZddlZddlZddlZddlmZddlmZddlm	Z	m
Z
mZmZm
Z
mZmZmZmZmZddlmZmZmZddlmZddlmZddlmZdd	lmZmZm Z dd
l!m"Z#	ddl$Z$dZ%d
Z'Gd�de�Z(dZ)dZ*dZ+Gd�de(�Z,Gd�de,�Z-Gd�de,�Z.Gd�de(�Z/y#e&$rdZ%Y�IwxYw)�N)�DeviceAuthorizationClass)�RedHatPlugin)
�RHEL_PRESETS�RHV�RHEL�CB�RHOSP�RHOCP�RH_CFME�RH_SATELLITE�AAPEDA�
AAPCONTROLLER)�LinuxPolicy�ENV_HOST_SYSROOT�
OS_RELEASE)�RpmPackageManager)�FlatpakPackageManager)�MultiPackageManager)�bold�
convert_bytes�TIMEOUT_DEFAULT)�_sosTFzRed Hat Enterprise Linuxc�~��eZdZdZddgZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZ		d�fd
�	Ze�fd��Zd�Zd�Zd�Z�xZS)�RedHatPolicy�Red Hat)zDistribution Websitezhttps://www.redhat.com/)zCommercial Supportzhttps://access.redhat.com/z/var/tmpF�friendlyN�podman�sosz	/usr/sbinzVhttps://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/auth/devicezPhttps://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/tokenc����t�|�||||��d|_ttt
g|j|��|_|xjtgz
c_|jj|_|js4tjjd�tjd�|j!|j�|_|jrd|_nd|_|xj"t$j&dzz
c_|xj"t$j&d	zz
c_|j(s|j+�|j-�y)
N��sysroot�init�
probe_runtime�remote_execF)�primary�	fallbacks�chrootr$z'Could not obtain installed package list�z/usr/sbin:/usr/bin:/root/binz'/sbin:/bin:/usr/sbin:/usr/bin:/root/binz/usr/local/binz/usr/local/sbin)�super�__init__�usrmoverrrr!�package_manager�valid_subclassesr�packages�pkgs�sys�stderr�write�exit�
check_usrmove�PATH�os�pathsepr$�
set_exec_path�load_presets��selfr!r"r#r$�	__class__s     ��=/usr/lib/python3/dist-packages/sos/policies/distros/redhat.pyr*zRedHatPolicy.__init__8s���
����t�'4�%0�	�	2����2�)�0�1��|�|�'�	 )���	
���,��/���(�(�1�1��	��y�y��J�J���F�G��H�H�Q�K��)�)�$�)�)�4����<�<�6�D�I�A�D�I��	�	�R�Z�Z�"2�2�2�	��	�	�R�Z�Z�"3�3�3�	������� �����c�&��|turtt|�|�y|jd�tt
ttd�}|j�D]9\}}td|���}|jdd�|d�|jd��d�	��;y)
Nz�This policy is a building block for all other Red Hat family distributions. You are likely looking for one of the distributions listed below.
)�centos�rhel�redhatcoreos�fedoraz	policies.� z>8z<35z<30F)�newline)rr)�display_distro_help�add_text�CentOsPolicy�
RHELPolicy�RedHatCoreOSPolicy�FedoraPolicy�itemsr�os_release_name)�cls�section�subs�subc�value�sublnr<s      �r=rFz RedHatPolicy.display_distro_helpZs�����l�"��,��8��A�����
,�	
�#��.�"�	
�� �:�:�<�	�K�D�%��9�T�F�+�,�E�����r�(�5��+�e�&;�&;�C�%@�A��
�
�	r>c��d|vr@tjjd�xrtjjd�S|dd}|ddk(S)aqTest whether the running system implements UsrMove.

            If the 'filesystem' package is present, it will check that the
            version is greater than 3. If the package is not present the
            '/bin' and '/sbin' paths are checked and UsrMove is assumed
            if both are symbolic links.

            :param pkgs: a packages dictionary
        �
filesystemz/binz/sbin�versionr�3)r6�path�islink)r;r/�filesys_versions   r=r4zRedHatPolicy.check_usrmovessP���t�#��7�7�>�>�&�)�E�b�g�g�n�n�W�.E�E��|�,�Y�7���q�!�S�(�(r>c�h�g}d�}|jr |D]}|j||���|S|S)a2Mangle paths for post-UsrMove systems.

            If the system implements UsrMove, all files will be in
            '/usr/[s]bin'. This method substitutes all the /[s]bin
            references in the 'files' list with '/usr/[s]bin'.

            :param files: the list of package managed files
        c��ddg}||vr%|tjjd|dd�fStjdd|�fS)Nz/bin/rpmz
/bin/mailxz/usrr(z(^)(/s?bin)z\1/usr\2)r6rX�join�re�sub)rX�
skip_pathss  r=�transform_pathz8RedHatPolicy.mangle_package_path.<locals>.transform_path�sL��%�l�3�J��z�!��b�g�g�l�l�6�4���8�<�=�=��F�F�>�;��=�?�?r>)r+�extend)r;�files�pathsra�fs     r=�mangle_package_pathz RedHatPolicy.mangle_package_path�sB����	@��<�<��
0�����^�A�.�/�
0��L��r>c�"�|s|jS|S�N)�_tmp_dir)r;�opt_tmp_dirs  r=�get_tmp_dirzRedHatPolicy.get_tmp_dir�s����=�=� ��r>�NNTN)�__name__�
__module__�__qualname__�vendor�vendor_urlsri�
_in_container�name_pattern�
upload_url�upload_user�default_container_runtime�sos_pkg_name�sos_bin_path�client_identifier_url�token_endpointr*�classmethodrFr4rfrk�
__classcell__�r<s@r=rr%s����
�F�;�<��K��H��M��L��J��K� (���L��L�E��8�N�?C�!� �D����0
)��2r>ra[
Any information provided to %(vendor)s will be treated in accordance with the published support policies at:

  %(vendor_urls)s

The generated archive may contain data considered sensitive and its content should be reviewed by the originating organization before being passed to any third party.

No changes will be made to system configuration.
zhttps://api.access.redhat.comzsftp://sftp.access.redhat.comc���eZdZdZdZdZeZdZe	de
zdz�ZeZ
dZdZd	Z		d�fd
�	Zd�Zd�Zd
�Zd�Zdd�Zd�Zd�Zd�Zd�fd�	Zd�Z�fd�Zd�Zd�Z�xZS)rIat
    The RHEL policy is used specifically for Red Hat Enterprise Linux, of
    any release, and not forks or derivative distributions. For example, this
    policy will be loaded for any RHEL 8 installation, but will not be loaded
    for CentOS Stream 8 or Red Hat CoreOS, for which there are separate
    policies.

    Plugins activated by installed packages will only be activated if those
    packages are installed via RPM (dnf/yum inclusive). Packages installed by
    other means are not considered by this policy.

    By default, --upload will be directed to using the SFTP location provided
    by Red Hat for technical support cases. Users who provide login credentials
    for their Red Hat Customer Portal account will have their archives uploaded
    to a user-specific directory.

    If users provide those credentials as well as a case number, --upload will
    instead attempt to directly upload archives to the referenced case, thus
    streamlining the process of providing data to technical support engineers.

    If either or both of the credentials or case number are omitted or are
    incorrect, then a temporary anonymous user will be used for upload to the
    SFTP server, and users will need to provide that information to their
    technical support engineer. This information will be printed at the end of
    the upload process for any sos report execution.
    rz/etc/redhat-releaserAaThis command will collect diagnostic and configuration information from this %(os_release_name)s system and installed applications.

An archive containing the collected information will be generated in %(tmpdir)s and may be provided to a %(vendor)s support representative.
�%(vendor_text)s
�postNi@c�V��t�|�||||��|jt�y�Nr )r)r*�register_presetsrr:s     �r=r*zRHELPolicy.__init__�s/���
����t�'4�%0�	�	2�	
���l�+r>c���|jdjr$|jjt	d��|j
s't|_|jjd�yy)N�cmdlineoptszVThe option --upload-user has been deprecated in favour of device authorization in RHEL�&No case id provided, uploading to SFTP)�commonsru�ui_log�info�_�case_id�RH_SFTP_HOSTrt�r;s r=�prompt_for_upload_userz!RHELPolicy.prompt_for_upload_user�s[���<�<�
�&�2�2��K�K����5�6�
��|�|�*�D�O��K�K���E�F�r>c��|jdjr%|jjt	d��yy)Nr�zVThe option --upload-pass has been deprecated in favour of device authorization in RHEL)r��upload_passr�r�r�r�s r=�prompt_for_upload_passwordz%RHELPolicy.prompt_for_upload_password�s8���<�<�
�&�2�2��K�K����5�6�
�3r>c�~�|jr|jS|jdjr|jdjS|jdjdk(rtS|jdjs!|j
j
d�tSd}t||jzzS)Nr��sftpr�z /support/v1/cases/%s/attachments)rtr��upload_protocolr�r�r�r��RH_API_HOST)r;�rh_case_apis  r=�get_upload_urlzRHELPolicy.get_upload_url�s����?�?��?�?�"��<�<�
�&�1�1��<�<�
�.�9�9�9��<�<�
�&�6�6�&�@����|�|�M�*�2�2��K�K���E�F���8���[�4�<�<�7�7�7r>c�(�d|j��}d|iS)NzBearer �
Authorization)�
_device_token)r;�str_auths  r=�_get_upload_https_authz!RHELPolicy._get_upload_https_auths ���T�/�/�0�1����*�*r>c��d|jjd�d||j�fi}t|j|j
�}|j
�|_|jjd|j����tj|j�||j�|t��S)z�If upload_https() needs to use requests.post(), use this method.

        Policies should override this method instead of the base upload_https()

        :param archive:     The open archive file object
        �file�/����/Device authorized correctly. Uploading file to )rc�headers�verify�timeout)�name�split�_get_upload_headersrryrz�get_access_tokenr�r�r��get_upload_url_string�requestsr�r�r�r)r;�archiver�rc�RHELAuths     r=�_upload_https_postzRHELPolicy._upload_https_posts���
�W�\�\�'�'��,�R�0�'��-�-�/�1�
��,��*�*��#�#���&�6�6�8��������J� �6�6�8�9�;�	<��}�}�T�0�0�2�%�%)�%@�%@�%B�$*�O�E�	Er>c�V�|j�jt�rddd�SiS)N�falsezno-cache)�	isPrivatez
cache-control)r��
startswithr�r�s r=r�zRHELPolicy._get_upload_headers$s)����� �+�+�K�8�!(�:�F�F��	r>c���|j�jt�ry|j�jt�ry|j	|j
�S)NzRed Hat Customer PortalzRed Hat Secure FTP)r�r�r�r��_get_obfuscated_upload_urlrtr�s r=r�z RHELPolicy.get_upload_url_string)sK����� �+�+�K�8�,���� �+�+�L�9�'��.�.�t���?�?r>c���|jjd�d}|jr|j�d|��}|jr*tj
j
|j|�}|S)z�The RH SFTP server will only automatically connect file uploads to
        cases if the filename _starts_ with the case number
        r�r�r�)�upload_archive_namer�r��upload_directoryr6rXr])r;�fnames  r=�_get_sftp_upload_namez RHELPolicy._get_sftp_upload_name0sb���(�(�.�.�s�3�B�7���<�<��|�|�n�A�e�W�-�E�� � ��G�G�L�L��!6�!6��>�E��r>c���tjd�d|j�vrt�
|��St
st
d��d}d}|js6	t|j|j�}|j�|_|jr,|jjd|j����t dz}d}|jr�|j#�}	t%j&||	d	�
�}|j(dk(rFt+j,|j.�d}t+j,|j.�d
}�n|jj1d|j(�d|j+����|jj3d�n�ddi}
t%j&|t+j4|
�d	��}|j(dk(rRt+j,|j.�}|d}|d
}|jjt7d|�d���n9|jj1d|j(�d|j+����|r|rt�
|�||��St
d��#t$r3}dt|�vr|jjd�Yd}~��Ad}~wwxYw)z�Override the base upload_sftp to allow for setting an on-demand
        generated anonymous login for the RH SFTP server if a username and
        password are not given
        z//r(zPpython3-requests is not installed and is required for obtaining SFTP auth token.Nzend user deniedz:Device token authorization has been cancelled by the user.r�z/support/v2/sftp/token�
)r�r����username�tokenz$DEBUG: auth attempt failed (status: z): zUUnable to retrieve Red Hat auth token using provided credentials. Will try anonymous.�isAnonymousT)�datar�zUser z^ used for anonymous upload. Please inform your support engineer so they may retrieve the data.z)DEBUG: anonymous request failed (status: )�user�passwordz1Could not retrieve valid or anonymous credentials)r�r�r�r)�upload_sftp�REQUESTS_LOADED�	Exceptionr�rryrzr��strr�r�r�r�r�r�r��status_code�json�loads�text�debug�error�dumpsr�)r;r�r��_token�_userr��e�url�retr��adata�anon�respr<s             �r=r�zRHELPolicy.upload_sftp<s����
���d�#�A�&�d�.A�.A�.C�C��7�&�(�(���>�?�
?�����
�!�!�
A�3��.�.��'�'���&.�%>�%>�%@��"�����K�K���!�!%�!;�!;�!=� >�@�
A��4�4��������1�1�3�G��-�-��W�b�A�C����#�%��
�
�3�8�8�,�Z�8�����C�H�H�-�g�6�����!�!�:�3�?�?�:K�3��x�x�z�l�$�����!�!�7��
#�D�)�E��=�=��4�:�:�e�+<�b�I�D����3�&��z�z�$�)�)�,���Z�(���g������ � ���e�W�%M�N�O��
���!�!�?��'�'�(��D�I�I�K�=�:���V��7�&�E�F�&�C�C��K�L�L��e�
�%��A��.��K�K�$�$�:����	
�s� J�	K�"(K�Kc���tjj|�}||jk\rG|jjt
dt|j��d���t|_	yy)NzLSize of archive is bigger than Red Hat Customer Portal limit for uploads of z  via sos http upload. 
)
r6rX�getsize�_max_size_requestr��warningr�rr�rt)r;r��sizes   r=�check_file_too_bigzRHELPolicy.check_file_too_big�sl���w�w���w�'��
�4�)�)�)��K�K����*�"�4�#9�#9�:�;�<-�-�.�
�+�D�O�*r>c	���	|j�jt�r|j|�t�|�|�}|S#t$ru}d}|jjt�s�|jjtd|�dt����t|_t�|�|�}Yd}~|Sd}~wwxYw)zOverride the base upload_archive to provide for automatic failover
        from RHCP failures to the public RH dropbox
        Fz0Upload to Red Hat Customer Portal failed due to z	. Trying N)r�r�r�r�r)�upload_archiver�rtr�r�r�r�)r;r��uploadedr�r<s    �r=r�zRHELPolicy.upload_archive�s����
	7��"�"�$�/�/��<��'�'��0��w�-�g�6�H�����		7��H��?�?�-�-�k�:���K�K����D��C�y���0�1�
�+�D�O��w�-�g�6�H����		7�s�AA�	C�A*C�Cc��	|jjd�}|j|dd}t|d�S#t$rYywxYw)Nzredhat-release*rrVF)r,�all_pkgs_by_name_regexr/�intr�)r;�rr�pkgnames   r=�dist_versionzRHELPolicy.dist_version�sZ��	��%�%�<�<�=N�O�B��i�i��1��&�y�1�G��w�q�z�?�"���	���	�s�=A�	A�Ac��dD]8}|jj|�d�d�s�#|jt�cS|j	d��|jt
�S|j	d��|jt�S|j	d��|jt�S|j	d��|j	d��|jt�S|j	d	��|jt�Sd
D]*}|j	|���|jt�cS|jt�S)N)�rescue�	emergencyz.targetFzsatellite-commonz
rhosp-release�cfmezovirt-engine�vdsmzautomation-controller-server)zautomation-eda-controllerz automation-eda-controller-server)�init_system�
is_running�find_presetr�pkg_by_namerr	rrrr
r)r;�target�pkgs   r=�probe_presetzRHELPolicy.probe_preset�sD��-�	,�F����*�*�f�X�W�+=�u�E��'�'��+�+�	,����.�/�;��#�#�L�1�1����O�,�8��#�#�E�*�*����F�#�/��#�#�G�,�,����N�+�7�� � ��(�4��#�#�C�(�(����:�;�G��#�#�M�2�2�8�	0�C�����$�0��'�'��/�/�	0�����%�%r>rl)T)NN) rmrnro�__doc__rp�os_release_file�RHEL_RELEASE_STRrM�
os_release_idr��disclaimer_text�msgr��_upload_url�_upload_methodr�r�r*r�r�r�r�r�r�r�r�r�r�r�r�r�r|r}s@r=rIrI�s�����4�F�+�O�&�O��M�
�
��
�,�
,�-�C��K��N��M�"��>B�!�,�	G��8�+�E�2�
@�	�IM�V
+��(
�&r>rIc�"�eZdZdZdgZdZdZdZy)rH�CentOS)�Community Websitezhttps://www.centos.org/z/etc/centos-releasezCentOS Linuxr@N)rmrnrorprqr�rMr��r>r=rHrH�s��
�F�C�D�K�+�O�$�O��Mr>rHc���eZdZdZdZedezdz�ZdZdZ	dZ
dZd	Zd
Z
		d�fd�	Zedd��Zd
�Zdd�Zd�Z�xZS)rJaB
    Red Hat CoreOS is a containerized host built upon Red Hat Enterprise Linux
    and as such this policy is built on top of the RHEL policy. For users, this
    should be entirely transparent as any behavior exhibited or influenced on
    RHEL systems by that policy will be seen on RHCOS systems as well.

    The one change is that this policy ensures that sos collect will deploy a
    container on RHCOS systems in order to facilitate sos report collection,
    as RHCOS discourages non-default package installation via rpm-ostree which
    is used to maintain atomicity for RHCOS nodes. The default container image
    used by this policy is the support-tools image maintained by Red Hat on
    registry.redhat.io.

    Note that this policy is only loaded when sos is directly run on an RHCOS
    node - if sos collect uses the `oc` transport (the default transport that
    will be attempted by the ocp cluster profile), then the policy loaded
    inside the launched pod will be RHEL. Again, this is expected and will not
    impact how sos report collections are performed.
    zRed Hat Enterprise Linux CoreOSz�This command will collect diagnostic and configuration information from this %(os_release_name)s system.

An archive containing the collected information will be generated in %(tmpdir)s and may be provided to a %(vendor)s support representative.
rTrz&registry.redhat.io/rhel8/support-toolsz/hostz
rpm -q sosz/var/lib/kubelet/config.jsonc�,��t�|�||||��yr��r)r*r:s     �r=r*zRedHatCoreOSPolicy.__init__�����
����t�'4�%0�	�	2r>c�V�|rd|vSd}ttjvr|Stjttz}	t	|dd��5}|j�j
�D]}||j|vz}�	ddd�|S#1swY|SxYw#t$rY|SwxYw)N�CoreOSF�rzutf-8)�encoding)	rr6�environr�open�read�
splitlinesrM�IOError)rN�remote�coreos�host_release�hfile�lines      r=�checkzRedHatCoreOSPolicy.checks�����v�%�%����2�:�:�-��M��z�z�"2�3�j�@��	��l�C�'�:�
:�e�!�J�J�L�3�3�5�:�D��c�1�1�T�9�9�F�:�
:��
�

:��
���	���
�	�s0�B�5B�B�B�B�B�	B(�'B(c�,�|jt�Srh)r�r
r�s r=r�zRedHatCoreOSPolicy.probe_presets������&�&r>c
��|xs|j}|rdnd}|j�d|j�d|j�d|�d|�d|xsd�d|��
S)Nz
--pull=always�z run -di --name zE --privileged --ipc=host --net=host --pid=host -e HOST=/host -e NAME=z
 -e IMAGE=rDzr -v /run:/run -v /var/log:/var/log -v /etc/machine-id:/etc/machine-id -v /etc/localtime:/etc/localtime -v /:/host )�container_image�container_runtime�sos_container_name)r;�image�auth�
force_pull�_image�_pulls      r=�create_sos_containerz'RedHatCoreOSPolicy.create_sos_containersy���.�$�.�.��#-��2���%�%�&�'��-�-�.�/��.�.�/�0��H�A�e�W�%�
�z�r�l�!�F�8�	
%�	
r>c� �d|j��S)Nzpodman rm --force )rr�s r=�set_cleanup_cmdz"RedHatCoreOSPolicy.set_cleanup_cmd,s��#�D�$;�$;�#<�=�=r>rl)r)NNF)rmrnror�rMr�r�r��
containerizedrr�sos_path_strip�container_version_command�container_authfiler*r{rr�rrr|r}s@r=rJrJ�s�����(8�O�
�
��
�,�
,�-�C��M� ��>�O��N� ,��7��>B�!�2�����$'�

� >r>rJc�F��eZdZdZdZddgZdZdZdZ		d
�fd�	Z	d	�Z
�xZS)rKaj
    The policy for Fedora based systems, regardless of spin/edition. This
    policy is based on the parent Red Hat policy, and thus will only check for
    RPM packages when considering packaged-based plugin enablement. Packages
    installed by other sources are not considered.

    There is no default --upload location for this policy. If users need to
    upload an sos report archive from a Fedora system, they will need to
    provide the location via --upload-url, and optionally login credentials
    for that location via --upload-user and --upload-pass (or the appropriate
    environment variables).
    zthe Fedora Project)r�zhttps://fedoraproject.org/)zCommunity Forumsz%https://discussion.fedoraproject.org/z/etc/fedora-releasezFedora LinuxrCc�,��t�|�||||��yr�r�r:s     �r=r*zFedoraPolicy.__init__Fr�r>c��|jd�xs|jjd�d}t|d�S)Nzfedora-releasezfedora-release-.*r�rV)r�r,r�r�)r;r�s  r=�fedora_versionzFedoraPolicy.fedora_versionLsK�����/�0�)�� � �7�7�#�
%�%'�
)�	��3�y�>�"�"r>rl)rmrnror�rprqr�rMr�r*r$r|r}s@r=rKrK0s=����"�F�;�E��K�,�O�$�O��M�>B�!�2�#r>rK)0r�r6r0r^�sos.policies.authr�sos.report.pluginsr�sos.presets.redhatrrrrr	r
rrr
r�sos.policies.distrosrrr�!sos.policies.package_managers.rpmr�%sos.policies.package_managers.flatpakr�sos.policies.package_managersr�
sos.utilitiesrrrrrr�r�r��ImportErrorr�rr�r�r�rIrHrJrKr�r>r=�<module>r.s����	�
�	�6�+�/�/�/�K�J�?�G�=�>�>�����O�.��y�;�y�z
��.��.��[&��[&�|�:��U>��U>�p #�<� #��c���O��s�"B(�(B2�1B2
¿Qué es la limpieza dental de perros? - Clínica veterinaria


Es la eliminación del sarro y la placa adherida a la superficie de los dientes mediante un equipo de ultrasonidos que garantiza la integridad de las piezas dentales a la vez que elimina en profundidad cualquier resto de suciedad.

A continuación se procede al pulido de los dientes mediante una fresa especial que elimina la placa bacteriana y devuelve a los dientes el aspecto sano que deben tener.

Una vez terminado todo el proceso, se mantiene al perro en observación hasta que se despierta de la anestesia, bajo la atenta supervisión de un veterinario.

¿Cada cuánto tiempo tengo que hacerle una limpieza dental a mi perro?

A partir de cierta edad, los perros pueden necesitar una limpieza dental anual o bianual. Depende de cada caso. En líneas generales, puede decirse que los perros de razas pequeñas suelen acumular más sarro y suelen necesitar una atención mayor en cuanto a higiene dental.


Riesgos de una mala higiene


Los riesgos más evidentes de una mala higiene dental en los perros son los siguientes:

  • Cuando la acumulación de sarro no se trata, se puede producir una inflamación y retracción de las encías que puede descalzar el diente y provocar caídas.
  • Mal aliento (halitosis).
  • Sarro perros
  • Puede ir a más
  • Las bacterias de la placa pueden trasladarse a través del torrente circulatorio a órganos vitales como el corazón ocasionando problemas de endocarditis en las válvulas. Las bacterias pueden incluso acantonarse en huesos (La osteomielitis es la infección ósea, tanto cortical como medular) provocando mucho dolor y una artritis séptica).

¿Cómo se forma el sarro?

El sarro es la calcificación de la placa dental. Los restos de alimentos, junto con las bacterias presentes en la boca, van a formar la placa bacteriana o placa dental. Si la placa no se retira, al mezclarse con la saliva y los minerales presentes en ella, reaccionará formando una costra. La placa se calcifica y se forma el sarro.

El sarro, cuando se forma, es de color blanquecino pero a medida que pasa el tiempo se va poniendo amarillo y luego marrón.

Síntomas de una pobre higiene dental
La señal más obvia de una mala salud dental canina es el mal aliento.

Sin embargo, a veces no es tan fácil de detectar
Y hay perros que no se dejan abrir la boca por su dueño. Por ejemplo…

Recientemente nos trajeron a la clínica a un perro que parpadeaba de un ojo y decía su dueño que le picaba un lado de la cara. Tenía molestias y dificultad para comer, lo que había llevado a sus dueños a comprarle comida blanda (que suele ser un poco más cara y llevar más contenido en grasa) durante medio año. Después de una exploración oftalmológica, nos dimos cuenta de que el ojo tenía una úlcera en la córnea probablemente de rascarse . Además, el canto lateral del ojo estaba inflamado. Tenía lo que en humanos llamamos flemón pero como era un perro de pelo largo, no se le notaba a simple vista. Al abrirle la boca nos llamó la atención el ver una muela llena de sarro. Le realizamos una radiografía y encontramos una fístula que llegaba hasta la parte inferior del ojo.

Le tuvimos que extraer la muela. Tras esto, el ojo se curó completamente con unos colirios y una lentilla protectora de úlcera. Afortunadamente, la úlcera no profundizó y no perforó el ojo. Ahora el perro come perfectamente a pesar de haber perdido una muela.

¿Cómo mantener la higiene dental de tu perro?
Hay varias maneras de prevenir problemas derivados de la salud dental de tu perro.

Limpiezas de dientes en casa
Es recomendable limpiar los dientes de tu perro semanal o diariamente si se puede. Existe una gran variedad de productos que se pueden utilizar:

Pastas de dientes.
Cepillos de dientes o dedales para el dedo índice, que hacen más fácil la limpieza.
Colutorios para echar en agua de bebida o directamente sobre el diente en líquido o en spray.

En la Clínica Tus Veterinarios enseñamos a nuestros clientes a tomar el hábito de limpiar los dientes de sus perros desde que son cachorros. Esto responde a nuestro compromiso con la prevención de enfermedades caninas.

Hoy en día tenemos muchos clientes que limpian los dientes todos los días a su mascota, y como resultado, se ahorran el dinero de hacer limpiezas dentales profesionales y consiguen una mejor salud de su perro.


Limpiezas dentales profesionales de perros y gatos

Recomendamos hacer una limpieza dental especializada anualmente. La realizamos con un aparato de ultrasonidos que utiliza agua para quitar el sarro. Después, procedemos a pulir los dientes con un cepillo de alta velocidad y una pasta especial. Hacemos esto para proteger el esmalte.

La frecuencia de limpiezas dentales necesaria varía mucho entre razas. En general, las razas grandes tienen buena calidad de esmalte, por lo que no necesitan hacerlo tan a menudo e incluso pueden pasarse la vida sin requerir una limpieza. Sin embargo, razas pequeñas como el Yorkshire o el Maltés, deben hacérselas todos los años desde cachorros si se quiere conservar sus piezas dentales.

Otro factor fundamental es la calidad del pienso. Algunas marcas han diseñado croquetas que limpian la superficie del diente y de la muela al masticarse.

Ultrasonido para perros

¿Se necesita anestesia para las limpiezas dentales de perros y gatos?

La limpieza dental en perros no es una técnica que pueda practicarse sin anestesia general , aunque hay veces que los propietarios no quieren anestesiar y si tiene poco sarro y el perro es muy bueno se puede intentar…… , pero no se va a poder pulir ni acceder a todas la zona de la boca …. Además los limpiadores dentales van a irrigar agua y hay riesgo de aspiración a vías respiratorias si no se realiza una anestesia correcta con intubación traqueal . En resumen , sin anestesia no se va hacer una correcta limpieza dental.

Tampoco sirve la sedación ya que necesitamos que el animal esté totalmente quieto, y el veterinario tenga un acceso completo a todas sus piezas dentales y encías.

Alimentos para la limpieza dental

Hay que tener cierto cuidado a la hora de comprar determinados alimentos porque no todos son saludables. Algunos tienen demasiado contenido graso, que en exceso puede causar problemas cardiovasculares y obesidad.

Los mejores alimentos para los dientes son aquellos que están elaborados por empresas farmacéuticas y llevan componentes químicos con tratamientos específicos para el diente del perro. Esto implica no solo limpieza a través de la acción mecánica de morder sino también un tratamiento antibacteriano para prevenir el sarro.

Conclusión

Si eres como la mayoría de dueños, por falta de tiempo , es probable que no estés prestando la suficiente atención a la limpieza dental de tu perro. Por eso te animamos a que comiences a limpiar los dientes de tu perro y consideres atender a su higiene bucal con frecuencia.

Estas simples medidas pueden conllevar a que tu perro tenga una vida más larga y mucho más saludable.

Si te resulta imposible introducir un cepillo de dientes a tu perro en la boca, pásate con él por clínica Tus Veterinarios y te explicamos cómo hacerlo.

Necesitas hacer una limpieza dental profesional a tu mascota?
Llámanos al 622575274 o contacta con nosotros

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

¡Hola!