LINUX.ORG.RU

Сообщения zamazan4ik

 

Порядок вычисления выражения в msvc c++

Форум — Development

Доброго дня всем. Понимаю, что компил оффтопик, но всё же. Пусть у нас есть выражение a = foo() + bar();

Известно, что стандарт плюсов не регулирует, какая функция выполниться раньше - порядок вычисления тут неопределён.

Но мне сказали, что именно в компиле вижлы считается слева направо и нет никакой неопределенности. Так ли это?

 

zamazan4ik
()

QProcess и gcc -v

Форум — Development

Здравствуйте! Сабж - как мне получить вывод gcc -v через QProcess.То что ниже - не работает. Также пробовал вызывать /bin/sh, а потом передавать аргументы - тоже не работает.

QProcess proc;
proc.start("gcc -v");
proc.waitForFinished();
qDebug() << proc.readAll();

Само собой, в консоли всё работает.

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.9/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.9.3-8ubuntu2~14.04' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.9.3 (Ubuntu 4.9.3-8ubuntu2~14.04)

Проблема не только с gcc, но и clang, который в консоли тоже работает.

 , ,

zamazan4ik
()

Корутины в C++17

Форум — Development

Всем хорошего кода!

Прочитал на Хабрахабре статью о предстоящих корутинах в C++17. Ознакомьтесь с ней, кому интересно :

https://habrahabr.ru/post/278267/

Так вот, там такая неплохая критика proposal о корутинах.

Я не специалист в C++, но мне интересно, что думает каждый по поводу корутин : лучше С#-подобный вариант или всё же Boost. Coroutine?

Перемещено leave из talks

 ,

zamazan4ik
()

Google Summer Of Code 2016

Форум — Talks

Доброго времени суток.

Собственно стоит ли попробовать свои силы в сабже? У кого какой может опыт есть?

Просто реально стоит вопрос, чем заняться летом. На стажировку не берут(Беларусь, Минск). А поучаствовать в реальном проекте и узнать что-то новое всегда интересно. Плюс поработать с другими людьми. Для меня особенно важен опыт, так как его банально нет.

Кто что думает?

 , ,

zamazan4ik
()

Сочетание различных библиотек C++

Форум — Development

Здравствуйте, ЛОРчане.

Из того, с чем я работаю и учусь работать, в повседневной жизни я часто сталкиваюсь с 3 библиотеками : STL, Qt, Boost. Так получается, что функциональность у них в некоторых вопросах пересекается, взять хотя бы те же потоки(boost.pthread, std::thread, QThread).

Так вот, чему отдавать предпочтение? То есть допустим, что так получается, что в проекте нужно использовать эти 3 либы(пусть предположим, что от буста возьмём Graph, от культи интерфейсы как мимнимум, да и много чего там вкусного есть, ну от STL я так думаю можно тоже чего-нибудь взять).

В своём проекте я часто сталкиваюсь с ситуацией, что надо что-то выбирать из STL или из Qt : std::string vs QString, std::vector vs QVector. Но я не могу выработать правильную стратегию, когда и что стоит применять? Стоит ли, если используешь Qt, стараться по максимуму её юзать? Или стоит писать на смеси STL и Qt? Это касается естественно не только этих либ, но и других.

Как правильно поступают в таких ситуациях?

 , ,

zamazan4ik
()

Правильная установка системы на USB-накопитель

Форум — General

Приветствую всех. Есть проблема с установкой системы на USB-накопитель, а точнее проблемы со скоростью работы.

Итак, имеется флешка на 16 гигов USB3.0, скорость чтения примерно 80 мб\сек, а вот записи всего лишь 5 мб\сек.

Так как я решил сделать систему переносную такую же/. как и на десктопе, то накатил Linux Mint 17.3 KDE. Но вся эта радость жутко тормозит. Оно и понятно : много операций записи на флешку.

Вопрос : как это всё максимально соптимизировать, чтобы работало как можно быстрее? Что я уже сделал : прописал в /etc/fstab для раздела noatime, nodiratime, вроде как работает чуть шустрее.

