Архив рубрики: Публикации

Как исправить сломанные пакеты на Ubuntu 16.04 и Debian 9

Ubuntu и Debian используют пакеты для добавления к возможностям системы, что позволяет пользователям делать больше с их машинами. Однако, как и в случае с этой системой пакетов, все еще может сломаться. Будь то плохая установка, плохая конфигурация или если что-то внешне изменило файлы после установки, пакеты могут иногда ошибаться и больше не работать, делая их «сломанными». Это также может повлиять на apt-get, встроенный менеджер пакетов, который может привести к тому, что вы не сможете установить какие-либо дополнительные пакеты, обновить их или вообще полностью удалить.

В этой статье мы рассмотрим несколько способов исправления ваших сломанных пакетов как на Ubuntu 16.04, так и на Debian 9. Поскольку эта проблема может возникнуть по нескольким причинам, существует несколько решений, некоторые из которых могут работать или не работать на вашем компьютере, Поэтому лучше всего увидеть, какой пакет сломался и почему, что поможет вам решить, какой метод следует выполнять в первую очередь.

 

Способ 1: Использование apt-get

Чаще всего, сломанный пакет, который сломался после его установки, можно относительно легко исправить, благодаря встроенному инструменту внутри apt-get. Выполняя следующие команды, вы попытаетесь исправить любые поврежденные пакеты, установленные в вашей системе:

sudo apt-get update --fix-missing

sudo apt-get install -f

 

(опция -f не подходит для исправления ошибок).

Попробуйте и убедитесь, что первая команда исправляет вашу проблему перед выполнением второй команды. Дайте ему несколько минут, чтобы исправить ошибки, которые могут быть найдены. Если он работает, попробуйте использовать пакет, который был сломан — скорее всего, он будет исправлен. Если он все еще не исправлен, перейдите к следующему решению ниже.

 

Способ 2. Использование dpkg и apt-get

Это решение поможет, если пакет программного обеспечения сломался во время установки. Вы можете попробовать использовать предыдущий метод, прежде чем продолжить, поскольку это может помочь. Во-первых, мы очищаем apt-get и пытаемся использовать dpkg для настройки любых пакетов, которые в нем нуждаются:

sudo dpkg --configure -a



sudo apt-get clean



sudo apt-get update

 

После этого проверьте, исправлен ли пакет. Если этого не произошло, вам может потребоваться удалить файлы блокировки. Файлы блокировки используются для хранения ресурсов для определенных программ — это помогает предотвратить доступ к другим программам одновременно. Это можно сделать, просто удалив список блокировки:

sudo rm /var/lib/apt/lists/lock

 

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

Способ 3: Использование dpkg для принудительного удаления

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

Сначала вы можете попробовать удалить проблемный пакет с помощью apt-get, введя следующую команду:

sudo apt-get remove

 

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

В зависимости от ошибок, возникающих при попытке удалить пакет в обычном режиме, вы можете определить разбитый пакет, используя dpkg и grep:

dpkg -l | grep ^ .. r

 

Эта команда перечисляет все пакеты, затем grep перечисляет любые результаты, содержащие флаг «r» в третьем поле, что означает «требуется восстановить» (требуется переустановка). Если появится сломанный пакет, вы сможете его удалить.

Выполните следующую команду, чтобы принудительно удалить пакет с вашего устройства. Не забудьте ввести свой пароль, чтобы разрешить удаление. Замените имя сломанной упаковки.

sudo dpkg --remove --force-remove-reinstreq

 

Как только это будет сделано, очистите и обновите apt-get:

sudo apt-get clean



sudo apt-get update

 

После этого попробуйте установить пакет с нуля. Он должен нормально устанавливаться.

 

Другие решения

Эти методы — лучшие способы исправить или удалить сломанный пакет из вашей системы, но иногда этого будет недостаточно. В редких случаях система вообще не увидит сломанный пакет, но все равно будет препятствовать нормальной работе вашего apt-get. В этих случаях, как правило, наилучшим решением является ручной сбор и удаление файлов. Тем не менее, процесс удаления этих файлов варьируется от пакета к пакету и может быть опасным. Поэтому сначала попробуйте эти решения, прежде чем пытаться удалить файлы из вашей системы.

 



