По этому гайду перенёс arch и kali на другие разделы, и обе системы перестали работать.
На arch слетели пароли, а kali и вовсе перестал запускаться.
Можно ли что-то с этим сделать, и как избежать таких последствий в будущем?
запуск kali
Установлен dnscrypt
, прописан вручную в /etc/resolv.conf
:
nameserver 127.0.0.1:53
Изменение любой софтине запрещено через
chattr -i
, чтобы всякие нетворкменеджеры не переписывали.При попытке получить любой ключ, вижу ошибку: «gpg: сбой при получении с сервера ключей: Сервер указал на сбой». В журнале вижу это:
dirmngr[15919]: resolving 'pgp.mit.edu' failed: Сервер указал на сбой
Очевидно, что ни один ключевой сервер у меня не ресолвится этим dirmngr. Гугление сказало, что настройки ресолвера для пгп возможно поправить в
~/.gnupg/dirmngr.conf
, у меня там разные конфиги, но этого файла нет. На всякий случай проверил, что резолвконф читается нормально:% la /etc/resolv.conf
-rw-r--r-- 1 root root 78 фев 26 06:13 /etc/resolv.conf
А можно ли в XFCE настроить так, чтобы на панели задач отображались превью окон, как это реализовано в Cinnamon и Windows?
При вводе :
~$ lspci -k | grep -iA2 net
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
Subsystem: Hewlett-Packard Company RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
Kernel driver in use: r8169
Kernel modules: r8169
Помогите как правильно поставить драйвер, заранее спасибо
Hi all !
(вроде вопрос не совсем про games)
Тут наткнулся на пару статей :
https://blogs.gnome.org/alexl/2019/03/06/nvidia-drivers-in-fedora-silverblue/
https://fedoramagazine.org/set-up-fedora-silverblue-gaming-station/
Видать я уже отстал от жизни и это уже можно юзать. Попробывал по сабжу поискать в инете, что то не удалось Может кто уже искал или делал и кинет ссылку ?
Интересует 2 вопроса :
1. Как silverblue грузить по PXE ?
2. Как в после вшития в образ silverblue нужных пакетов опять сделать так что он уже грузился по сети ?
Спасибо.
Как правильно сделать выход из потока, включая нештатные ситуации?
Собственно надо чтобы всегда при выходе из потока выполнялись следующие методы:
self.cur.close()
self.conn.close()
self.conns_pool.putconn(conn)
Я знаю способ:
def first_method_of_class(self):
try:
self.hello_world()
except Exception as err:
traceback.print_exc()
print(err)
self.cur.close()
self.conn.close()
self.conns_pool.putconn(conn)
Но я хз насколько он корректен
Здравствуйте.
Решил для веб разработки поставить на смартбук Ubuntu.
Почитал форумы, понял, что без танцев с бубном не обойтись, но решил рискнуть.
Как ни странно, при установке проблем не возникло, пришлось только повозиться со звуком.
После этого я установил LAMP и сделал следующие настройки:
1. В файле /etc/apache2/apache2.conf исправил
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
и добавил еще для своего сайта аналогично
<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/html/sitename/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Как я понял из статей, это разрешает использовать в указанных директориях файл .htaccess. Перезапустил апач.
2. В файле /etc/php/7.2/apache2/php.ini исправил
short_open_tag = On
error_reporting = E_ALL
display_errors = On
и опять перезапустил апач
3. Проверил работу Apache и php, Все работает
4. Создал директорию /var/www/html/sitename
5. Скопировал в эту директорию полностью свой сайт с хостинга
6. В MySQL создал БД и заполнил ее данными (использовал дамп БД с хостинга)
После этого попробовал увидеть сайт в браузере. В адресной строке ввел
Получил ошибку 500
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at webmaster@localhost to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.
Apache/2.4.29 (Ubuntu) Server at localhost Port 80
Выяснил, что виноват файл .htaccess. Он находится в корне сайта. Его содержимое:
AddDefaultCharset utf-8
php_flag magic_quotes_gpc Off
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php
ErrorDocument 404 /page404.html
Если заремарчить все строки, начинающиеся с Rewrite, то этой ошибки не возникает, и я попадаю в index.php. Его содержимое:
<?php
header("Content-Type:text/html;charset=utf-8"
;
session_start();
// подключение файла конфигурации
require "config.php";
//Подключение необходимых классов
echo get_include_path();
set_include_path(get_include_path()
.PATH_SEPARATOR.CONTROLLER
.PATH_SEPARATOR.MODEL
.PATH_SEPARATOR.SCRIPTS_PHP
);
echo "<br>";
echo get_include_path();
spl_autoload_register(function ($class_name) {
try{
include_once ($class_name.".php"
;
}
catch(ContrException $e) {
echo $e->getMessage();
}
});
try{
$obj = RouteController::get_instance();
$obj->route();
}
catch(ContrException $e) {
echo ($e);
}
?>
В браузере получаю:
.:/usr/share/php
.:/usr/share/php:controller:model:views/Scripts/php
Warning: include_once(RouteController.php): failed to open stream: No such file or directory in /var/www/html/sitename/index.php on line 38
Warning: include_once(): Failed opening 'RouteController.php' for inclusion (include_path='.:/usr/share/php:controller:model:views/Scripts/php') in /var/www/html/sitename/index.php on line 38
Fatal error: Uncaught Error: Class 'RouteController' not found in /var/www/html/sitename/index.php:57 Stack trace: #0 {main} thrown in /var/www/html/sitename/index.php on line 57
Файл RouteController.php есть в директории /controller, В нем объявлен класс RouteController, в классе есть конструктор. Но в конструктор я не попадаю, т.к. класс не найден.
Если я запускаю сайт под Windows/OpenServer, то все работает нормально
На хостинге, где Linux/Apache тоже все работает нормально
У меня Apache/php/MySQL работают нормально, а сайт работать не хочет. Я делаю вывод, что у меня что-то не так с настройками.
Подскажите, какие еще нужны настройки Apache и php, чтобы нормально обрабатывался .htaccess и чтобы нормально находились файлы в исходниках сайта?
1. Которая дружит с ООП.
2. Которая дружит с многопоточностью.
3. У которой есть биндинг для питона.
4. У которой простой внутренний язык и он не делался специально для банкстеров.
5. Работа с которой не напоминает общение с чиновниками.
Объем данных небольшой, 2-3 гб.
Комп никогда сам не выключается. Стоп джоб для mysqld никогда не заканчивается (ради интереса оставил на 20 минут). Не может очистить буфер. Арч с lamp самый свежий:
extra/mariadb 10.3.13-4 [installed]
Fast SQL database server, derived from MySQL
extra/mariadb-clients 10.3.13-4 [installed]
MariaDB client tools
extra/mariadb-libs 10.3.13-4 [installed]
MariaDB libraries
Что происходит:
Mar 24 02:42:25 fehhner systemd[1]: Stopping MariaDB 10.3.13 database server...
Mar 24 02:42:25 fehhner mysqld[526]: 2019-03-24 2:42:25 0 [Note] /usr/bin/mysqld (initiated by: unknown): Normal shutdown
Mar 24 02:42:25 fehhner mysqld[526]: 2019-03-24 2:42:25 0 [Note] InnoDB: FTS optimize thread exiting.
Mar 24 02:42:25 fehhner mysqld[526]: 2019-03-24 2:42:25 0 [Note] InnoDB: Starting shutdown...
Mar 24 02:42:25 fehhner mysqld[526]: 2019-03-24 2:42:25 0 [Note] InnoDB: Dumping buffer pool(s) to /var/lib/mysql/ib_buffer_pool
Mar 24 02:42:25 fehhner mysqld[526]: 2019-03-24 2:42:25 0 [Note] InnoDB: Buffer pool(s) dump completed at 190324 2:42:25
Mar 24 02:43:26 fehhner mysqld[526]: 2019-03-24 2:43:26 0 [Note] InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
Mar 24 02:44:26 fehhner mysqld[526]: 2019-03-24 2:44:26 0 [Note] InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
Mar 24 02:45:26 fehhner mysqld[526]: 2019-03-24 2:45:26 0 [Note] InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
Mar 24 02:46:26 fehhner mysqld[526]: 2019-03-24 2:46:26 0 [Note] InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
Mar 24 02:47:27 fehhner mysqld[526]: 2019-03-24 2:47:27 0 [Note] InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
Если имеет значение - в виртуалке полно свободной оперативки, на диске свободно 18G, в /tmp 1.5G. Он 2 года установлен, мб при одном из последних обновлений разрешения где-то не поменялись, или конфиг старый нужно править? В остальном БД работает без замечаний и нареканий, как и прежде.
Вот, например, есть один крупный сайт, который при вводе выражений начинает себя странно висти. Напривер, показывает сообщение о технических работах, или же не возвращает результат. Например, если ввести:
привет * мир
сайт выдаёт ошибку.
привет / мир
сайт может не вернуть результат.
Это вообще нормальное явление? И куда обращаться по этому поводу?
И что многомировая интерпетация - единственная разумная и научная интерпретация квантмеха.
https://habr.com/ru/post/444880/
https://habr.com/ru/post/444850/
Суть такова. Есть квантовые объекты, которые постоянно взаимодействуют друг с другом - спутываются в квантовом смысле этого слова. Если взаимодействие единично - например, «сталкиваются» две частицы - то их можно распутать обратно. Если же частица спутывается со многими частицами, то такое спутывание необратимо, и мы его называем наблюдением. Наблюдение создаёт иллюзию схлопывания волновой функции и появления классических свойств. Но на самом деле наблюдаемый объект остаётся квантовым, просто многие части его волновой функции (многие его состояния) запутаны с огромным числом других волновых функций и для наблюдения недоступны - т.е. нам остаётся для наблюдения только одно его состояние. Какое это будет состояние - определяется волновой функцией. Чем больше энергии получает какое-либо состояние, тем оно вероятнее. Таким образом, Вселенная представляет собой дерево возможных состояний (миров) всех объектов. И вообще это всё одна-единственная волновая функция, а разные объекты - разные её части, и граница между ними чисто условна (потому что они постоянно спутываются между собой).
Я опять выхожу на связь.
Есть два наитупейших вопроса.
1. Можно ли вызывать функцию для переменной? Ну что-то вроде
float a = 1.0;
a.someShit();
А в someShit будут какие-нибудь преобразования. Я не знаю, зачем оно мне нужно, но стало интересно.
2. Где почитать про шаблоны (или как они правильно называются), чтобы совсем для умственно отсталых, вроде меня? Где-то видел подобную конструкцию:
FunctionName<int>(...);
Мне надо, чтобы в <> был тип переменной. В последний раз прикасался к этому давно, и уже не помню, какая там была ошибка, но я не осилил. Дело было ещё в том, что название функции было как в исходном файле, так и в заголовочном, и я так и не разобрался, куда именно писать.
Появилась возможность относительно недорого купить OEM (новая со склада, без коробки) версию этой мат.платы. Увидел её в списке поддерживаемых coreboot'ом плат, но страницу на вики с описанием всех нюансов прошивки (как это сделано для большинства остальных плат) не нашёл. Зато есть куча гайдов для бомже-моделей на H61/77, но не суть. Единственное упоминание о ASUS Maximus IV GENE-Z. Есть ли здесь какая-то привязка к ревизии? Я могу взять только GEN3.
UPD. Судя по обсуждению на реддите, GEN3 вполне поддерживается.
https://crackedhere.com/fl-studio-20-crack-full-torrent-mac-win/
FL Studio Crack is additionally called a Fruity Loops is a finished music altering programming or Digital Audio Workstation (DAW) that gives a total music generation condition. Over 20 years of fruitful improvement, it establishes everything of your longing in only one bundle.
Доброго времени!
Есть два железных сервера с большим кол-вом оперативы. Их отредили быть редис-серверами (редис 5.0.4). Есть желание сделать нечто подобное кластеру мастер-слейв. У редиса есть штатно кластер мастер-слейв, но настойчиво рекомендуется использовать 3 пары мастер-слейв (всего 6 машин). Как я понял это из-за того, что в выборах Redis Cluster за отказоустойчивость голосуют только мастера.
Требования простые: на мастер пишем,читаем с мастера и слейва.
И при сбое мастера - слейв должен стать мастером в автоматическом режиме. Обратно - можно и вручную.
Думал заюзать Redis Sentinel на двух этих хостах + третий Redis Sentinel где-то еще, для создания кворума.
Также смотрю в сторону Netflix dynomite. Это вообще идеально для меня в виде актив-актив кластера. Есть даже конфигурационный ямл для двух нод. Но также не ясно, что будет если связь между этими хостами пропадет. Каждая нода будет активна и принимать трафик клиентов в итоге данные не будут консистентны. Такой кейс в документации не освещен.
Кто-нибудь решал подобную задачу для двух хостов с редисом?
Всю голову уже сломал.
Подскажите как можно реализовать, разграничение доступа в админ панели daloradius, для разных клиентов.
Т.е. есть клиенты со своими пользователями, которые ходят в интернет через наш радиус.
Так вот, один клиент, хочет посмотреть на админку, т.е. её нужно будет отдать клиенту. Завести нового пользователя, с ограниченными правами.
Но при этом сделать так, что бы он видел только своих пользователей, но всех остальных клиентов не видел.
Под клиентом понимаю один объект, условный магазин, и т.д.
Можно это как то реализовать внутри одного радиус сервера?
Или тут без поднятия отдельной машины с отдельным радиусом не обойтись?
import asyncio
import cgi
import logging
import os
from asyncio import Semaphore
from concurrent.futures import ThreadPoolExecutor
from typing import Callable, Optional, Set
from urllib.parse import urldefrag, urljoin, urlsplit, urlunsplit
from aiohttp import ClientSession, ClientTimeout
from bs4 import BeautifulSoup
__all__ = ('Crawler', 'crawl')
_log = logging.getLogger(__name__.split('.')[0])
class Crawler:
RATE_LIMIT = 50
MAX_WORKERS = os.cpu_count()
ALLOWED_SCHEMES = ('http', 'https')
def __init__(
self,
loop = None, # Не знаю какой тип указать,
*,
session: Optional[ClientSession] = None,
semaphore: Optional[Semaphore] = None,
executor: Optional[ThreadPoolExecutor] = None
):
self.loop = loop or asyncio.get_event_loop()
# DeprecationWarning: The object should be created from async function
self.session = session or ClientSession(loop=self.loop)
self.semaphore = semaphore or Semaphore(self.RATE_LIMIT, loop=self.loop)
self.executor = executor or ThreadPoolExecutor(max_workers=self.MAX_WORKERS)
async def crawl(
self,
url: str,
cb: Callable,
*,
depth: Optional[int] = 3,
headers: Optional[dict] = {},
timeout: Optional[float] = 15.0,
):
timeout = ClientTimeout(total=timeout)
url = self._normalize_url(url)
await self._fetch(url, cb, depth, headers, timeout, set())
async def _fetch(
self,
url: str,
cb: Callable,
depth: int,
headers: dict,
timeout: ClientTimeout,
seen: Set[str],
):
if url not in seen:
async with self.semaphore:
try:
_log.debug('url=%s depth=%s', url, depth)
async with self.session.get(
url,
headers=headers,
timeout=timeout,
# allow_redirects=False,
verify_ssl=False,
) as r:
# Нужно ли нормализовать url или и так схема и netloc в нижнем регистре?
url = self._normalize_url(str(r.url))
seen.add(url)
res = cb(url)
if asyncio.iscoroutine(res):
await res
# Тут может упасть, если у в заголовках ответа Content-Type не будет
ct, _ = cgi.parse_header(r.headers['Content-Type'])
if ct == 'text/html' and depth > 1:
html = await r.text()
links = await self.loop.run_in_executor(
self.executor,
self._extract_links,
html,
url
)
# _log.debug(links)
tasks = (
self._fetch(link, cb, depth - 1, headers, timeout, seen)
for link in links
)
await asyncio.gather(*tasks)
except Exception as e:
_log.warn(e)
def _extract_links(self, html: str, base_url: str) -> set:
soup = BeautifulSoup(html, 'lxml')
base = soup.find('base', href=True)
if base:
# Вроде как относительным может быть
base_url = urljoin(base_url, base['href'])
rv = set()
for link in soup.find_all('a', href=True):
url = urljoin(base_url, link['href'])
if urlsplit(url).scheme in self.ALLOWED_SCHEMES:
rv.add(self._normalize_url(url))
return rv
def _normalize_url(self, url: str) -> str:
scheme, netloc, path, query, _ = urlsplit(url)
return urlunsplit((scheme, netloc.lower(), path, query, ''))
async def crawl(*args, **kwargs):
await Crawler().crawl(*args, **kwargs)
if __name__ == '__main__':
from argparse import ArgumentParser
logging.basicConfig(level=logging.DEBUG)
parser = ArgumentParser()
parser.add_argument('url', help='URL')
parser.add_argument('-d', '--depth', default=3, type=int, help='Depth')
parser.add_argument('-H', '--header', default=[], action='append', help='Header: Value')
parser.add_argument('-t', '--timeout', default=15.0, type=float, help='Timeout')
args = parser.parse_args()
_log.debug(args.header)
headers = dict(map(str.strip, v.split(':')) for v in args.header)
asyncio.get_event_loop().run_until_complete(crawl(
args.url,
print,
depth=args.depth,
headers=headers,
))
Запускаю скрипт:
python crawler.py habr.com/ -H "User-Agent: Mozilla/5.0"
До второго уровня доходит и повисает. Что делать в душе не е*у. Есть ли те кто глубоко разбирается в asyncio?
Здравствуйте заметил что звучание музыки в Ubuntu отличается в худшую сторону от того что было у меня в виндовсе.
Что подскажите по этому поводу, можно как-то решить проблему? Звучание какое-то сухое , не обьемное, будто на первых поколениях телефонов слушаешь, при этом я бы не сказал что у меня какой то музыкальный слух, но различия настолько большие что это очень заметно.