Как я фиксирую поврежденную libxml2-dev зависимость от Debian, использующего склонный?

Я могу попытаться ответить 1,3 и 4.

Ядро Linux использует различные шаги к коду программы перехода в электрические сигналы.

Логический Адрес: Они включены в инструкции по машинному языку обратиться к операции или инструкции. Разделенный на сегмент и смещение.

Линейный Адрес: Единица Сегментации переводит логичный в линейные адреса. Это - шестнадцатеричное число (на архитектуре на 32 бита: 0x00000000-0xffffffff) обращение к пространству в памяти.

Физический адрес: Далее, Единица Подкачки страниц преобразовывает линейный в физические адреса. Это - электрические сигналы, обращаясь к элементам памяти по контактам на микропроцессорах.

Адрес шины: Используемый всеми устройствами кроме ЦП для обращения к элементам памяти (DMA не требует ЦП, но все еще обращающийся). Эти адреса главным образом идентичны физическим, за исключением некоторой другой архитектуры, как SPARC и Alpha, которые включают отдельный Блок управления памятью ввода-вывода.

Ядро работает со всеми адресами, и каждый из них является шагом между запросом пользователя и фактической обработкой этого запроса на аппаратном уровне.


Если процесс приближается к семафору со значением 0 или ниже, он временно отстранен, пока значение не достигает 1 или больше. Это только происходит с процессами, которые могут спать. Обработчик прерываний не может спать и поэтому запрещается использовать семафоры.


Атомарные операции могут быть достигнуты при помощи инструкций по Ассемблеру, они определяются:

  • Нуль или один доступ к памяти
  • Снабженный префиксом LOCK_PREFIX

На уровне C ядро обеспечивает тип atomic_t и макросы, снабженные префиксом atomic_
(которые добавляют LOCK_PREFIX к инструкциям по сборке).

8
20.08.2012, 01:35
2 ответа

squeeze3 третий выпуск патча для сжатия, squeeze5 является пятым. Они - часть номера версии. Версии для библиотеки и файлов для разработчика должны соответствовать точно, таким образом, нормально, что APT хочет, чтобы Вы работали apt-get install -f когда Ваша система имеет несовместимые версии.

То, что не нормально, то, что обновление libxml2-dev перестал работать. Сообщение о неспособности читать /usr/include/libxml2 необычно. Это, кажется, указывает, что установка была повреждена в некотором роде. Проверьте, существует ли каталог все еще. Если Вы переместили или удалили его в какой-то момент …, не делают этого, и воссоздают или пятятся каталог для восстановления. Если каталог существует, но Вы видите что-то как

$ ls -ld /usr/include/libxml2
?????????? ??? ???????? ???????? 4096 ??? ?? ???? /usr/include/libxml2

затем Ваша файловая система повреждается, или возможно Ваша RAM. Во-первых, проверьте свою RAM: это - наиболее распространенная причина повреждения файловой системы. Запишите как можно меньше, пока Вы не уверены в RAM, поскольку можно сделать повреждение хуже. Как взять его, оттуда зависит от характера и масштабов повреждения.

5
27.01.2020, 20:12

Попытайтесь произвести чистку его и затем переустановить.

sudo apt-get purge -f libxml2-dev
sudo apt-get clean
sudo apt-get update
sudo apt-get install libxml2 libxml2-dev

A -dev пакет является только компонентами, требуемыми скомпилировать программы, связанные против той библиотеки, это не нужно в течение времени выполнения, таким образом, безопасно полностью произвести чистку.

3
27.01.2020, 20:12
  • 1
    Это не помогло в моем случае, потому что файл закончил тем, что был поврежден. Рекомендовал бы эту процедуру для других с проблемами зависимости библиотеки (+1). –  Jonathan 20.08.2012, 19:03
  • 2
    В этом случае добавил я apt-get clean который произвел бы чистку кэша пакета и перезагрузки силы с repo пакет, Вам было нужно. –  bahamat 20.08.2012, 19:55
  • 3
    Извините, я имел в виду файл /usr/include/libxml2 был поврежден. Даже rm -f /usr/include/libxml2 перестал бы работать, говоря, что что-то как он не могло найти файл. Моему webhost потребовались 17 часов для фиксации его. –  Jonathan 21.08.2012, 20:12

Теги

Похожие вопросы