2018-06-04T16:20:37
Настройка Debian

Как использовать облачную IP-камеру TP-Link NC250 дома и на производстве

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

Читать

Загрузка файлов с помощью Python

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

SSH – сетевой протокол нового поколения



























5/5 — (1 голос)

SSH  – это сетевой протокол, позволяющий производить удаленное администрирование компьютеров. Его несомненными плюсами являются надежность и удобство в использовании: он не требует установки дополнительных инструментов и полностью шифрует весь трафик. На операционных системах семейства Linux SSH особенно популярен, так как с его помощью можно легко выполнить настройку серверов.

История SSH

История протокола начинается с 1995 года, когда была опубликована его первая версия, разработанная исследователем Тату Улененом. От своих конкурентов – rlogin, telnet и rsh – он отличался конфиденциальностью и безопасностью, так как полностью шифровал и передаваемые данные, и ключи доступа к удаленным устройствам. К 200 году SSH приобрел уже около 2 000 000 пользователей, что для того времени было неплохим результатом. Но настоящее признание протокол приобрел в 2006 году, мосле его признания группой IETF в качестве рабочего стандарта.

Для аутентификации в основном используются цифровые подписи, но допускается также и ключи доступа, или, проще говоря, пароли.

Доступ к удаленному компьютеру

Подключение через SSH

Итак, перейдем к подключению. Протокол предоставляет возможность выполнять любые действия от имени того удаленного пользователя, к которому происходит подключение (при условии, что эти действия ему разрешены). Именно поэтому SSH иногда используют для скрытия IP-адреса – при подключении любые запросы проходят через удаленный компьютер.

Вид команды предельно прост: достаточно ввести текст данного вида:

# ssh user@example.com

Или:

# ssh user@example.com -p port

Где ssh  – константа, а user и example.com – имя пользователя и домен/IP-адрес удаленного компьютера. Так как существуют очень мощные компьютеры, называемые серверами, и к ним подключается множество пользователей, то были созданы порты – т. е. трафик на удаленном компьютере делится на несколько частей.

Давайте попробуем подключиться к удаленному компьютеру с именем пользователя master_cdqtfzefxq и хостом 206.189.30.191. Введем команду:

# ssh master_cdqtfzefxq@206.189.30.191

Ввод команды

При подключении к незнакомым хостам у нас спрашивают, готовы ли мы подключиться к удаленному компьютеру. Отвечаем “yes”:

Добавление в список доверенных хостов

Теперь в зависимости от уровня защиты пользователя необходимо ввести пароль:

Ввод пароля

Как вы видите, у нас работает самый обычный терминал, правда, от имени другого пользователя:

Вход в консоль удаленного пользователя

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

Работа на удаленном компьютере

Для демонстрации возможностей запустим в программе nano (консольный редактор текстовых файлов) текстовый документ с именем ssh_demonstration.txt:

Открытие nano

Вот терминал в процессе редактирования файла:

Редактирование файла

Теперь попробуем открыть файл в less (просмотрщик текстовых файлов):

Открытие файла в less

Теперь надо попробовать установить программу. Не во всех ssh-аккаунтах есть root-доступ, необходимый для выполнения данного действия, поэтому стоит заранее об этом позаботиться.

Итак, введем команду установки текстового браузера links2:

# sudo apt-get install links2

Теперь откроем браузер командой:

# links2

Чтобы открыть URL-адрес, надо нажать G и ввести его:

Ввод ареса

И вот вожделенный Google (правда, не совсем такой, как все привыкли):

Google :D

Вот и все! Остается лишь добавить, что для выхода из терминала удаленного пользователя нужно ввести команду:

# exit

Копирование файлов с сервера на клиент и обратно

Часто пользователи встречаются с проблемой копирования файдов между удаленным устройством и своим компьютером, но не стоит паниковать! Необходимо всего лишь воспользоваться предустановленной утилитой scp и знать данные сервера. Вот как делается копирование файла с сервера на клиент:

# scp path/myfile user@host:/full/path/to/new/location/

И наоборот:

# sc user@host:/full/path/to/new/location/mylife path/