Надо как-то как можно больше вещей держать в ОЗУ. Что для этого требуется? Какие ещё оптимизации предложите?

 ,

zamazan4ik
()

Константы в Python

Форум — Development

ДОброго времени суток.

Соббсно, сабж. Возможно константу замутить здесь?

 

zamazan4ik
()

Требования к использованию Visual Studio в университете

Форум — Talks

Здравствуйте, ЛОРчане. Хотелось бы услышать Ваше мнение по этому поводу и рекоменадции, что делать.

Я являюсь студентом 1ого курса в университете. Специальность Программное обеспечение информационных технологий. Типа программист. Но все предметы, что подразумевают использование компа, имеются в виду, что на них установлено ПО майков : винда, вижла, майкрософт офис.

Я соскочил с винды уже как два года. Я пытался говорить с преподавателями, что мол есть иные ОС, где тоже можно работать, и то, что там нет студии, ничего не значит(хоть и стоит признать, что IDE хорошая всё-таки эта студия). Но всегда наталкивался на стену непонимания : задания жёстко заточены под студию. Например, по языкам программирования. В задании доходит вплоть до того, что «нажмите ту кнопку в вижле, там выскочит окошко, и там нажмите ещё одну кнопку», чтобы получить какой-то результат.

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

На ответ мол винды нет и платить за неё как-то не хочется ну совсем следует два ответа :1) Твои проблемы, у всех же есть 2)Ставь пиратку и не выноси мозг мне

Как жить дальше то так?

 , ,

zamazan4ik
()

Мечты по поводу switch

Форум — Development

Здравствуйте, ЛОРчане.

Итак, кресты развиваются : тут нам в стандарте и модули обещают, и Concepts Lite, и STLv2.0 (не уверен, что это в 17 стандарте), и много каких либ новых.

А скажите пожалуйста, что насчёт свича? Всегда он будет работать только по всяким интам, чарам и енумам? Просвятите, в чём проблема использовать свич для других типов, если для них определена операция operator==() ? А то неудобно ну до жути : вот сейчас пишу код. Имеется массив строк, и пока бежим по строке, в зависимости от текущей, дергается какой-нибудь метод класса.

Согласитесь, так и просится switch. Но нет, приходится изголяться : можно хеш посчитать, и по хешу уже свич пускать. Может быть как-то можно записать пары <Строка, Метод класса>. То есть, одни извраты.

У кого какие мысли? С радостью выслушаю гуру.

 ,

zamazan4ik
()

По поводу архитектуры проекта

Форум — Development

Всем хорошего настроения!

Имеется простая прога, в ней есть главное окно, окно настроек, About program, класс трея. У них есть общие данные.

Вопрос : как правильно расшарить данные между всеми этими окнами. Каждое окно - отдельный класс. Мне стоит сделать какой-нибудь главный класс Backend, где и будут лежать все общие данные? Но не будет ли он слишком сильно заграмождён?

 

zamazan4ik
()

Добавление видеопамяти за счёт оперативной

Форум — General

Доброго времени суток.

Итак, имеется ПК с двумя системами : минт 17.3 и оффтопик 7 ультимейт едишн. На нём стоит 4 гб рамы и карточка невидия 460 с 1 гб видеопамяти. Проц стоит Intel Core 2 Duo 3.2 ГГц, значит видеокарта только одна в системе.

Встала задача, что 1 гб видепамяти маловато стало. Я слышал когда-то от кого-то, что можно расширить обьём видеопамяти за счёт оперативной путём каких-то диких шаманств. Реально ли это? Если да, то как это сделать?

Возможно, я порю дикую чушь - в этом вопросе вообще не разбираюсь.

 ,

zamazan4ik
()

kdesudo в какой кодировке возвращает символы

Форум — Development

Хорошего кода всем! Краткий вопрос по сабжу : как отобразить правильно QProcess.readAll(), чтобы без кракозябр? Консоль в UTF-8(echo $LANG == ru_RU.UTF-8). Просто выводить QByteArray не работает, конвертирование в QString тоже не срабатывает.

