Как понизить vlc до стабильной версии?

Безымянные области могут быть созданы с помощью достаточно большого malloc:

#include <sys/types.h>    
#include <stdlib.h>
#include <unistd.h>

int main(void)
{
    int *ip;
    char *before, *after;

    asprintf(&before, "cat /proc/%d/smaps > before", getpid());
    asprintf(&after, "cat /proc/%d/smaps > after", getpid());

    system(before);

    ip = malloc(9999999);
    if (!ip) abort();

    system(after);
    return 0;
}

Как показано

$ CFLAGS=-g make ilikebigmallocs
cc -g    ilikebigmallocs.c   -o ilikebigmallocs
$ ./ilikebigmallocs 
$ diff before after
64a65,80
> 7f97425ac000-7f9742f36000 rw-p 00000000 00:00 0 
> Size:               9768 kB
> Rss:                   4 kB
...

, по крайней мере, некоторые из ваших областей были созданы malloc или аналогичный (который под капотом вызывает mmap). strace (или sysdig) может регистрировать следующее:

$ strace -e trace=memory -o blah ./ilikebigmallocs
$ awk '/^mmap/{print $NF}' blah
0x7fc6193b1000
0x7fc6193a6000
...
$ grep 7fc6193b1000 after
7fc6193b1000-7fc6193b2000 rw-p 00000000 00:00 0 
$ 

Я думаю, вы могли бы использовать gdb или трассировщик malloc или другие средства для разрешения конкретной mmap создайте резервную копию определенного кода в вашем требовательном к памяти процессе...

1
06.11.2016, 14:45
3 ответа

Удалите vlc 2.2.4

sudo apt-get remove vlc

Загрузите Vlc 2.2.0 из здесь :

wget ftp://ftp.videolan.org/pub/videolan/vlc/2.2.0/vlc-2.2.0.tar.xz

Установите build-essential и заголовки linux ...:

sudo apt-get install build-essential linux-headers-$(uname -r)
sudo apt-get install git libtool pkg-config autoconf
sudo apt-get install lua5.2 liblua5.2-dev
sudo apt-get build-dep vlc

install vlc 2.2.0

tar xf vlc-2.2.0.tar.xz
cd vlc-2.2.0
./bootstrap
./configure
make
sudo make install

Edit

Некоторую полезную информацию можно найти здесь: wiki.videolan: UnixCompile

0
28.01.2020, 01:11

Вы можете пойти в официальный репозиторий пакетов Debian, скачать любую версию любого пакета, который вы хотите, и установить его вручную с помощью dpkg.

Я только что проверил, и стабильная версия там в настоящее время 2.2.4-1, что кажется мне странным, потому что она не может быть стабильнее, чем стабильное хранилище Debian.

Итак, скачайте его в соответствии с вашей архитектурой и установите его с помощью dpkg -i. Например, для 64bits:

sudo dpkg -i vlc_2.2.4-1-deb8u1_amd64.deb
1
28.01.2020, 01:11

Попробуйте этот :тип apt show -a vlc | grep ^Version. Вы получите две вещи:

  1. Предупреждение о том, что не существует «стабильного интерфейса командной строки», что, как я полагаю, означает, что будущие версии apt могут работать иначе, чем текущие версии (, если я ошибаюсь, кто-нибудь оставьте комментарий ). Вы должны помнить об этом.

  2. Он покажет вам все версии, которые вы можете установить. Предполагая, что 2.2.0 присутствует, вы сможете запуститьsudo apt install vlc=2.2.0-something(заменить «что-то» на то, что говорит apt ), и ваш компьютер понизится. После этого вы можете пометить vlc как «удерживаемый» пакет, чтобы предотвратить его обновление в будущем. Вы можете сделать это с помощью apt-mark hold vlc.

Если у вас возникнут какие-либо проблемы с зависимостями пакетов, запуск sudo aptitudeпредоставит вам интерактивную программу, которая поможет решить эти проблемы. Возможно, вам придется установить aptitude с sudo apt install aptitude.

Если версии 2.2.0 нет, вы не сможете установить vlc из apt (при использовании графического интерфейса, указанный графический интерфейс, вероятно, использует apt в качестве серверной части ). К счастью, есть и другие способы его установки. Как указал пользователь GAD3R, вы можете скомпилировать из исходного кода, используя шаги (и ), которые он уже указал. Или вы можете установить vlc с помощью snap или flatpak, но я считаю, что обе системы упаковки немного раздуты.

Вы также можете установить образ приложения на свой компьютер. Это так же просто, как A )загрузить файл, B )сделать его исполняемым )и C )запустить его. После быстрого поиска в Интернете мне удалось найти два образа приложения:2.2.8 и 3.0.0 . *СЛЕДУЕТ *безопасно устанавливать обе одновременно, чтобы вы могли видеть, какие из них работают, а какие нет. На всякий случай вам, вероятно, следует сначала установить 2.2.8, а затем попробовать 3.0.0, так как они могут иметь несовместимые настройки. К сожалению, оба изображения являются образами amd64, поэтому вы не сможете использовать их в 32-битной --битной ОС.

0
28.01.2020, 01:11

Теги

Похожие вопросы