Как можно легко догадаться, в первом примере вначале идет команда scp, потом путь к файлу на вашем компьютере и папка назначения на сервере. Во втором же примере после команды идет путь к файлу на сервере и папка назначения на компьютере. Стоит заметить, что пароль пользователя никто не отменял, и воспользоваться переносом файла без него будет сложно.

Попробуем перенести на компьютер заранее созданный файл ssh_demonstration.txt. Для этого введем команду (от имени локального пользователя, конечно же):

# scp  master_cdqtfzefxq@206.189.30.191:ssh_demonstration.txt '/home/daniil/Рабочий стол'

Передача файла по scp

На скриншоте можно увидеть, что файл успешно появился на рабочем столе.

Аутентификация без пароля

Наверное, тем, кто часто заходит на удаленные сервера с помощью ssh, не очень-то удобно каждый раз вводить свой пароль. Поэтому предусмотрена возможность аутентификации с помощью открытого ключа доступа.

Для начала необходимо этот самый ключ создать. Делается это с помощью команды:

# ssh-keygen

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

Ввод нахождения ключа

Теперь можно ввести пароль для ключа (а можно и не вводить):

Ввод пароля

И вот ключ создан:

Окончание генерации

Теперь ключ надо скопировать на сервер командой:

# ssh-copy-id user@server

К примеру, в моем случае:

Копирование ключа на сервер

Вот и все! Можете входить на сервер без пароля!

Работа с файлами через FileZilla

FileZilla – программа, позволяющая обмениваться файлами через ssh с использованием графического интерфейса. Установить ее можно командой:

# sudo apt-get install filezilla

Надо заметить, что установка на удаленный сервер не требуется.  Просто запустим программу через меню или командой:

# filezilla

Интерфейс программы предельно прост:

FileZilla

Перейдем на вкладку “Файл”->”Менеджер сайтов”. Здесь нажмем “Новый сайт”, введем хост и порт, а также выберем протокол SFTP. Логин и пароль можно не вводить только на некоторых серверах, в противном случае выберите тип входа “Нормальный” и введите ваши данные.

Создание подключения

Теперь подтвердим, что доверяем серверу:

Подтверждение

Видим, что подключение прошло успешно:

Подключенный сайт

В левой колонке отображаются локальные файлы и папки, а в правой – удаленные.  Их можно перенести и скопировать без использования терминала. К примеру, перенесем уже давно созданный ssh_demonstration.txt:

Копирование файла

Вот и все! Пользуйтесь на здоровье – такой способ очень удобен для организации собственного хостинга.

Подключение с помощью утилиты PuTTy

PuTTy – кроссплатформенная утилита, позволяющая легко и быстро производить подключение по SSH. Установить ее можно командой:

# sudo apt-get install putty

Для начала запустим программу:

Вход

Теперь после ввода хоста и порта нажимаем “Open”. Нас просят ввести логин и пароль пользователя:

Главное окно PuTTy SSH Client

Вот и все!

Работа от имени удаленного пользователя

Также при установленном на сервере X11 и оконном менеджере будет возможность подключения с графическим интерфейсом. Остальные же действия будут аналогичными при подключении просто через терминал.

Заключение

Стоит сказать, что сервера – интересная штука, но к ним нужно знать подход. Надеюсь, данная статья поможет вам разобраться. Удачи!


2018-06-02T20:14:54
Linux

Основные характеристики и настройка 4G-модема от компании «Мегафон»

Второе десятилетие XXI века ознаменовалось появлением на телекоммуникационном рынке новых устройств, предназначенных для подключения пользователей к Всемирной паутине. Ими стали модемы операторов мобильных сетей, предоставляющих своё оборудование для распространения интернет-сигнала. Такие модемы очень быстро заняли свою нишу на потребительском рынке, их популярность стремительно растёт за счёт компактности и отсутствия жёсткой привязки к точкам доступа. В прошлом остались 2G-модемы, давшие возможность передавать видео и звук, а на смену 3G-устройствам, обеспечивающим более высокую скорость передачи информации, уже приходят 4G-модемы. Они работают по принципиально новой технологии и позволяют использовать сети мобильных операторов для подключения к интернету в тех местах, где существует зона покрытия сигнала от базовых станций. Передача сигнала 4G по мобильным сетям даёт стабильное соединение и высокую скорость передачи информации, не уступающую беспроводному соединению по Wi-Fi.