Испытывались также в рабочей консоли, не в эмуляторе - эффект одинаков. sh заменялся на bash - эффект одинаков. На компе только кеды.

Кто ещё чего посоветует?

 ,

zamazan4ik
()

Правильная организация текстовых полей с возможностью их перевода

Форум — Development

Здравствуйте все, кто читает сие.

Сабж : имеется прилога, к полям есть подписи(когда мышом наводишь на QLabel, то снизу появляется окно поясняющее). Подписи довольно большие как по мне, и поэтому разумно их хранить в каком-то файле, а при загрузке просто подгружать в нужные переменные и всё, а не хранить всё это разбросанным по исходнику.

Что я придумал : сделаем файл, который всё это будет хранить, потом парсер будет подгружать всё это в нужные места программы и всё будет вроде как работать. Файл будем хранить прямо в самом бинарнике, благо qt позволяет это легко сделать.

Но у меня возникло несколько вопросов: 1) А какие есть другие способы реализации того, что я описал выше? А то чую, что велосипед это дикий.

2) Как при таком хранении строк реализовать перевод посредством tr() из qt? tr() работает с файлами-ресурсами проекта?

Жду дельных предложений. Заранее спасибо.

 ,

zamazan4ik
()

Человеческий способ генерации справки в Qt

Форум — Development

Доброго здоровьица, лорчане.

Собственно, сабж. Итак, как я понял, создание справки в Qt стартует с создания .qhp файла\ов, из которых потом мы генерируем с помощью qhelpgenerator иные файлы, которые уже можем открывать в Qt Assistant, а сам ассистант уже можем встроить в прилогу.

Но вопрос - как именно генерируется сам этот .qhp файл? Руками что ли?

 , ,

zamazan4ik
()

Как организовать запрос root прав при сохранении файла qt

Форум — Development

Доброго времени суток и с Новым годом, форумчане.

У меня есть приложение, писаное на qt5, которому могут понадобиться root права при сохранении файла. То есть пользователь сам выбирает в QFileDialog::getSaveFileName(), куда ему сохранять. И если выберет что-то типа в /etc, то ему могут потребоваться root права.

Так вот, как это организовать? То есть запрос root прав должен происходить именно тогда, когда пользователь выберет путь сохранения, по которому без рута нельзя. Кто что посоветует? Есть ли какие-нибудь готовые механизмы для этого?

 , ,

zamazan4ik
()

Настройка потребления памяти при компиляции

Форум — Development

Здравствуйте, уважаемые форумчане. Нашёл вот исходник игры Жизнь во время компиляции: https://github.com/sirgal/compile-time-game-of-life/blob/master/main.cpp

#include <iostream>
#include <tuple>

using namespace std;

struct O { };   // dead
struct X { };   // alive

// starting level
using start = tuple<
                    O, O, O, O, O,
                    O, O, X, O, O,
                    O, O, O, X, O,
                    O, X, X, X, O,
                    O, O, O, O, O
                    >;
// field dimensions
const int width  = 5;
const int height = 5;
// iterations of the game
const int iterations = 20;

const int point_count = width*height;
static_assert( point_count == tuple_size<start>(), "Dimension mismatch!" );

// helper functions to determine whether the point is alive or dead
template <typename T>
constexpr bool is_alive();

template<>
constexpr bool is_alive<O>()
{ return false; }

template<>
constexpr bool is_alive<X>()
{ return true; }

// print O or X, based on element type
template <typename Type>
void print();

template<>
void print<O>()
{ cout << "O"; }

template<>
void print<X>()
{ cout << "X"; }

// helper functions to determine borders of a gaming field
constexpr bool is_top( int N )
{ return N < width; }
constexpr bool is_bot( int N )
{ return (N + width) >= point_count; }
constexpr bool is_left( int N )
{ return N % width == 0; }
constexpr bool is_right( int N )
{ return (N + 1) % width == 0; }

// count alive elements in a tuple
template <typename tuple, int N>
struct tuple_counter
{
    constexpr static int value = is_alive<typename tuple_element<N, tuple>::type>()
                                 + tuple_counter<tuple, N-1>::value;
};

