После резервного копирования (шага 1) и размонтирования (между 2 и 3), выполненный fsck
чтобы гарантировать, что файловая система здорова:
e2fsck -f /dev/mapper/ExistingExt4
Кроме этого, шаги в порядке.
что я должен выбрать за $SECTORS? Этот шаг даже необходим?
Этот шаг необходим, иначе раздел все еще обнаружился бы в старой стороне. Это подтверждено с Наутилусом, даже после изменения размеров с Этот шаг не необходим. Это только влияет на текущее состояние размера как показано в файловом браузере. После изменения размера и закрытия/открытия раздела снова, восстанавливается число. Так, когда закрытие раздела LUKS как показано позже сделает это устаревшим.resize2fs
, раздел LUKS обнаружился как старый размер. После выполнения cryptsetup resize
, корректное число показывают.
$SECTORS
может быть определен путем рассмотрения вывода cryptsetup status ExistingExt4
:
/dev/mapper/ExistingExt4 is active. type: LUKS1 cipher: aes-cbc-essiv:sha256 keysize: 256 bits device: /dev/sda2 offset: 2056 sectors size: 156049348 sectors mode: read/write
Один сектор всегда - 512 байтов (упомянутый в cryptsetup
страница руководства). Таким образом, для вычитания 15 гибибайт используйте размер сектора 156049348 - 15 * 1024 * 1024 * 2 = 124592068
:
cryptsetup resize ExistingExt4 -b 124592068
Что касается изменения размеров раздела, parted
хорошо работает с разделами GPT. resize
команда не работает однако, как обходное решение (или решение), удаляет информацию о разделе и создает новый раздел, как вдохновлено http://ubuntuforums.org/showthread.php?p=8721017#post8721017:
# cryptsetup luksClose ExistingExt4 # parted /dev/sda2 GNU Parted 2.3 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) unit s (parted) p Model: ATA INTEL SSDSA2CW08 (scsi) Disk /dev/sda: 156301488s Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 34s 2082s 2049s Boot bios_grub 3 2083s 250034s 247952s ext2 RootBoot 2 250035s 156301438s 156051404s Everything
Как 15 гибибайт должен быть сбрит, новый конец становится 156301438 - 15 * 1024 * 1024 * 2 = 124844158
. Так как я хочу изменить раздел 2, я сначала должен удалить его и затем воссоздать его с маркировать "Everything" (это могло быть изменено, если Вам нравится).Примечание: этот диск имеет расположение GPT. Для MBR необходимо заменить Everything
primary
или extended
(непротестированный, изменяя размер раздела на MBR не был протестирован и не рекомендуется, потому что он не тестируется).
ПРЕДУПРЕЖДЕНИЕ: следующие команды разрушили данные. Не копируйте его, не понимая то, что происходит. Размеры сектора должны быть изменены, иначе Вы уничтожите свой раздел (разделы). Я никоим образом не ответственен за Вашу глупость, РЕЗЕРВНОЕ РЕЗЕРВНОЕ КОПИРОВАНИЕ КОПИРУЮТ Ваши данные к второму носителю прежде, чем рискнуть Вашими данными.
(parted) rm 2 (parted) mkpart Everything 250035s 124844158s Warning: The resulting partition is not properly aligned for best performance. Ignore/Cancel? ignore (parted) p Model: ATA INTEL SSDSA2CW08 (scsi) Disk /dev/sda: 156301488s Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 34s 2082s 2049s Boot bios_grub 3 2083s 250034s 247952s ext2 RootBoot 2 250035s 124844158s 124594124s Everything (parted) quit
В вышеупомянутом parted
пример, мои секторы не выровненные, который является ошибкой от более ранней установки, не обращайте слишком много внимания на него.
Это - это! Можно использовать cryptsetup status
и file -Ls /dev/...
проверить, что все в порядке и затем перезагрузка.
Несколько опций.
Смотрите на эту названную страницу: загрузки Linux (Debian) - PostgreSQL. Можно или загрузить обновленный .deb с сайта непосредственно, или повторно указать на их репозиторий и сделать команду как это:
apt-get install postgresql-9.1
Вы можете находить определенные версии здесь, http://backports.debian.org/.
Можно загрузить двоичную сборку PostgreSQL и поместить, устанавливают его в корневом каталоге или /opt
например.
У меня нет большого опыта с ними, но Вы можете загружать один из них подобных универсальной версии, и использовать клиент от он - установка, как, действительно выведите свою базу данных.
Можно загрузить пакеты, которые были созданы так, чтобы они были агностиком распределения. Я просто загрузил 9.1.9 версии, и они действительно включают pg_dump
инструмент.
Программное обеспечение предоставлено или как .rpm или как .deb и устанавливает на /opt/postgres/9.1
. Конкретно pg_dump
инструмент обеспечивается здесь: /opt/postgres/9.1/bin/pg_dump
.
В моем случае у меня было два набора баз данных некоторая работа старой версии Postgresql 8.4 и другой работы версии 9.1. То, что я сделал, должно было расположиться pg_dump
в машине Linux с помощью locate
команда ниже
$ locate pg_dump
/usr/bin/pg_dump
/usr/bin/pg_dumpall
/usr/lib/postgresql/8.4/bin/pg_dump
/usr/lib/postgresql/8.4/bin/pg_dumpall
/usr/lib/postgresql/9.1/bin/pg_dump
/usr/lib/postgresql/9.1/bin/pg_dumpall
Начиная со значения по умолчанию /usr/bin/pg_dump
для версии 8.4 Postgresql, я просто указал /usr/lib/postgresql/9.1/bin/pg_dump
из командной строки при дампе от 9,1 баз данных, который работает на другом порте и он работал.
$ /usr/lib/postgresql/9.1/bin/pg_dump -p 5434
Обратите внимание, что при этом используется [1120949]pg_wrapper[1120950], которая поставляется с
postgresql-common
и работает с [1120953]Ubuntu[1120954] (Debian). Также обратите внимание, что кластер ([1120955]main[1120956] в примере) может отличаться в вашей установке.[1281]Больше информации о [1120957]pg_wrapper[1120958] можно найти в этом [1120959]ответе DBA[1120960].[1120597].
Сегодня я столкнулся с той же проблемой, и ответ Эрика кажется наиболее точным. Вероятно, проблема в том, что у вас разные версии postgresql-client, а pg_dump просто использует самый старый клиент.
Вы можете решить эту проблему, используя полный путь, как он описал, но я нашел более простое решение - удалить пакет postgresql-client-common (который удаляет всех клиентов), а затем переустановить postgresql-client-9.3. Это оставляет вам только последние версии pg_dump, которые, вероятно, вам нужны.
Другой вариант, который может вам подойти, это удалить старую параллельную версию:
на debian/ubuntu:
sudo apt-get remove postgresql-8.4
sudo apt-get remove postgresql-client-8.4
которая сохраняет более позднюю версию (например, 9.1), удаляя только старые версии 8.4 клиентских и серверных libs.
.
pg_dump
это является старым и несовместимым. Есть ли где-нибудь, я могу найти конкретно это? – supercheetah 25.05.2013, 22:11pg_dump
команда из там. Их не придется установить, просто непросмоленные в каталог. Вам, возможно, придется установить переменную среды для указания на каталог библиотеки, но это должно быть довольно прямым. – slm♦ 25.05.2013, 22:12