Читать

Установка DHCP сервера на FreeBSD

Установка ISC DHCP Server

Получаем доступные версии DHCP-сервера:

pkg search "isc-dhcp.*-server"

Устанавливаем самый свежий пакет:

pkg install isc-dhcp44-server-4.4.1_2

 Или установка ISC DHCP Server из коллекции портов

Если необходимо, DHCP-сервер можно собрать из портов.

Обновляем коллекцию портов:

portsnap fetch update

Если коллекция портов используется впервые, получаем ее актуальную версию:

portsnap fetch extract

Получаем доступные версии DHCP-сервера:

echo /usr/ports/net/isc-dhcp*-server

Устанавливаем:

cd /usr/ports/net/isc-dhcp44-server 

make install clear

Настройка ISC DHCP Server

Редактируем основной файл конфигурации:

mcedit /usr/local/etc/dhcpd.conf

В конфигурации сервера необходимо задать параметры, выделенные жирным шрифтом.

# DNS серверы

option domain-name-servers 192.168.100.1;



# Время в секундах, по истечению которого клиент должен запросить продление аренды

default-lease-time 1200;



# Время аренды IP адреса в секундах

# Клиент должен освободить IP-адрес, если в течение заданного времени аренду продлить не удалось

# Если аренда не продлена, сервер может выдать этот адрес другому клиенту

max-lease-time 72000;



# Выдавать клиенту новый адрес, если запрошенный клиентом адрес не входит в пул сервера

authoritative;



# Источник, который будет указан при отправке сообщений в Syslog

log-facility local7;



# Декларация подсети

subnet 192.168.100.0 netmask 255.255.255.0 {

  # Пул динамических адресов

  range 192.168.110.5 192.168.100.200;

  # Шлюз

  option routers 192.168.100.1;

}


Настройка логов для ISC DHCP Server

Редактируем syslog.conf:

mcedit /etc/syslog.conf

Сохраняем сообщения о присвоении адресов в dhcpd.log, предупреждения и ошибки дублируем в messages.

Добавляем следующие строки:

!dhcpd

*.info                                          -/var/log/dhcpd.log

!*


Задаем параметры ротации.

Проверяем, поддерживается ли вашей системой newsyslog.conf.d

ls /etc/newsyslog.conf.d && echo ok

Если в вашей системе отсутствует папка newsyslog.conf.d, редактируем newsyslog.conf:

mcedit /etc/newsyslog.conf

Если папка newsyslog.conf.d имеется, создаем папку с тем же именем в /usr/local/etc:

mkdir /usr/local/etc/newsyslog.conf.d

Создаем файл c правилами ротации логов:

mcedit /usr/local/etc/newsyslog.conf.d/isc-dhcp-server

Ежедневная ротация в полночь с сохранением логов за неделю:

/var/log/dhcpd.log                      600  7     *    @T00  JC

Создаем лог-файл:

touch /var/log/dhcpd.log

Перезагружаем конфигурацию syslogd:

service syslogd reload

Запуск ISC DHCP Server

Редактируем rc.conf:

mcedit /etc/rc.conf

Включаем запуск ISC DHCP Server, и задаем сетевые интерфейсы, обслуживаемые нашим сервером:

dhcpd_enable="YES"

dhcpd_ifaces="em1"


Запускаем dhcpd:

service isc-dhcpd start

В случае успешного запуска видим следующий текст:

Internet Systems Consortium DHCP Server 4.4.1

Copyright 2004-2018 Internet Systems Consortium.

All rights reserved.

For info, please visit https://www.isc.org/software/dhcp/

Wrote 1 leases to leases file.

Listening on BPF/em1/00:0c:29:09:b8:7a/192.168.100.0/24

Sending on   BPF/em1/00:0c:29:09:b8:7a/192.168.100.0/24

Sending on   Socket/fallback/fallback-net


Если ошибок при запуске не возникло, проверяем, раздаются ли IP-адреса.

 

Проверяем лог-файл:

cat /var/log/dhcpd.log