template <typename tuple>
struct tuple_counter<tuple, 0>
{
    constexpr static int value = is_alive<typename tuple_element<0, tuple>::type>();
};

// print the game field nicely
template <typename tuple, int N>
struct Printer {
    static void print_tuple()
    {
        Printer<tuple, N-1>::print_tuple();
        if( N % width == 0 ) cout << endl;
        print<typename tuple_element<N, tuple>::type>();
    }
};

template <typename tuple>
struct Printer<tuple, 0> {
    static void print_tuple()
    {
        print<typename tuple_element<0, tuple>::type>();
    }
};

// game rules that determine next point state
template <typename point, typename neighbors>
struct calc_next_point_state
{
    constexpr static int neighbor_cnt =
            tuple_counter<neighbors, tuple_size<neighbors>() - 1>::value;

    using type =
        typename conditional <
            is_alive<point>(),
            typename conditional <
                (neighbor_cnt > 3) || (neighbor_cnt < 2),
                O,
                X
            >::type,
            typename conditional <
                (neighbor_cnt == 3),
                X,
                O
            >::type
        >::type;
};

// the main level grid
template <typename initial_state>
struct level
{
    template <int N>
    using point = typename tuple_element<N, initial_state>::type;

    template <int N>
    using neighbors = tuple
    <
    // maybe these aren't completely correct, needs checking
    // left
    point< is_left(N) ? (N + width - 1) : (N - 1) >,
    // right
    point< is_right(N) ? (N - width + 1) : (N + 1) >,
    // top
    point< is_top(N) ? (point_count - width + N) : (N - width) >,
    // top-left
    point< (N == 0) ? (point_count - 1) : (is_left(N) ? (N - 1) : ( is_top(N) ? (point_count - width + N - 1) : (N - width - 1)) ) >,
    // top-right
    point< (N == (width-1)) ? (point_count - width) : (is_right(N) ? (N - width*2 + 1) : ( is_top(N) ? (point_count - width + N + 1) : (N - width + 1)) ) >,
    // bottom
    point< (N + width >= point_count) ? (N + width - point_count) : (N + width) >,
    // bottom-left
    point< (N == (point_count - width)) ? (width - 1) : (is_left(N) ? (N + width*2 - 1) : (is_bot(N) ? (N + width - point_count - 1) : (N + width - 1))) >,
    // bottom-right
    point< (N == (point_count - 1)) ? (0) : ((N+1) % width == 0 ? (N+1) : (is_bot(N) ? (N + width - point_count + 1) : (N+width+1)) )>
    >;

    template <int N>
    using next_point_state = typename calc_next_point_state<point<N>, neighbors<N>>::type;
};

// concatenate two tuples into one
template <typename tuple_1, typename tuple_2>
struct my_tuple_cat
{
    using result = decltype( tuple_cat( declval<tuple_1>(), declval<tuple_2>()  ) );
};

// get the next gaming field tuple
template <typename field, int iter>
struct next_field_state
{
    template<int N>
    using point = level<field>::next_point_state<N>;

    using next_field = typename my_tuple_cat <
                                    tuple< point<point_count - iter> >,
                                    typename next_field_state<field, iter-1>::next_field
                                >::result;
};

template <typename field>
struct next_field_state<field, 1>
{
    template<int N>
    using point = level<field>::next_point_state<N>;

    using next_field = tuple< point<point_count - 1> >;
};

// calculate the game and print it
template <typename field, int iters>
struct game_process
{
    static void print()
    {
        Printer< field, point_count - 1 >::print_tuple();
        cout << endl << endl;
        game_process< typename next_field_state<field, point_count>::next_field, iters-1 >::print();
    }
};

template <typename field>
struct game_process<field, 0>
{
    static void print()
    {
        Printer< field, point_count - 1 >::print_tuple();
        cout << endl;
    }
};

int main()
{
    game_process< start, iterations >::print();

    return 0;
}

