Windows 10 конвертация MBR в GPT на этапе установки

При установке Windows 10 после выбора раздела получил ошибку, связанную с несоответствием текущей файловой таблицы (MBR) и GPT таблицы которую хочет установщик Windows.

Памятка для конвертации MBR в GPT на этапе установки Windows.

  1. Shift + F10 в окошке установки
  2. diskpart
  3. list disk
  4. select disk N
  5. clean
  6. convert gpt
  7. exit

После этого проверяем биос на предмет Legacy/UEFI и переключаем, если нужно в UEFI и повторяем инсталяцию.

image_pdfimage_print

DOSprn – утилита для печати из под DOS на новых ПК

Эта программа дает возможность печатать из старых DOS программ на любые типы современных принтеров, независимо от их типа (USB-принтеры, сетевые принтеры, принт-серверы, PDF-принтеры).

DOSprn также полезен при печати на вашем родном языке, если ваш принтер не поддерживает печать на вашем языке в текстовом режиме.

Скачать    Зеркало (Лекарство там же, пароль на архив – 1)

image_pdfimage_print

VirtualBox – автостарт виртуалки

При переносе физических серверов в VirtualBox понадобилось, что бы при рестарте основной системы стартовали и виртуальные машины.

  1.  Создаем ярлыки нужных машин в VirtualBox
  2. Win + R –> shell:startup – перетаскиваем созданные ярлыки

Есть несколько способов. Мне этот показался самым простым.

image_pdfimage_print

kernel – удалить старые ядра

Из-за нехватки места на корневом разделе понадобилось удалить старые ядра.

Смотрим какие есть в системе:

# rpm -q kernel

Удаляем, оставляя две версии:

# package-cleanup --oldkernels --count=2

Это же можно сделать и вручную, указав версии ядер, например:

# yum remove kernel-3.10.0-957.21.2.el7.x86_64 kernel-3.10.0-1062.4.1.el7.x86_64 kernel-3.10.0-1062.7.1.el7.x86_64
image_pdfimage_print

Dataverse Docker v5.8

Будем делать продакшн установку взамен локальной тестовой версии.

Останавливаем и удаляем старую версию

docker stop $(docker ps -a -f status=exited -q)
docker rm $(docker ps -a -f status=exited -q)
docker network prune
docker network rm traefik
systemctl stop docker docker.socket
systemctl start docker

Устанавливаем DOCKER-DATAVERSE v5.8:

cd /opt && git clone https://github.com/IQSS/dataverse-docker

Заполняем параметры в файле .env:

# DOI parameters
# https://guides.dataverse.org/en/latest/installation/config.html#doi-baseurlstring
doi_authority=doi_authority
doi_provider=doi_provider
doi_username=doi_username
doi_password=doi_password

Также пароль от DataCite нужно добавить здесь:

dataverse-docker/secrets/doi/password

Поочередно вводим в консоли:

export traefikhost=www.mydataverse.org 
docker network create traefik
export useremail=dataverse@mydataverse.org
docker-compose -f docker-compose.yml up

Проверяем

docker ps

Скачиваем и копируем внутрь контейнера фалы с переводом и перезагружаем контейнер:

wget --content-disposition https://seafile.tst-amo.net.ua/f/fcd8a4e2655b4d53871e/?dl=1
docker cp Bundle_ua.properties 39fff6bf2ccf:/opt/payara/appserver/glassfish/domains/domain1/applications/dataverse/WEB-INF/classes/propertyFiles/
wget --content-disposition https://seafile.tst-amo.net.ua/f/0c6340ef0b934e7f9419/?dl=1
docker cp BuiltInRoles_ua.properties 39fff6bf2ccf:/opt/payara/appserver/glassfish/domains/domain1/applications/dataverse/WEB-INF/classes/propertyFiles/
wget --content-disposition https://seafile.tst-amo.net.ua/f/7c20a484f66c400da88a/?dl=1
docker cp citation_ua.properties 39fff6bf2ccf:/opt/payara/appserver/glassfish/domains/domain1/applications/dataverse/WEB-INF/classes/propertyFiles/
docker exec -it 39fff6bf2ccf bash 
curl http://localhost:8080/api/admin/settings/:Languages -X PUT -d '[{"locale":"en","title":"English"},{"locale":"ua","title":"Українська"}]'
curl http://localhost:8080/api/admin/settings/:MetadataLanguages -X PUT -d '[{"locale":"en","title":"English"},{"locale":"ua","title":"Українська"}]'

Прописываем значения для Protocol и Shoulder:

curl -X PUT -d doi http://localhost:8080/api/admin/settings/:Protocol
curl -X PUT -d "DVUA/" http://localhost:8080/api/admin/settings/:Shoulder

Генерировать DOI только для Dataset:

curl -X PUT -d 'false' http://localhost:8080/api/admin/settings/:FilePIDsEnabled

Почта:

curl -X PUT -d "dataverse@mydataverse.org" http://localhost:8080/api/admin/settings/:SystemEmail

Добавить под годом с авторским правом:

curl -X PUT -d "</p><p>Supported by the National Academy of Sciences of Ukraine</p>" http://localhost:8080/api/admin/settings/:FooterCopyright

Если нужно удалить:

curl -X DELETE http://localhost:8080/api/admin/settings/:FooterCopyright

Перегружаем

docker exec -it ID /opt/payara/appserver/bin/./asadmin restart-domain

Стартуем контейнер с docker dataverse:

docker ps
docker start ID

Проверяем прописанные опции:

curl http://localhost:8080/api/admin/settings/:Protocol
curl http://localhost:8080/api/admin/settings/:DoiProvider
curl http://localhost:8080/api/admin/settings/:Authority
curl http://localhost:8080/api/admin/settings/:Shoulder
curl http://localhost:8080/api/admin/settings/:SystemEmail

В Докере правим линк (Что бы можно было загружать логотипы dataverse):

/opt/payara/appserver/glassfish/domains/domain1/docroot на /opt/payara/docroot/logos

Configuring / Troubleshooting Mail Host

/opt/payara/appserver/bin/./asadmin delete-javamail-resource mail/notifyMailSession
/opt/payara/appserver/bin/./asadmin create-javamail-resource --mailhost [smtp.google.com] --mailuser [dataverse@kau.edu.ua] --fromaddress [dataverse@kau.edu.ua] --property mail.smtp.auth=[true]:mail.smtp.password=[*********]:mail.smtp.port=[587]:mail.smtp.socketFactory.port=[587]:mail.smtp.socketFactory.fallback=[false]:mail.smtp.socketFactory.class=[javax.net.ssl.SSLSocketFactory] mail/notifyMailSession
$ docker ps
CONTAINER ID        IMAGE                                 COMMAND                  CREATED              STATUS              PORTS                                          NAMES
fa727beadf8f   coronawhy/dataverse:5.10                    "/tini -- /bin/sh -c…"   About an hour ago   Up About an hour   0.0.0.0:4848->4848/tcp, :::4848->4848/tcp, 8181/tcp, 0.0.0.0:8009->8009/tcp, :::8009->8009/tcp, 9009/tcp, 0.0.0.0:8088->8080/tcp, :::8088->8080/tcp   dataverse
d4b83af11948   coronawhy/solr:8.9.0                       "docker-entrypoint.s…"   About an hour ago   Up About an hour   0.0.0.0:8983->8983/tcp, :::8983->8983/tcp                                                                                                             solr
bf0478c288cd   containous/whoami                          "/whoami"                About an hour ago   Up About an hour   80/tcp                                                                                                                                                whoami
38d7151cb7cb   postgres:10.13                             "docker-entrypoint.s…"   About an hour ago   Up About an hour   0.0.0.0:5433->5432/tcp, :::5433->5432/tcp                                                                                                             postgres
ce83792a3abd   minio/minio:RELEASE.2021-12-10T23-03-39Z   "/usr/bin/docker-ent…"   About an hour ago   Up About an hour   9000/tcp, 0.0.0.0:9016-9017->9016-9017/tcp, :::9016-9017->9016-9017/tcp                                                                               minio
92c8fa3730a2   traefik:v2.2                               "/entrypoint.sh --ap…"   About an hour ago   Up About an hour   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp                                                                              traefik
image_pdfimage_print

Docker

INSTALL

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

sudo yum install docker-ce
sudo systemctl enable docker
sudo systemctl start docker

Add your current user to the Docker group

sudo usermod -a -G docker cloud_user

Create your first container using the hello-world image

docker run hello-world

docker-composer install:

curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
mv /usr/local/bin/docker-compose /usr/bin/docker-compose
chmod +x /usr/bin/docker-compose

Базовые команды

Версия

docker -v

Запущенные контейнеры

docker ps

Все контейнеры

docket ps -a

Образы

docker images

Поиск образа

docker search

Скачать образ

docker pull tomcat

Запустить интерактивно на порту

docker run -it -p 7777:8080 tomcat

Запустить неинтерактивно демоном

docker run -d -p 8888:8080 tomcat
docker run -d -p 80:80 nginx

Переименовать образ

docker tag oldname:v1 newname:v2

Сделать копию

docker build -t myimage:latest .

И запустить

docker run -d myimage:latest

START DOCKER

docker start {b298bda36d02,124c0e4946d9,704993e52d21}
docker start $(docker ps -a -f status=exited -q)

STOP DOCKER

docker stop $(docker ps -q)

Удалить контейнер

docker rm 1234567890

Удалить образ

docker rmi 1112227778

Delete all Containers

docker rm -f $(docker ps -aq)

Удалить все неиспользуемые контейнеры

docker container prune

Delete all Images

docker rmi -f $(docker images -q)

Попасть внутрь контейнера

docker exec -it 5267e21d140 /bin/bash
echo "New Version v2" >> /var/www/html/index.html
exit

Создать новый образ

docker commit 5267e21d140 newimage_v2:latest

REMOVE DOCKER

systemctl stop docker
systemctl stop docker.socket
yum remove -y docker-ce
rm -rd /var/lib/docker

Пример докер файла

Логи сервисов

docker logs name_service

