LINUX.ORG.RU

Сообщения AntonyRF

 

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

Всем расово-верный привет! Есть ubuntu server 16.04, домен в зоне *.рус. Хочется напихать поддоменов, но их категорически не удаётся настроить =( Ай нид хелп комрады!

А теперь немного инфы. Каталоги расположены так:

ubuntu:~$ tree /var/www
/var/www
├── cloud
│   └── index.html
└── html
    └── index.php

hosts:

ubuntu:~$ cat /etc/hosts 
127.0.0.1	localhost
127.0.1.1	ubuntu
127.0.0.1	cloud.localhost

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Настройки виртуальных хостов:

ubuntu:~$ cat /etc/apache2/sites-available/cloud.conf 
<VirtualHost *:80>
	ServerName cloud.иванов.рус

	ServerAdmin webmaster@localhost
	DocumentRoot /var/www/cloud
	<Directory /var/www/cloud>
		AllowOverride All
	</Directory>

	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Далее выполняю

a2ensite cloud.conf 

Ииииии поддомена нет =( Настройку делаю в первый раз, прошу сильно не пинать, а просто помочь. Заранее спасибо.

 ,

AntonyRF
()

И снова Rust

Я Вас, категорически, приветствую!

Вот, в всеми не любимой Delphi есть поля класса называемые property, при изменении которых можно использовать сеттеры и геттеры. В делфи коде, в одном из проектов, есть класс

TConfigManager = class
  ... 
  private
    function GetHost: String;
    procedure SetHost(AValue: String);
  public
    property host: String read GetHost write SetHost;
end;

При присваивание нового значения в host - это значение будет записано в ini-файл процедурой SetHost, при чтении будет прочитано из ini-файла с помощью функции GetHost. Притом код получается крайне локаничным:

  ConfigManager.Host := '127.0.0.1';
  MyHost := ConfigManager.Host;

Собственно, вопрос, как такое запилить в Rust?

 ,

AntonyRF
()

UbiFS

Я Вас, категорически, приветствую комрады!

Появился вопрос, о том как форматнуть флэшку в ubifs, конечно, по средствам CLI. Ситуация такая:

  • Утилита ubiformat - отсутствует на моём debian, поиск по пакетам результата не дал.
  • mkfs.ubi - тоже нет.
  • modprobe ubifs - выполняется успешно.

Собственно, что делать то?! Впервые потребовалось форматнуть в сабж микро-сд и такой облом 0_о

 

AntonyRF
()

RaidZ-1

Всем привет!

Не смог найти внятной инфы, о том сколько нужно ОЗУ для организации RaidZ-1 на 3-х 6Тб дисках, хватит ли 4 Гб?

Заранее спасибо.

 ,

AntonyRF
()

Запуск ХОТЬ ЧЕГО-ТО на удалённой машине по SSH

Всем привет! Задача такая, есть проект на FreePascal, кросс-компиляция настроена на ARM-Linux, после компиляции вызывается скрипт upload.sh

#!/bin/sh

clear
PROJECT_PATH=$(dirname $(dirname $(dirname `readlink -e "$0"`)))/bin/;
TARGET_IP=192.168.201.26
EXEC_FILE=pdd
REMOTE_DIR=/root

# Убиваем процессы   
if [ $(ssh root@$TARGET_IP pgrep $EXEC_FILE)>'0' ]
then
	echo "Пытаемся убить pdd:";
	ssh root@$TARGET_IP killall $EXEC_FILE;
	echo " - ок";
fi;
if [ $(ssh root@$TARGET_IP pgrep gdbserver)>'0' ]
then
	echo "Пытаемся убить gdbserver:";
	ssh root@$TARGET_IP killall gdbserver;   
	echo " - ок";
fi;

# Определяем расположение файлов
if [ -f "/root/pdd" ]; then
	echo "Удаляем старую локальную копию:" $REMOTE_DIR/$EXEC_FILE
	rm $REMOTE_DIR/$EXEC_FILE;               
	echo " - ок";
fi;

echo "Делаем новую локальную копию:";
cp $PROJECT_PATH/$EXEC_FILE $REMOTE_DIR/$EXEC_FILE;
echo " - ок";

echo "Переносим на ARM SOC" $PROJECT_PATH/$EXEC_FILE;
scp $PROJECT_PATH/$EXEC_FILE root@$TARGET_IP:$REMOTE_DIR;
ssh root@$TARGET_IP chmod +x ./$EXEC_FILE;
echo " - ок";

echo "Запускаем на удалённой машине gdbserver";
ssh root@$TARGET_IP 'gdbserver :2345 /root/pdd';
echo " - ок";
                        

Как видно исполняемый файл pdd отправляется на удалённую машину и там должен запуститься gdbserver и на этом выполнения скрипта следует завершить, НО выполнение скрипта не заканчивается до завершения gdbserver'a =( Следовательно, следующую команду надо выполнить на удалённой машине без считывания её вывода и без ожидания завершения:

ssh root@$TARGET_IP 'gdbserver :2345 /root/pdd';

Помогите плиз.

 ,

AntonyRF
()

Как узнать, что примонтирован новый диск\флэха

Привет посоны!

В общем, хочу сделать демон который бы следил за монтированием флэшек и копировал бы всё содержимое в определённую директорию на NAS. Вообще, было бы идеально если бы только при подключении в определённый USB, например, на лицевой панели начиналось бы копирование. Пока ни чего умнее чем по таймеру проверять новых файлов в /dev/ и чтения fstab не придумал. Есть ли какие системные механизмы, чтобы сделать красиво? Например, может есть возможность получать событие о подключении нового устройства через какой-нибудь callback? Заранее спасибо

 ,

AntonyRF
()

16 дешёвых ядер

Доброе время суток товарищи!

Задался вопросом, есть ли дешёвые 16 ядерные ЦП? Ну например, на ARM\MIPS\ХренЗнаетЕщёНаЧём. Хотелось бы маленькое энерго потребление, не обязательно высокие вычислительные способности, а так же цена желательна до 10к российских рублей.

 , ,

AntonyRF
()

Серверная (телекоммуникационная) стойка... Дома

Здрасте!

В общем, начал я думать о том, что не плохо было бы сделать домашний сервер. Сначала подумал о Nas, но фантазия разыгралась и стал думать о том, чтобы поставить серверную стойку на балкон, взять корпус от Б\У сервера с hot swap на 12 дисков и по мере необходимости набивать по 3 Тб, естественно нужен Raid. Планирую запустить http, ftp, WebDav, email и пару самописных сервисов. Боюсь, что перебор, но и боюсь, что Nas на 4 диска не хватит, а на большее количество у них цена как не в себя =(

Вопросы мои таковы: Разумно ли ставить дома серверную стойку? Люди которые занимаются фото, какого размера Ваши хранилища? И где почитать литературу о том как правильно подбирать железо для сервера?

Заранее спасибо!

 ,

AntonyRF
()

Rust и импорт из Lazarus

Всем привет! Допустим есть *.dll/*.so файл собранный в Lazarus. Либа закрытая, объектных файлов не будет. Lazarus позволяет аки делфи прописать ручками импортируемые функции и не париться, но в rust не нашёл историй успеха. Как мне импортировать функции из этой библиотеки в Rust?

Пытался так, но не катит:


extern crate libc;
use libc::{c_int};

#[link(name = "anal_zond")]
extern {
    fn  lib_version(major: *const c_int, minor: *const c_int, revision: *const c_int);
}

pub fn library_version() -> Option<Vec<i32>> {

    let major: c_int = 0;
    let minor: c_int = 0; 
    let revision: c_int = 0;
    unsafe {
        lib_version(&major, &minor, &revision);
    }
    Some(vec![major, minor, revision])
}

#[cfg(test)]
mod tests {
 
    use super::library_version;

    #[test]
    fn it_works() {
       let version = library_version().unwrap();
       println!("{:?}", version); 
    }
}

Хочется, что бы Rust компилировал даже в отсутствие библиотеки X, и чтобы не запускался исполняемый файл без неё, реально ли так?

 ,

AntonyRF
()

Первое знакомство с CLang и сразу облом

Всем привет! Решил познакомиться с CLang, IDE Qt Creator, проект на Pure C, собираю через CMake, акромя добавления файлов есть это:

cmake_minimum_required(VERSION 3.5)
project(mqttc C)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_FLAGS "")
set(CMAKE_COLOR_MAKEFILE ON)

Тыкаю в IDE на меню Анализ => Статический анализатор Clang и получаю портянку

( читать дальше... )

Собс-но как убрать -std=gnu++11? И собс-но ЧЯДНТ?

 , ,

AntonyRF
()

ЯтЪ - gtk_file_chooser_dialog_new

Всем привет, пытаюсь бороться с gtk_file_chooser_dialog_new, всё с ним работает, но весит постоянно варнинг:

ui.c:44: предупреждение: passing argument 2 of 'gtk_file_chooser_dialog_new' from incompatible pointer type [enabled by default]
                                           NULL);
                                           ^

Текст функции такой:

void click_browse_key(GtkButton *button, gpointer data) {

    GtkWidget *dialog = gtk_file_chooser_dialog_new ("Открыть ключ",
                                          window,
                                          GTK_FILE_CHOOSER_ACTION_OPEN,
                                          ("_Отмена"),
                                          GTK_RESPONSE_CANCEL,
                                          ("_Открыть"),
                                          GTK_RESPONSE_ACCEPT,
                                          NULL); // Тут варнинг

    if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
      {
        gchar *filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
        gtk_entry_set_text(GTK_ENTRY(key_edit), filename);
        g_free(filename);
      }

    gtk_widget_destroy (dialog);
}

CMake такой:

cmake_minimum_required(VERSION 3.5)
project(mqt C)
set(CMAKE_C_STANDARD 11)
set(CMAKE_COLOR_MAKEFILE ON)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-incompatible-pointer-types -Wno-unused-result")

# Используем PkgConfig для поиска GTK+ хидеров и библиотек
FIND_PACKAGE(PkgConfig REQUIRED)
PKG_CHECK_MODULES(GTK3 REQUIRED gtk+-3.0)
FIND_PACKAGE(OpenSSL REQUIRED)
FIND_PACKAGE(PTHREAD REQUIRED)

# Подключаем найденные файлы
INCLUDE_DIRECTORIES(${GTK3_INCLUDE_DIRS})
LINK_DIRECTORIES(${GTK3_LIBRARY_DIRS})

# Доп.флаги компиляции
ADD_DEFINITIONS(${GTK3_CFLAGS_OTHER})
ADD_DEFINITIONS("-DWITH_TLS")
ADD_DEFINITIONS("-DWITH_SOCKS")
ADD_DEFINITIONS(-pthread)

# Файлы проекта
set(SRC_FILES main.c ...)

# Доп.файлы для линковки
set(LINK_LIBS разные.so)
add_executable(${PROJECT_NAME} ${SRC_FILES} )
target_link_libraries(${PROJECT_NAME} ${LINK_LIBS} ${GTK3_LIBRARIES})

Собсна как избавиться от варнинга? И собсна почему не сработал -Wno-incompatible-pointer-types? Спасибо

 ,

AntonyRF
()

qtcreator

Прива!

Может кто знает как в проекте на CMake в qtcreator'e организовать иерархию исходных файлов в дереве проектов? Переход на другие системы сборки типа qbs - не рассматриваю. Собственно всё.

Заранее спасибо

 

AntonyRF
()

GTK3.20 Windows - ШГ

Всем салют! Накатал на расте окошко с кнопкой, с темой Adwaita всё хорошо, но хочу чтобы выглядело нативно для винды, но при таком конфиге становиться всё плохо со шрифтами: https://yadi.sk/i/cPFsX-0P3HL8kT

( читать дальше... )

В чём может быть дело?

 

AntonyRF
()

Rust - UI

Всем привет! Есть ли что-то адекватное окромя gtk-rs для того чтобы кинуть на форму дерево (TreeView), табы (TabControl), кнопки и текст. И чтобы это выглядело нормально в Lin\Win?

 ,

AntonyRF
()

Rust - slice и кое-что ещё

Всем здравствуйте! Стыдно признаться, но сейчас понял, что я не знаю как получить f32 из slice взятого от Vec<u8>. В общем, история такая, использую crate serial, читаю от сферического прибора в вакууме данные, согласно сниферу тут всё отлично:

    let mut buf: Vec<u8>;
    let res = port.read(&mut buf[..]);

И я знаю, что мне приходит пакет следующего содержания:

01 04 04 00 05 92 fe 07 65

И что кусок <00 05 92 fe> - это f32. Так вот, как это засунуть то в f32?! Лучшее что пришло в голову - это

    let x: f32 = &buf[3..7] as f32;
    println!("V1: {}", x);
Но к сожалению не катит =\

 

AntonyRF
()

RUST, PROXY и установка

Всем привет, чёта я не осилил установку rust. На работе proxy с аутентификацией, так и не понял как её указать для rust. Установка вроде прошла, но вызов rustc приводит к следующему:

#rustc
error: no default toolchain configured

Перемещено tailgunner из development

 ,

AntonyRF
()

CAD для алюминиевого конструкционного профиля

Всем привет! Попросили родственники сколхозить инкубатор для разных птичек. Вроде, понятно, что можно взять OPI Zero установить в него ArmBian + пару штук МК Atmeg'a для контроля двигателями и приборной доской. Даже как бы и понятно, что можно сделать сам коробок 1м*1м*1м из алюминиевого конструкционного профиля. Но очень лень рассчитывать коробок ручками на бумаге, ведь помимо самого короба, нужно придумать лоток который будет переворачивать яйца разного размера (куриные, утиные, гусиные) и соответственно где его крепить и как его крутить. Вспоминаю, как в универе делали какие-то шестерёнки в компас3д, но я тогда много пива пил и после с CAD меня жизнь не сталкивала. Возможно, Вы подскажете аналог компаса для линукса и чтобы не надо было тратить много времени на освоение этой тулзлы для моей задачи. И чтобы в 3д можно было покрутить всё это дело. Всем спасибо.

 

AntonyRF
()

RSS подписка на новые темы