Итак, теперь пытаемся скомпилить эту радость. При увеличении размерности поля до 7 на 7, g++ на лине просто отжирает 10 гигов рамы и уходит в свап. и компилит всю эту радость очень долго. на оффтопике вижла компилит за секунд 5 и отжирает максимум 400мб рамы.

ЧЯДНТ?

 , , ,

zamazan4ik
()

Кто чего ожидает от C++17 ?

Форум — Talks

Доброго времени суток всем форумчанам.

Хотелось бы услышать от Вас раздумий на данную тему : как вы считаете, что войдет в стандарт 17 плюсовый, а что отложат на потом? Все ли фичи нужны или язык на помойку отправить пора(ведь есть же всякие D и Rust)?

Чего я жду от 17 стандарта:

  1. Модули (ибо классная вещь, но скорее всего их не введут так быстро)
  2. Концепты (точнее Concepts Lite - очень удобная вещь для обобщённого программирования. Вроде как должны успеть в этом стандарте)
  3. Нормальный менеджер пакетов - вот об этом ни слуху, ни духу. Вообще такое планируется хоть когда-нибудь? А то у питонщиков имеются всякие pip, а мы чем хуже?
  4. Нормальную стандартную библиотеку с модулями для файловых систем, работы по сети и так далее - вроде как работы ведутся в этом направлении, но когда ожидать результатов - неизвестно.

И да, плюсы ещё долго будут жить. ИМХО, естественно.

 , , ,

zamazan4ik
()

Правильно сконфигурировать локальную сеть

Форум — General

Здравствуй, ЛОР. Стоит очень интересный вопрос. И я не знаю. как такое реализовать.

Есть ПК под управлением оффтопик 7 максимальная, 2 смартфона под управлением андрюша 2.3.3, 1 смарт андрюша 4.4.1, и ещё 1 под управлением андрей 5.1.1. Ещё имеется ноут под управлением linux mint 17.2 KDE.

Проблема в том, что не имеется дома в наличии wi-fi роутера, и купить пока возможности нет. И я хочу настроить локалку через смартфон под управлением Android 5.1.1(Sony Xperia Z1 Compact, если это имеет значение).

Сеть по моему представлению должна выглядеть такой : Sony Xperia Z1 Compact подключается по USB шнурку к системнику под управлением Windows 7, на которой находится файлопомойка. На соньке настраивается wi-fi точка доступа. И те, кто приконнектиться к этой точке доступа, должны иметь доступ к расшареным ресурсам на файлопомойке под управлением шиндоус и к интернет-подключению шиндоус.

Вот, как то так. В какую сторону мне копать? Если через шиндоус это никак не сделать, то имеется возможность накатить туда минт, если через него такое можно сделать?

Кто что посоветует?

 , , , ,

zamazan4ik
()

Отключение чудо-баго-фичи подсветки в Qt Creator

Форум — Development

Здравствуйте. Кто знает, как отключить такое поведение креатора : что когда строка с ошибкой, то в ней пропадают скобки.

Где это настраивается? Кто выключал уже?

P.S. Есть нормальный плагин на табы в креаторе?

 , ,

zamazan4ik
()

remove хочет стереть всю систему

Форум — General

Проблема, выручайте.

пытаюсь удалить старый boost из системы, но вместе с ним хочет снестись весь мой mint. Как так?

sudo apt-get --purge remove libboost-*
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  kde-artwork-active kde-baseapps ksplash-theme-active kwrite libcr0
  libdeclarative-multimedia libhwloc-dev libhwloc5 libibverbs-dev libibverbs1
  libnepomukdatamodel0 libopenmpi-dev libopenmpi1.6 libpci-dev
  libqtmultimediakit1 libqtwebkit-qmlwebkitplugin libreoffice-l10n-ru
  libtorque2 libxml2-dev mpi-default-bin mpi-default-dev openmpi-bin
  openmpi-common plasma-active-data plasma-active-metadatamodels
  plasma-active-mobilecomponents share-like-connect share-like-connect-data
  startactive-data