Посмотреть в реальном времени:

docker logs -f name_service

Передать в файл вместе с ошибками:

docker logs name_service > /home/dataverse.log 2>&1

Хранилище образов

/var/lib/docker
image_pdfimage_print

Windows 10 обновления ломающие печать на сетевых принтерах

Патчи которые вызывают указанную выше проблему:

  • KB5003690
  • KB5004760
  • KB5004945
  • KB5005565
  • KB5005566
  • KB5005568
  • KB5006670
  • KB5007186

Для других версий Windows:

  • KB5005030 – Windows Server 2019
  • KB5005613, KB5005627 – Windows 8.1 и Windows Server 2012
  • KB5005563 – Windows 7
  • kb5006670

Если не помогает удаление или их невозможно удалить правим реестр, в cmd под Администратором набираем:

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Policies\Microsoft\FeatureManagement\Overrides /v 713073804 /t REG_DWORD /d 0 /f

UPD. На 21.09.22 при ошибке

error: 0x0000011b

работал костыль с правкой в реестре – создать параметр DWORD32:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print
RpcAuthnLevelPrivacyEnabled = 0

При невозможности установить драйвер сетевого расшаренного принтера на клиентский ПК:

HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint
RestrictDriverInstallationToAdministrators = 0

 

image_pdfimage_print

Запретить пользователям установку программ в Windows 10

Возникла задача для учетки User запретить установку программ. Открываем редактор локальной групповой политики:

Win + R --> gpedit.msc
Конфигурация компьютера, Административные шаблоны, Компоненты Windows, Установщик Windows

Поставить – Включено.

Проверить учетку User, и убрать его (если есть) из группы Администраторы.

image_pdfimage_print

Lestscripts ошибка обновления сертификата для Seafile

Через, примерно, два месяца после установки seafile при обновлении сертификатов получил ошибку:

Simulating renewal of an existing certificate for tst-amo.net.ua and 4 more domains
Performing the following challenges:
http-01 challenge for seafile.tst-amo.net.ua
http-01 challenge for cloud.tst-amo.net.ua
http-01 challenge for mail.tst-amo.net.ua
http-01 challenge for tst-amo.net.ua
http-01 challenge for www.tst-amo.net.ua
Using the webroot path /home/www for all unmatched domains.
Waiting for verification...
Challenge failed for domain seafile.tst-amo.net.ua
http-01 challenge for seafile.tst-amo.net.ua
Cleaning up challenges
Running post-hook command: service nginx reload
Error output from post-hook command service:
Redirecting to /bin/systemctl reload nginx.service

Some challenges have failed.

IMPORTANT NOTES:
- The following errors were reported by the server:

Domain: seafile.tst-amo.net.ua
Type: unauthorized
Detail: Invalid response from
http://seafile.tst-amo.net.ua/.well-known/acme-challenge/trV7-GvdK_9eK-Fbm3dqaf-qWxA5Jwj2-EgHCMMwt38
[94.158.83.27]: "<html>\r\n<head><title>404 Not
Found</title></head>\r\n<body>\r\n<center><h1>404 Not
Found</h1></center>\r\n<hr><center>nginx</center>\r\n"

To fix these errors, please make sure that your domain name was
entered correctly and the DNS A/AAAA record(s) for that domain
contain(s) the right IP address.

Очевидно, что скрипт не нашел путь в поддомене seafile.

Решение

Создаем проверочный файлик test.html и директории (я просто их скопировал)

# cp -R /home/www/.well-known /home/www/seafile/
# cd /home/www/seafile/ && echo "TEST CERTBOT" > /.well-known/acme-chalenge/test.html

Проверяем, должен быть ответ вида:

# curl -L seafile.tst-amo.net.ua/.well-known/acme-challenge/test.html
TEST CERTBOT

Если получен – значит ошибка в конфигурации nginx.

Так и есть. В секции подключения lestcripts у меня использовался общий файл описания:

# Let'sCript
include acme.conf;
# cat acme.conf
location /.well-known {
root /home/www;
}

Нужно изменить это поведение, для этого создаем еще один файл acme.conf но для seafile:

# pwd
/etc/nginx
# vi acme_seafile.conf
location /.well-known {
       root /home/www/seafile;
}

и прописываем в конфигурации nginx для seafile:

# vi  /etc/nginx/sites-available/seafile

# Let'sCript
include acme_seafile.conf;

А также добавил в секцию:

server {
    listen 80;
    server_name seafile.tst-amo.net.ua;
    server_tokens off;
    root /home/www/seafile;
    location /seafile {
      rewrite ^ https://$http_host$request_uri? permanent; # force redirect http to https
      }
}

Проверяем и рестартуем сервисы:

# nginx -t && nginx -s reload

Запускаем letscript в черновом режиме:

# certbot certonly --dry-run -w /home/www/ -d tst-amo.net.ua,www.tst-amo.net.ua,mail.tst-amo.net.ua,cloud.tst-amo.net.ua -w /home/www/seafile/ -d seafile.tst-amo.net.ua

Если все хорошо, то запускаем без ключа –dry-run.

image_pdfimage_print