Я новичок в sqlite, я просто получил двоичный код sqlite, используя wget http://www.sqlite.org/sqlite-shell-linux-x86-3071300.zip
, а затем извлеките sqlite3 из zip-файла, он не работает, он сводит меня с ума, пожалуйста, ПОМОГИТЕ.
Моя ОС - Ubuntu 12.04 64-бит, шаги выполнения sqlite следующим образом,
u1@newhost:/tmp$ ls -hl sqli*
-rwxrwxr-x 1 u1 u1 568K Jun 11 17:35 sqlite3
-rw-rw-r-- 1 u1 u1 310K Jun 12 02:53 sqlite-shell-linux-x86-3071300.zip
u1@newhost:/tmp$ file sqlite3
sqlite3: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x8637c6613a485b675a05f155564cc0eda4b2d3cc, stripped
u1@newhost:/tmp$ ./sqlite3 mydb.db
-bash: ./sqlite3: No such file or directory
u1@newhost:/tmp$
По соображениям безопасности я удалил. из $ PATH, поэтому я просто использую ./sqlite3
для запуска
UPDATE BELOW:
таким образом работает для 32-битной версии Fedora 15
[root@newhostfedora15 ~]# ./sqlite3 test.db
SQLite version 3.7.13 2012-06-11 02:05:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .e
это также работает на CentOS 5.6 64-bit
, но НЕ работает для root на My Ubuntu 12.04 64-bit либо,
root@newhost:~# unzip sqlite-shell-linux-x86-3071300.zip
Archive: sqlite-shell-linux-x86-3071300.zip
inflating: sqlite3
root@newhost:~# ./sqlite3 f
-bash: ./sqlite3: No such file or directory
root@newhost:~# ldd ./sqlite3
not a dynamic executable
Я получил эту проблему как результат, он работает на Ubuntu 12.04 32-бит, CenetOS 5.6 64-бит, НЕ РАБОТАЕТ на 64-битном Ubuntu 12.04, 64-битный 64-битный 64-битный SQL-массив sqlite достаточно большой, хотя он не работает для каждой платформы , Я буду иметь в виду, что лучше всего скомпилировать мой собственный 64-битный двоичный файл из источника, или это будет потрясающе, если sqlite 64-битный двоичный файл предоставляется через официальный сайт: P
В Ubuntu (как и во многих других дистрибутивах Linux) предпочтительным способом установки программного обеспечения является использование инфраструктуры управления пакетами.
Например, для установки sqlite3
:
sudo apt-get update
sudo apt-get install sqlite3
это будет загружать официальную сборку sqlite Ubuntu и установить это в вашей системе. Таким образом, вам не нужно иметь дело с загрузкой самостоятельно или отладки проблем с несовместимыми двоичными версиями.
[Первая команда sudo apt-get update
просто загружает самый последний список доступных пакетов. Вам не нужно делать это каждый раз, когда вы хотите установить пакет]
Затем вы можете просто запустить sqlite3:
sqlite3
В случае, если вы действительно хочет запустить непакетированный двоичный код sqlite, вам нужно убедиться, что у вас есть все необходимые биты для вашего компьютера. Бинарный файл sqlite в архиве - это 32-разрядный динамически связанный исполняемый файл (как вы видели при запуске file
), поэтому нам понадобится хотя бы 32-разрядный динамический компоновщик плюс любые необходимые библиотеки.
Для динамического компоновщика нам нужна сборка i386
пакета libc6
. Вы можете установить это с помощью:
sudo apt-get install libc6:i386
Затем вы сможете запустить ldd
в двоичном формате, чтобы показать, какие другие библиотеки ему могут понадобиться. Например, в моей системе:
[jk@pablo sqlite]$ ldd ./sqlite3
linux-gate.so.1 => (0xf76f1000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf76c1000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf750d000)
/lib/ld-linux.so.2 (0xf76f2000)
Поскольку все эти библиотеки присутствуют (ldd
сообщит not found
, если что-то не хватает), мы должны быть в порядке, чтобы запустить команду sqlite3
.
В Ubuntu (как и во многих других дистрибутивах Linux) предпочтительным способом установки программного обеспечения является использование инфраструктуры управления пакетами.
Например, для установки sqlite3
:
sudo apt-get update
sudo apt-get install sqlite3
это будет загружать официальную сборку sqlite Ubuntu и установить это в вашей системе. Таким образом, вам не нужно иметь дело с загрузкой самостоятельно или отладки проблем с несовместимыми двоичными версиями.
[Первая команда sudo apt-get update
просто загружает самый последний список доступных пакетов. Вам не нужно делать это каждый раз, когда вы хотите установить пакет]
Затем вы можете просто запустить sqlite3:
sqlite3
В случае, если вы действительно хочет запустить непакетированный двоичный код sqlite, вам нужно убедиться, что у вас есть все необходимые биты для вашего компьютера. Бинарный файл sqlite в архиве - это 32-разрядный динамически связанный исполняемый файл (как вы видели при запуске file
), поэтому нам понадобится хотя бы 32-разрядный динамический компоновщик плюс любые необходимые библиотеки.
Для динамического компоновщика нам нужна сборка i386
пакета libc6
. Вы можете установить это с помощью:
sudo apt-get install libc6:i386
Затем вы сможете запустить ldd
в двоичном формате, чтобы показать, какие другие библиотеки ему могут понадобиться. Например, в моей системе:
[jk@pablo sqlite]$ ldd ./sqlite3
linux-gate.so.1 => (0xf76f1000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf76c1000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf750d000)
/lib/ld-linux.so.2 (0xf76f2000)
Поскольку все эти библиотеки присутствуют (ldd
сообщит not found
, если что-то не хватает), мы должны быть в порядке, чтобы запустить команду sqlite3
.
В Ubuntu (как и во многих других дистрибутивах Linux) предпочтительным способом установки программного обеспечения является использование инфраструктуры управления пакетами.
Например, для установки sqlite3
:
sudo apt-get update
sudo apt-get install sqlite3
это будет загружать официальную сборку sqlite Ubuntu и установить это в вашей системе. Таким образом, вам не нужно иметь дело с загрузкой самостоятельно или отладки проблем с несовместимыми двоичными версиями.
[Первая команда sudo apt-get update
просто загружает самый последний список доступных пакетов. Вам не нужно делать это каждый раз, когда вы хотите установить пакет]
Затем вы можете просто запустить sqlite3:
sqlite3
В случае, если вы действительно хочет запустить непакетированный двоичный код sqlite, вам нужно убедиться, что у вас есть все необходимые биты для вашего компьютера. Бинарный файл sqlite в архиве - это 32-разрядный динамически связанный исполняемый файл (как вы видели при запуске file
), поэтому нам понадобится хотя бы 32-разрядный динамический компоновщик плюс любые необходимые библиотеки.
Для динамического компоновщика нам нужна сборка i386
пакета libc6
. Вы можете установить это с помощью:
sudo apt-get install libc6:i386
Затем вы сможете запустить ldd
в двоичном формате, чтобы показать, какие другие библиотеки ему могут понадобиться. Например, в моей системе:
[jk@pablo sqlite]$ ldd ./sqlite3
linux-gate.so.1 => (0xf76f1000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf76c1000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf750d000)
/lib/ld-linux.so.2 (0xf76f2000)
Поскольку все эти библиотеки присутствуют (ldd
сообщит not found
, если что-то не хватает), мы должны быть в порядке, чтобы запустить команду sqlite3
.
В Ubuntu (как и во многих других дистрибутивах Linux) предпочтительным способом установки программного обеспечения является использование инфраструктуры управления пакетами.
Например, для установки sqlite3
:
sudo apt-get update
sudo apt-get install sqlite3
это будет загружать официальную сборку sqlite Ubuntu и установить это в вашей системе. Таким образом, вам не нужно иметь дело с загрузкой самостоятельно или отладки проблем с несовместимыми двоичными версиями.
[Первая команда sudo apt-get update
просто загружает самый последний список доступных пакетов. Вам не нужно делать это каждый раз, когда вы хотите установить пакет]
Затем вы можете просто запустить sqlite3:
sqlite3
В случае, если вы действительно хочет запустить непакетированный двоичный код sqlite, вам нужно убедиться, что у вас есть все необходимые биты для вашего компьютера. Бинарный файл sqlite в архиве - это 32-разрядный динамически связанный исполняемый файл (как вы видели при запуске file
), поэтому нам понадобится хотя бы 32-разрядный динамический компоновщик плюс любые необходимые библиотеки.
Для динамического компоновщика нам нужна сборка i386
пакета libc6
. Вы можете установить это с помощью:
sudo apt-get install libc6:i386
Затем вы сможете запустить ldd
в двоичном формате, чтобы показать, какие другие библиотеки ему могут понадобиться. Например, в моей системе:
[jk@pablo sqlite]$ ldd ./sqlite3
linux-gate.so.1 => (0xf76f1000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf76c1000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf750d000)
/lib/ld-linux.so.2 (0xf76f2000)
Поскольку все эти библиотеки присутствуют (ldd
сообщит not found
, если что-то не хватает), мы должны быть в порядке, чтобы запустить команду sqlite3
.
В Ubuntu (как и во многих других дистрибутивах Linux) предпочтительным способом установки программного обеспечения является использование инфраструктуры управления пакетами.
Например, для установки sqlite3
:
sudo apt-get update
sudo apt-get install sqlite3
это будет загружать официальную сборку sqlite Ubuntu и установить это в вашей системе. Таким образом, вам не нужно иметь дело с загрузкой самостоятельно или отладки проблем с несовместимыми двоичными версиями.
[Первая команда sudo apt-get update
просто загружает самый последний список доступных пакетов. Вам не нужно делать это каждый раз, когда вы хотите установить пакет]
Затем вы можете просто запустить sqlite3:
sqlite3
В случае, если вы действительно хочет запустить непакетированный двоичный код sqlite, вам нужно убедиться, что у вас есть все необходимые биты для вашего компьютера. Бинарный файл sqlite в архиве - это 32-разрядный динамически связанный исполняемый файл (как вы видели при запуске file
), поэтому нам понадобится хотя бы 32-разрядный динамический компоновщик плюс любые необходимые библиотеки.
Для динамического компоновщика нам нужна сборка i386
пакета libc6
. Вы можете установить это с помощью:
sudo apt-get install libc6:i386
Затем вы сможете запустить ldd
в двоичном формате, чтобы показать, какие другие библиотеки ему могут понадобиться. Например, в моей системе:
[jk@pablo sqlite]$ ldd ./sqlite3
linux-gate.so.1 => (0xf76f1000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf76c1000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf750d000)
/lib/ld-linux.so.2 (0xf76f2000)
Поскольку все эти библиотеки присутствуют (ldd
сообщит not found
, если что-то не хватает), мы должны быть в порядке, чтобы запустить команду sqlite3
.
В Ubuntu (как и во многих других дистрибутивах Linux) предпочтительным способом установки программного обеспечения является использование инфраструктуры управления пакетами.
Например, для установки sqlite3
:
sudo apt-get update
sudo apt-get install sqlite3
это будет загружать официальную сборку sqlite Ubuntu и установить это в вашей системе. Таким образом, вам не нужно иметь дело с загрузкой самостоятельно или отладки проблем с несовместимыми двоичными версиями.
[Первая команда sudo apt-get update
просто загружает самый последний список доступных пакетов. Вам не нужно делать это каждый раз, когда вы хотите установить пакет]
Затем вы можете просто запустить sqlite3:
sqlite3
В случае, если вы действительно хочет запустить непакетированный двоичный код sqlite, вам нужно убедиться, что у вас есть все необходимые биты для вашего компьютера. Бинарный файл sqlite в архиве - это 32-разрядный динамически связанный исполняемый файл (как вы видели при запуске file
), поэтому нам понадобится хотя бы 32-разрядный динамический компоновщик плюс любые необходимые библиотеки.
Для динамического компоновщика нам нужна сборка i386
пакета libc6
. Вы можете установить это с помощью:
sudo apt-get install libc6:i386
Затем вы сможете запустить ldd
в двоичном формате, чтобы показать, какие другие библиотеки ему могут понадобиться. Например, в моей системе:
[jk@pablo sqlite]$ ldd ./sqlite3
linux-gate.so.1 => (0xf76f1000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf76c1000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf750d000)
/lib/ld-linux.so.2 (0xf76f2000)
Поскольку все эти библиотеки присутствуют (ldd
сообщит not found
, если что-то не хватает), мы должны быть в порядке, чтобы запустить команду sqlite3
.
В Ubuntu (как и во многих других дистрибутивах Linux) предпочтительным способом установки программного обеспечения является использование инфраструктуры управления пакетами.
Например, для установки sqlite3
:
sudo apt-get update
sudo apt-get install sqlite3
это будет загружать официальную сборку sqlite Ubuntu и установить это в вашей системе. Таким образом, вам не нужно иметь дело с загрузкой самостоятельно или отладки проблем с несовместимыми двоичными версиями.
[Первая команда sudo apt-get update
просто загружает самый последний список доступных пакетов. Вам не нужно делать это каждый раз, когда вы хотите установить пакет]
Затем вы можете просто запустить sqlite3:
sqlite3
В случае, если вы действительно хочет запустить непакетированный двоичный код sqlite, вам нужно убедиться, что у вас есть все необходимые биты для вашего компьютера. Бинарный файл sqlite в архиве - это 32-разрядный динамически связанный исполняемый файл (как вы видели при запуске file
), поэтому нам понадобится хотя бы 32-разрядный динамический компоновщик плюс любые необходимые библиотеки.
Для динамического компоновщика нам нужна сборка i386
пакета libc6
. Вы можете установить это с помощью:
sudo apt-get install libc6:i386
Затем вы сможете запустить ldd
в двоичном формате, чтобы показать, какие другие библиотеки ему могут понадобиться. Например, в моей системе:
[jk@pablo sqlite]$ ldd ./sqlite3
linux-gate.so.1 => (0xf76f1000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf76c1000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf750d000)
/lib/ld-linux.so.2 (0xf76f2000)
Поскольку все эти библиотеки присутствуют (ldd
сообщит not found
, если что-то не хватает), мы должны быть в порядке, чтобы запустить команду sqlite3
.
apt-get isntall sqlite3
работает :-), но я не могу понять, почему он не работает в прямом двоичном способе установки. Я попробую это на Fedora и CentOS позже.
– vicd
13 June 2012 в 19:11
ldd
, чтобы проверить мой 64-разрядный бит Ubuntu 12.04.
– vicd
13 June 2012 в 19:42
ldd ./sqlite3
результат: не динамический исполняемый файл, см. обновление моего сообщения, я проверяю, работает ли он на Ubuntu 12.04 32-bit, OOOOOMMMGGG
– vicd
13 June 2012 в 19:52