Для их удаления используйте «apt-get autoremove».
Пакеты, которые будут УДАЛЕНЫ:
  akonadi-facebook* akonadi-kde-resource-googledata* akonadi-server* aptitude*
  deluge* deluge-gtk* encfs* kde-config-telepathy-accounts*
  kde-plasma-desktop* kde-telepathy* kde-telepathy-auth-handler*
  kde-telepathy-contact-list* kde-telepathy-declarative*
  kde-telepathy-desktop-applets* kde-telepathy-filetransfer-handler*
  kde-telepathy-integration-module* kde-telepathy-minimal*
  kde-telepathy-send-file* kde-telepathy-text-ui* kde-workspace*
  kde-workspace-bin* kdepim-runtime* kdeplasma-addons* knotes* kontact*
  konversation* korganizer* kscreensaver* libboost-atomic1.55-dev*
  libboost-atomic1.55.0* libboost-chrono1.55-dev* libboost-chrono1.55.0*
  libboost-context1.55-dev* libboost-context1.55.0*
  libboost-coroutine1.55-dev* libboost-date-time1.54.0*
  libboost-date-time1.55-dev* libboost-date-time1.55.0*
  libboost-exception1.55-dev* libboost-filesystem1.55-dev*
  libboost-filesystem1.55.0* libboost-graph-parallel1.55-dev*
  libboost-graph-parallel1.55.0* libboost-graph1.55-dev* libboost-graph1.55.0*
  libboost-iostreams1.54.0* libboost-iostreams1.55-dev*
  libboost-iostreams1.55.0* libboost-locale1.55-dev* libboost-locale1.55.0*
  libboost-log1.55-dev* libboost-log1.55.0* libboost-math1.55-dev*
  libboost-math1.55.0* libboost-mpi-python1.55-dev* libboost-mpi-python1.55.0*
  libboost-mpi1.55-dev* libboost-mpi1.55.0* libboost-program-options1.54.0*
  libboost-program-options1.55-dev* libboost-program-options1.55.0*
  libboost-python1.55-dev* libboost-python1.55.0* libboost-random1.55-dev*
  libboost-random1.55.0* libboost-regex1.55-dev* libboost-regex1.55.0*
  libboost-serialization1.54.0* libboost-serialization1.55-dev*
  libboost-serialization1.55.0* libboost-signals1.55-dev*
  libboost-signals1.55.0* libboost-system1.54.0* libboost-system1.55-dev*
  libboost-system1.55.0* libboost-test1.55-dev* libboost-test1.55.0*
  libboost-thread1.54.0* libboost-thread1.55-dev* libboost-thread1.55.0*
  libboost-timer1.55-dev* libboost-timer1.55.0* libboost-wave1.55-dev*
  libboost-wave1.55.0* libboost1.55-all-dev* libboost1.55-dev*
  libboost1.55-tools-dev* libkolab0* libkolabxml1* libkpeople3*
  libktpcommoninternalsprivate7* libreoffice-avmedia-backend-gstreamer*
  libreoffice-base* libreoffice-base-core* libreoffice-base-drivers*
  libreoffice-calc* libreoffice-core* libreoffice-draw* libreoffice-gtk*
  libreoffice-help-en-us* libreoffice-help-ru* libreoffice-impress*
  libreoffice-math* libreoffice-ogltrans* libreoffice-pdfimport*
  libreoffice-presentation-minimizer* libreoffice-sdbc-firebird*
  libreoffice-sdbc-hsqldb* libreoffice-writer* libtorrent-rasterbar8*
  mint-artwork-common* mint-artwork-kde* mint-configuration-kde*
  mint-meta-kde* mintsystem* mythes-ru* plasma-dataengines-workspace*
  plasma-desktop* plasma-netbook* plasma-widgets-addons*
  plasma-widgets-workspace* python-libtorrent* tasksel* tasksel-data*
  ubuntu-system-adjustments*
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 125 пакетов, и 0 пакетов не обновлено.
После данной операции, объём занятого дискового пространства уменьшится на 553 MB.
Хотите продолжить? [Д/н]

 , ,

zamazan4ik
()

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