Страницы

Поиск по вопросам

Показаны сообщения с ярлыком установка. Показать все сообщения
Показаны сообщения с ярлыком установка. Показать все сообщения

суббота, 11 апреля 2020 г.

Установка Ubuntu по сети

#установка #ubuntu

                    
Доброе время суток!Подскажите, пожалуйста, как поставить линукс (желательно Ubuntu)
по сети? Желательно чтобы было от А до Я.На гугл отправлять не надо - искал не только
там. Находил, пробовал, но все как-то не получалось.Дошел до того, что клиент цепляется
к DHCP, но далее выдавало вроде PXE-T01: File not found.Но затем несколько ковыряний
- и опять не могу подцепиться по DHCP.Пробовал кучу вариантов, поэтому сейчас куча
разных настроек - какие нужны, какие нет - не знаю. Т.е. советы типа - "в этом месте
вставьте такую-то строчку" уже не помогут.Заранее спасибо)Стоит Ubuntu 12.04.UPD: Как
я ставил (Ubuntu по-русски)sudo apt-get install aptitudesudo aptitude -R install apache2
atftpd tftpd-hpa dhcp3-serverУ меня стоял tftpd-hpa, при установке atftpd говорит:Необходимо
получить 0 Б/62,0 kБ архивов. После распаковки 186 kБ будет занято.Следующие пакеты
имеют неудовлетворённые зависимости: tftpd-hpa : Конфликтует: atftpd но будет установлен
0.7.dfsg-11.Следующие действия разрешат зависимости:Удалить следующие пакеты: 1) tftpd-hpaНу
это ладно, в установке tftpd-hpa вроде не используется (по документации задаем только
конфиг для него)правим конфиги как описано в документацииделаем sudo /etc/init.d/atftpd
startСмотрим логи atftpd - "atftpd: invalid IP address". Параметр bind-address не указан,
по ману - "--bind-address               Specify the IP address which atftpd
binds to. Useful when --dae‐              mon is specified. Default is to bind to all
interfaces. Only one              address can be specified, the server can only listen
to  one  or              all interfaces."Т.е. должен слушать все интерфейсы, а не вываливаться
с ошибкой.делаем вид, что atftpd был добавлен случайно, удаляем его, ставим tftpd-hpa.
Смотрим - в процессах висит.настраиваем веб-сервер апачнастраиваем DHCP сервер.Здесь
возникла еще одна проблема - "После этого нужно сказать нашему DHCP серверу слушать
один из интерфейсов. Для этого откройте файл /etc/default/dhcp3-server и добавьте..."Ну
нету у меня этого файла /etc/default/dhcp3-server... И че делать? Игнорим пока что...sudo
/etc/init.d/dhcp3-server startКоманда не найдена... М-да... Поэтому /etc/default/dhcp3-server
и отсутствует...Причем сам-то dhcp3-server стоит, никуда не делся он. А вот как с ним
работать?В общем провалился этот способ. Следуя документация ничего сделать не получилось...Посмотрев
на возникающие ошибки, сделал следующим образом:Убрал из установки atftpdВместо ковыряний
с dhcp3-server делал все для dhcpСразу не обратил, да и из текста это не понятно -
указано только в примерах, но требуется Alternate диск. До этого я пробовал обычную
KDE, и туда пытался добавить netboot - че-то не получилосьВ итоге получил готовый сервер
- клиентская машина получила ip, началась установка. В статье вроде не написано, но
догадаться было не сложно - при указании сервера, с которого будут качаться пакеты
- указывать свой.Правда в тот самый момент, когда установка уже шла, мне выскочило
сообщение, что "natty/restricted/binary-i386 corrupted". На этом месте комп завис.Перезагрузился
- опять ошибка на этом же месте и комп перестает реагировать на что-либо. Дистрибутив
- с офсайта. В чем может быть проблема?Ставил 11.04, буду пробовать 12.04 - может поможет,
хотя restricted/binary-i386 там идентичный    


Ответы

Ответ 1



Вот вам подробно писал когда то статью на своем блоге как это сделать

Ответ 2



Вообще-то dhcpd запускать надо так:sudo /etc/init.d/isc-dhcp-server start

Ответ 3



Ну вот же!! ну честно, первая ссылка в гугле

пятница, 28 февраля 2020 г.

Ошибка после установки на Ubuntu ORA-27101: shared memory realm does not exist

#база_данных #ubuntu #oracle #установка #oracle11g


SQL*PLUS выдаёт ошибку:


  ERROR:
      ORA-01034: ORACLE not available
      ORA-27101: shared memory realm does not exist
      Linux-x86_64 Error: 2: No such file or directory
      Process ID: 0
      Session ID: 0 Serial number: 0  


При старте БД:

sudo service oracle-xe start
Starting Oracle Net Listener.
Starting Oracle Database 11g Express Edition instance.
Failed to start Oracle Net Listener using /u01/app/oracle/product/11.2.0/xe/bin/tnslsnr
and Oracle Express Database using /u01/app/oracle/product/11.2.0/xe/bin/sqlplus.


Ставила по этой инструкции.
Но пропустила шаг: 

sudo rm -rf /dev/shm
sudo mkdir /dev/shm 


потому, что при простой замене имени каталога /dev/shm у меня пропал интернет. Просто
так удалять системные файлы, боязно. Теперь не могу удалить /dev/shm, т.к. он занят.
    


Ответы

Ответ 1



Сообщение об ошибке: ORA-27101: shared memory realm does not exist означает, что процесс (обычно Listener, sqlplus) не может подсоединиться к System Global Area (SGA). В основном это вызывают две причины: SGA действительно не существует, так как инстанция БД не стартовала. Стартуйте инстанцию БД под пользователeм oracle: $ echo startup|sqlplus / as sysdba Shared memory segment Id для подключения к SGA генерируется из значений переменных окружения: $ORACLE_SID + $ORACLE_HOME. Если эти значения не соответствуют тем, которые были использованы при запуске инстанции БД, то будет выше указанная ошибка, так как такого сегмента не существует. Проверьте переменные окружения: env | egrep -i "oracle_(sid|home)" Значения $ORACLE_SID + $ORACLE_HOME, которые были использованы при установке хранятся в /etc/oratab и устанавливаются так: export ORACLE_SID=orcl; . oraenv Например, если попытаться установить вручную и при этом ошибиться: $ echo exit|sqlplus -l user/pass Connected to: Oracle Database 11g Release 11.2.0.1.0 - Production $ ORACLE_HOME=$ORACLE_HOME/; test -d $ORACLE_HOME && echo "directory exists" # ------^ directory exists Всё хорошо, директория существует и sqlplus из неё будет вызываться, но незначащий слэш даст при подсчёте shmid другое значение: $ echo exit|sqlplus -l user/pass ERROR: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist Linux Error: 2: No such file or directory

среда, 26 февраля 2020 г.

Создание инсталяционого пакета

#установка #лицензирование #windows #c_sharp


Здравствуйте!
Могли бы подсказать как решить следующую задачу.
Мне необходимо создать инсталяционный пакет для Windows-приложения, который будет
находиться на диске. На компьютер программа должна будет устанавливаться только один
раз. На завершающем этапе мастера необходимо будет провести активацию для установленной
программы. Это будет LiveID  и соответственно его пароль. Далее пользователю необходимо
будет отправить данные на сервер и при соответствии введенных данных сервер должен
будет вернуть ключ (самый сложный вопрос), который необходимо будет поместить на локально
созданный файл/файлы располагающийся в какой-либо системной папке. Предполагается также
использовать запись в реестр. Также программа должна будет устанавливаться на 1 год
с момента активации. После чего для запуска программы необходимо снова пройти активацию.
Предполагаю реализовывать данную задачу в Visual Studio 2010.
Возможно ли в принципе такое осуществить?    


Ответы

Ответ 1



Да, это возможно. У Вас есть варианты: реализовать все самому; найти готовый продукт. Из готовых продуктов я сталкивался с: Microsoft SLP Services Flexera FlexNet В обоих случаях мой работодатель шел на то, чтобы купить нужное ПО.

Ответ 2



Мне кажется что вы путаете 2 разные вещи. Инсталляционные пакеты можно делать при помощи innosetup либо других программ. Активаторы обычно пишутся отдельно и запускаются при первом старте ПО либо после завершения установки.

понедельник, 3 февраля 2020 г.

Как удаленно установить мое тестовое приложение человеку на iphone?

#ios #установка


Есть ли способ удаленно установить мое приложение человеку на iphone не подключая
его к своему маку? 
    


Ответы

Ответ 1



Конечно. Есть такая штука как diawi. UDID девайса должен быть включен в провижн профайл, под которым ты собираешь билд. После этого ты перетягиваешь собранный ипа файл и провижн профайл в окошко diawi, туда где написано drag files here. Затем жмешь кнопку send. Будет сгенерена ссылка, которую ты отправляешь заказчику. Все что ему нужно - открыть эту ссылку у себя на девайсе и приложение будет установлено. Этот вариант подразумевает что заказчику вообще ни к какому маку можно не подключаться. Из твоего текста нельзя однозначно сделать вывод о чьем маке идет речь. Если ты имеешь в виду свой собственный мак (в то время как заказчик может юзать его (заказчика) мак), то можно просто отправить ему билд и он сможет поставить его себе на девайс через iTunes (разумеется, при условии, что UDID девайса включен в провижн). Но diawi, на мой взгляд, самая удобная и быстрая опция.

Ответ 2



Можно устанавливать приложение на любой девайс даже не зная его UDID. Достаточно e-mail владельца девайса. Больше того, о последующих версиях приложения владелец девайса будет своевременно уведомлен и при желании может ее установить. Это TestFlight. Как видите, это официальная технология, и принадлежит Apple. Очень полезная вещь для тестирования. Инструкции по настройке.

четверг, 9 января 2020 г.

Установка обновлений для Windows

#windows #update #установка


Есть загрузочная флешка с Windows Server 2008. После её установки необходимо скачать
и установить множество обновлений с узла Microsoft. На всё про всё уходит в среднем
2 часа (в зависимости от машины). Теперь вопрос: как мне ускорить этот процесс? Что
можно сделать?
    


Ответы

Ответ 1



Если необходимо устанавливать ОС на несколько машин, либо, в принципе, нужна частая установка, я бы задумался об интеграции обновлений в дистрибутив (заодно можно и необходимые драйверы интегрировать). В зависимости от статуса лицензии/активации есть несколько способов. Для организации, наверное, лучшим вариантом будет DISM. Выкачать обновления для интеграции проще всего, пожалуй, через WSUS offline. Чтобы не зацикливать вас только на этих вариантах, могу предложить также вариант с использованием sysprep+WAIK, а также ознакомиться с Microsoft Deployment Toolkit.

Ответ 2



Обновление свежеустановленной ОС происходит всегда дольше, чем последующие регулярные обновления. Как вариант для ускорения обновлений - развернуть собственный локальный сервер WSUS.

четверг, 2 января 2020 г.

Дополнительные возможности установки apk

#установка #инструменты #android #java




У менять есть порядка 10 apk файлов, которые надо инсталлировать на Android устройства.
Если устанавливать их по отдельности, то это занимает много времени. Есть ли способ
установить все приложения разом, при помощи клика на один файл?


Можно ли при этом чтобы после установки на рабочем столе на приложения автоматически
создались ярлыки?


Можно ли при этом автоматически перенести нужные мне файлы в нужное мне место?

    


Ответы

Ответ 1



Я поступил следующим образом: сделал другой apk файл, в нем для решения 1 задачи: Uri uri = Uri.fromFile("instal.apk"); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(uri, "application/vnd.android.package-archive"); startActivityForResult(intent,5000); Для решения 2 задачи: В AndroidManifest.xml пишем А в Activity пишем: Intent shortcutIntent = new Intent(); shortcutIntent.setClassName("com.name.package", ".NameActivity"); shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); shortcutIntent.addCategory(Intent.ACTION_PICK_ACTIVITY); Intent intentSC = new Intent(); intentSC.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); intentSC.putExtra(Intent.EXTRA_SHORTCUT_NAME, "NameShortcut"); intentSC.putExtra(Intent.EXTRA_SHORTCUT_ICON, BitmapFactory.decodeFile("PathToFileIcon.png")); intentSC.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); sendBroadcast(intentSC); Для решения третьей задачи: В AndroidManifest.xml пишем: В Activity пишем: public void copyDirectory(File sourceLocation , File targetLocation) throws IOException { if (sourceLocation.isDirectory()) { if (!targetLocation.exists()) { targetLocation.mkdirs(); } String[] children = sourceLocation.list(); for (int i=0; i 0) { out.write(buf, 0, len); } in.close(); out.close(); } } И в конце, чтобы не оставлять следы на устройстве удаляем сами себя: Uri packageURI = Uri.parse("package:com.name.apk.package"); Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI); startActivity(uninstallIntent); }

Ответ 2



Нет. Можно отметить несколько, к примеру, в appinstaller и установить. Нет, на рабочий стол автоматом иконки не ставятся, только в список приложений. Нет.

вторник, 31 декабря 2019 г.

Первичная установка или обновление андроид-приложения, как узнать программно?

#android #установка #обновление


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

Если пользователь обновляет приложение, то хочу выводить всплывающее окно. 

При первичной же установке с GooglePlay это окно не должно появляться.

Как можно различить программно первичная установка приложения и обновление?
    


Ответы

Ответ 1



Есть такой подход - регистрируем ресивер на переустановку своего приложения: public class MyAppUpdatedReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // этот код будет выполнен после каждой переустановки // но при первой установке не вызывается } } Другой вариант: записываем куда-нибудь номер версии и при каждом старте сравниваем с текущим, если изменился - выводим ченжлог

Ответ 2



Можно так проверять: public static boolean isFirstInstall() { try { long firstInstallTime = App.getContext().getPackageManager().getPackageInfo(getPackageName(), 0).firstInstallTime; long lastUpdateTime = App.getContext().getPackageManager().getPackageInfo(getPackageName(), 0).lastUpdateTime; return firstInstallTime == lastUpdateTime; } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); return true; } } public static boolean isInstallFromUpdate() { try { long firstInstallTime = App.getContext().getPackageManager().getPackageInfo(getPackageName(), 0).firstInstallTime; long lastUpdateTime = App.getContext().getPackageManager().getPackageInfo(getPackageName(), 0).lastUpdateTime; return firstInstallTime != lastUpdateTime; } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); return false; } }

Ответ 3



Все очень просто. В теории: Вы получаете программно текущую версию кода приложения, сохраняете её в SharedPrefereneces, и делаете условие, если сохраненная версия соответствует текущей версии, не происходит ничего. То есть, юзер впервые скачал приложение, версия кода у которого равна 1, или пусть 32, и этот номер сохраняется. И как только сохраненный номер кода станет меньше текущего, это будет означать что приложение обновили, тогда выполняется условие вызова диалогового окна например, со списком изменений. На практике: // Реализовываем SharedPreferences SharedPreferences mPreferences = PreferenceManager.getDefaultSharedPreferences(this); @SuppressLint("CommitPrefEdits") SharedPreferences.Editor mEditor = mPreferences.edit(); // Получаем текущую версию кода int versionCode = BuildConfig.VERSION_CODE; // Получаем сохраненную версию кода int lastVersionCode = mPreferences.getInt("update_true", versionCode); // Если lastVersionCode меньше чем текущий versionCode выполняется условие if (lastVersionCode < versionCode) { // Вызываем диалоговое окно со списком измненений } // Сохраняем текущую версию кода mEditor.putInt("update_true", versionCode).apply();

воскресенье, 22 декабря 2019 г.

Установка linux второй системой, проблема загрузки

#linux #windows #установка


Сделал установочную флешку с ubuntu-16.04.2 Выставляю загрузку с флэшки, попадаю
в меню загрузки, нажимаю install ubuntu, комп перегружается, но экран приветствия установщика
убунту не появляется. На ноуте всё ок. Мать asrock, моник соединяет по HDMI. Может
кто знает, почему так происходит?
    


Ответы

Ответ 1



Оборудование не совместимо с Linux. Чтоб загрузиться нужно попробовать опции noapic и acpi=off, а также nomodeset. Большая часть таких проблем решается сама во время установки и новая система загрузится без проблем. Некоторые проблемы решаются установкой драйверов и прошивок. Например, видеокарта на процессоре AMD A4-6400 запускается нормально только на драйверах fglrx, которые ставятся отдельно. Временно запуститься поможет редактирование строки загрузки. выбрать пункт в загрузчике и нажать E, вместо слова quiet добавьте нужный параметр и нажмите F10. Иногда нет решения на данный момент и эти параметры прийдется оставить в загрузчике. Для этого на установленной системе отредактируйте в /etc/default/grubпеременную GRUB_CMDLINE_LINUX_DEFAULT= .

пятница, 13 декабря 2019 г.

Компиляция из исходников и установка из пакетов в чем разница?

#linux #компиляция #установка


Нередко читаю комментарии в интернете, что компиляция и установка приложений из исходников
лучше (по быстродействию приложения), чем установка из пакетов.

Подскажите пожалуйста в чем разница? (в качестве примера можно взять установка nginx
на голой Ubuntu 16.04)
    


Ответы

Ответ 1



Установка с пакета обычно подразумевает, что Вам предоставляют готовое скомпилированное приложение (но это не обязательно так, бывает по-всякому). А значит, что будет собрано ровно то, что решил автор пакета. А это может не подходить для конкретного случая. Когда код собирается вручную, то можно поотключать часть функционала, а часть включить. Это может дать некий прирост производительности. А может и наоборот. Можно включить экспериментальную функциональность, а можно выключить ту, в которой нашли уязвимость. А можно заплату быстро накатить. Это все требует хорошего знания продукта и системы сборки. К тому же сборка вручную пакета на системах с готовыми пакетами сопряжена с разными проблемами - например, при обновлении может перетереть самособранный пакет (все можно настроить, но ...). Возвращаясь к nginx. В нем часть модулей часто не идет "из коробки" (то есть, не включены в пакет). Это обычно редкие модули, но иногда они бывают нужны. Я встречал, к примеру, что распаковка тела запроса, зажатого gzip, по умолчанию не включена, и пришлось учить пхп распаковывать. Почему же гуляет этот миф? Просто раньше, да и сейчас почему-то считается, что дистрибутивы типа gentoo очень сложны, но с другой стороны суперпроизводительны (надо же как-то оправдать постоянные пересборки мира). А если они сложны, значит, должны хорошо работать (если, конечно, их правильно настроить). По факту, получить плюс можно, но только для ядра и некоторых пакетов (например, vlc или ffmpeg). Выводы: нужна ли Вам пересборка nginx на убунте? Вряд ли. Маловероятно, что Вы получите какой-то прирост производительности. а если сильно хочется пересобирать? разверните тестовую систему и пробуйте. Делайте бенчмарки. А ещё хорошо взять дистрибутив, который это поддерживает из коробки - gentoo, funtoo, LFS.

Ответ 2



плюсы вы научитесь выполнять команду $ make && sudo make install или что-нибудь подобное (в зависимости от того, как задуман процесс сборки/установки разработчиком программы). осознаете, что если в вашем дистрибутиве используется пакетный менеджер, то при очередном обновлении пакетов процесс может застопориться из-за конфликтов с теми файлами/каталогами, которые щедро разбросала по файловой системе процедура «установки», реализованная разработчиками этой программы (которые вряд ли заморачивались необходимостью «вписываться» в требования политик всех существующих на свете дистрибутивов). узнаете, что не все разработчики предусматривают средства удаления всех разбрасываемых в процессе «установки» по файловой системе файлов/каталогов. научитесь вручную находить и удалять все эти артефакты, и править сборочные скрипты на предмет избежания подобных конфликтов в будущем. задумаетесь: а не лучше ли было всего лишь пересобрать существующий пакет, подложив в него новую версию исходников, и подправив нужные для вас опции сборки. научитесь собирать пакеты для вашего дистрибутива. узнаете, что пересобранный и установленный вами в систему пакет может быть перезаписан дистрибутивным при очередном обновлении пакетов. воспользуетесь средствами пакетного менеджера, препятствующими такому перезаписыванию. научитесь автоматизировать процесс пересборки вашего пакета после выхода очередной версии программы. и т.д. и т.п. минусы да, практически, и нет, с такими-то плюсами.

понедельник, 9 декабря 2019 г.

Помогите установить винду

#linux #windows #установка


Надо установить хоть какую рабочую ОС с интернетом и браузером. Есть 2 флешки: одна
пустая, на второй сломанная линукс. Я когда пытался установить дебиан, случайно начал
устанавливать на флешку с установщиком, линукс с той флешки стартует, но без графики
- только консоль. С винтаря, нет возможности загрузиться. Надо как-то или на лайв дебиан
с флешки накатить lynx и wget но почему не устанавливается, даже если в сурс листах
пути прописать. Или как-то установить имеющийся сломанный линукс на винчестер. Или
как-то по сети установить ОС. В идеале конечный результат это винда на компе, но у
меня нету ни диска, ни флешки с виндой.

Погите установить Винду.

p.s. дисковод не работает, к соседям с флешкой нет возможности сходить.

upd: на сайте не работает кнопка комментировать и дать ответ на собственный вопрос.
По этому буду писать здесь. Dmesg log дать не могу, потому что я с телефона. А науте
нету графики что бы зайти в браузер. И стартует он с флешки в лайф режиме. На компе
линукса нету.

upd2: Сеть есть, но нету wget, нечем скачать дистрибутив.

upd3: Нашёл wget, скачал с телефона и скинул на комп. Устанавливаю линукс на комп
по инструкции @drakonoved.  С установленного дебиана я уже разберусь. Спасибо всем.
    


Ответы

Ответ 1



загружаем консоль линукс c флешки и проверяем есть ли сеть $ ping ya.ru если сеть есть (ура!): скачиваем дебиан 32x или 64x (по умолчанию в папку /home/username) $ wget https://cdimage.debian.org/debian-cd/current/i386/iso-cd/debian-10.0.0-i386-netinst.iso $ wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.0.0-amd64-netinst.iso смотрим какие жесткие диски (и флешки) есть в системе $ ls -l /dev/ | grep sd должно вывести что-то типа такого (в моем случае 4 харда + разделы на них) brw-rw----. 1 root disk 8, 0 авг 29 12:47 sda brw-rw----. 1 root disk 8, 1 авг 29 12:47 sda1 brw-rw----. 1 root disk 8, 2 авг 29 12:47 sda2 brw-rw----. 1 root disk 8, 3 авг 29 12:47 sda3 brw-rw----. 1 root disk 8, 16 авг 29 12:47 sdb brw-rw----. 1 root disk 8, 17 авг 29 12:47 sdb1 brw-rw----. 1 root disk 8, 32 авг 29 12:47 sdc brw-rw----. 1 root disk 8, 33 авг 29 12:47 sdc1 brw-rw----. 1 root disk 8, 48 авг 29 12:47 sdd brw-rw----. 1 root disk 8, 49 авг 29 12:47 sdd1 втыкаем пустую флешку, куда будем писать образ и еще раз выполняем ту же самую команду - смотрим разницу. дожна добавиться еще одна флешка (в моем случае это будет sde - пятый диск) флешку можно не монтировать, а сразу писать на нее $ dd if=/home/username/debian-10.0.0-i386-netinst.iso of=/dev/sde или $ dd if=/home/username/debian-10.0.0-amd64-netinst.iso of=/dev/sde Важно: вместо sde поставьте свой диск, вместо username - соответственно юзернейм.. после того, как dd закончит - перезагрузить комп со свежезаписанной флешки и установить debian заново (можно будет потом в него виртуал бокс с вендой)

понедельник, 8 июля 2019 г.

Разбиение дисков

Господа, ставлю Linux и столкнулся с проблемой. Как посоветуйте разбить диск для установки Linux, если в будущем я собираюсь установить вторую систему Windows. И каких типов.


Ответ

sda1 в ntfs на 100Gb. Метка "system". sda2 в ext4 на 20-50Gb. Метка "linux". extended на всё остальное. Внутри ниего 4Gb в swap. sda6 в ext4 на 20-50Gb. Метка "home". sda7 в ntfs на всё остальное. Метка "data".
Я обычно винты разбиваю именно так и ничего ещё нигде не ломалось.
Да, файлики забэкапь, прежде чем будешь двигать разделы.

среда, 15 мая 2019 г.

Создание инсталяционого пакета

Здравствуйте! Могли бы подсказать как решить следующую задачу. Мне необходимо создать инсталяционный пакет для Windows-приложения, который будет находиться на диске. На компьютер программа должна будет устанавливаться только один раз. На завершающем этапе мастера необходимо будет провести активацию для установленной программы. Это будет LiveID и соответственно его пароль. Далее пользователю необходимо будет отправить данные на сервер и при соответствии введенных данных сервер должен будет вернуть ключ (самый сложный вопрос), который необходимо будет поместить на локально созданный файл/файлы располагающийся в какой-либо системной папке. Предполагается также использовать запись в реестр. Также программа должна будет устанавливаться на 1 год с момента активации. После чего для запуска программы необходимо снова пройти активацию. Предполагаю реализовывать данную задачу в Visual Studio 2010. Возможно ли в принципе такое осуществить?


Ответ

Да, это возможно. У Вас есть варианты: реализовать все самому; найти готовый продукт. Из готовых продуктов я сталкивался с: Microsoft SLP Services Flexera FlexNet В обоих случаях мой работодатель шел на то, чтобы купить нужное ПО.

воскресенье, 7 апреля 2019 г.

Как удаленно установить мое тестовое приложение человеку на iphone?

Есть ли способ удаленно установить мое приложение человеку на iphone не подключая его к своему маку?


Ответ

Конечно. Есть такая штука как diawi. UDID девайса должен быть включен в провижн профайл, под которым ты собираешь билд. После этого ты перетягиваешь собранный ипа файл и провижн профайл в окошко diawi, туда где написано drag files here. Затем жмешь кнопку send. Будет сгенерена ссылка, которую ты отправляешь заказчику. Все что ему нужно - открыть эту ссылку у себя на девайсе и приложение будет установлено.
Этот вариант подразумевает что заказчику вообще ни к какому маку можно не подключаться. Из твоего текста нельзя однозначно сделать вывод о чьем маке идет речь. Если ты имеешь в виду свой собственный мак (в то время как заказчик может юзать его (заказчика) мак), то можно просто отправить ему билд и он сможет поставить его себе на девайс через iTunes (разумеется, при условии, что UDID девайса включен в провижн). Но diawi, на мой взгляд, самая удобная и быстрая опция.

понедельник, 18 февраля 2019 г.

Установка обновлений для Windows

Есть загрузочная флешка с Windows Server 2008. После её установки необходимо скачать и установить множество обновлений с узла Microsoft. На всё про всё уходит в среднем 2 часа (в зависимости от машины). Теперь вопрос: как мне ускорить этот процесс? Что можно сделать?


Ответ

Если необходимо устанавливать ОС на несколько машин, либо, в принципе, нужна частая установка, я бы задумался об интеграции обновлений в дистрибутив (заодно можно и необходимые драйверы интегрировать).
В зависимости от статуса лицензии/активации есть несколько способов. Для организации, наверное, лучшим вариантом будет DISM. Выкачать обновления для интеграции проще всего, пожалуй, через WSUS offline.
Чтобы не зацикливать вас только на этих вариантах, могу предложить также вариант с использованием sysprep+WAIK, а также ознакомиться с Microsoft Deployment Toolkit

вторник, 5 февраля 2019 г.

Ошибка после установки на Ubuntu ORA-27101: shared memory realm does not exist

SQL*PLUS выдаёт ошибку:
ERROR: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist Linux-x86_64 Error: 2: No such file or directory Process ID: 0 Session ID: 0 Serial number: 0
При старте БД:
sudo service oracle-xe start Starting Oracle Net Listener. Starting Oracle Database 11g Express Edition instance. Failed to start Oracle Net Listener using /u01/app/oracle/product/11.2.0/xe/bin/tnslsnr and Oracle Express Database using /u01/app/oracle/product/11.2.0/xe/bin/sqlplus.
Ставила по этой инструкции Но пропустила шаг:
sudo rm -rf /dev/shm sudo mkdir /dev/shm
потому, что при простой замене имени каталога /dev/shm у меня пропал интернет. Просто так удалять системные файлы, боязно. Теперь не могу удалить /dev/shm, т.к. он занят.


Ответ

Сообщение об ошибке:
ORA-27101: shared memory realm does not exist
означает, что процесс (обычно listener, sqlplus) не может подсоединится к System Global Area (SGA).
В основном две причины:
SGA действительно не существует, так как инстанция БД не стартовала. Стартуйте инстанцию БД под пользователeм oracle
$ echo startup|sqlplus / as sysdba Shared memory segment Id для подключения к SGA генерируется из значений переменных окружения: $ORACLE_SID + $ORACLE_HOME. Если эти значения не соответствуют тем, которые были использованы при запуске инстанции БД, то будет выше указаная ошибка, так как такого сегмента не существует. Проверте переменные окружения:
env | egrep -i "oracle_(sid|home)"
Значения $ORACLE_SID + $ORACLE_HOME, которые были использованы при установке хранятся в /etc/oratab и устанавливаются так:
export ORACLE_SID=orcl; . oraenv
Например, если попытаться установить вручную и ошибиться:
$ echo exit|sqlplus -l user/pass
Connected to: Oracle Database 11g Release 11.2.0.1.0 - Production
$ ORACLE_HOME=$ORACLE_HOME/; test -d $ORACLE_HOME && echo "directory exists" directory exists
Всё хорошо, директория существует и sqlplus из неё будет вызываться, но незначащий слэш даст при подсчёте shmid другое значение:
$ echo exit|sqlplus -l user/pass
ERROR: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist Linux Error: 2: No such file or directory

четверг, 20 декабря 2018 г.

Первичная установка или обновление андроид-приложения, как узнать программно?

В андроид приложении хочу реализовать появление всплывающего окна с информацией об изменениях в новой версии приложения.
Если пользователь обновляет приложение, то хочу выводить всплывающее окно.
При первичной же установке с GooglePlay это окно не должно появляться.
Как можно различить программно первичная установка приложения и обновление?


Ответ

Есть такой подход - регистрируем ресивер на переустановку своего приложения:


public class MyAppUpdatedReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // этот код будет выполнен после каждой переустановки // но при первой установке не вызывается } }
Другой вариант: записываем куда-нибудь номер версии и при каждом старте сравниваем с текущим, если изменился - выводим ченжлог

вторник, 9 октября 2018 г.

Linux с самых основ (компиляция, установка ядра и тд)

Всю жизнь пользовался Windows, и что-то внезапно захотелось немного познакомиться с Linux. Хочется разобраться со всем этим делом с самых-самых основ, но чувствую что не хватает некоторого понимания и теоретических познаний и представлений. Есть ряд вопросов, ответы на которые, как мне кажется, могут немного заполнить пробелы в моем понимании того, что такое Linux и с чем его едят. Итак:
Правильно ли я понимаю, что есть одно единственное и неповторимое ядро Linux, на базе которого разработаны все эти многочисленные дистрибутивы (Ubuntu, Debian, Mint и т.д), и при этом можно установить именно это самое чистое ядро, а не какой-то из дистрибутивов? Правильно ли я понимаю, что само по себе ядро это уже по сути ОС, только без графического интерфейса (что-то вроде DOS) а сам GUI-интерфейс можно уже установить отдельно? Слышал много раз о том, что ядро в начале обычно нужно скомпилировать, а затем установить. Есть ли возможность получить уже скомпилированное ядро, распространяется ли оно в таком виде? Хорошая ли идея - пытаться скомпилировать это самое ядро Linux на Windows, и насколько это вообще возможно? Слышал много раз о всяких менеджерах пакетов, при помощи которых осуществляется установка различного софта в системах на базе Linux, при этом у каждой такой ОС (Ubuntu, Debian, Mint и т.д) свои собственные менеджеры пакетов. А как быть с чистым ядром? Каким образом на него что-то ставится? Каким вообще образом распространяется софт для Linux? Только в open source, с последующей компиляцией? А такие штуки как установочные файлы, .exe-шники и прочее - обычно не используется? Если есть только один ПК без установленной ОС, как обычно на него устанавливается ядро Linux?
Пока-что на этом все. За ранее спасибо.


Ответ

Правильно ли я понимаю, что есть одно единственное и неповторимое ядро Linux, на базе которого разработаны все эти многочисленные дистрибутивы (Ubuntu, Debian, Mint и т. д).
Не совсем. Едина только база (изначальный исходный код). То есть разработчики дистрибутивов скачивают исходные коды нужной им версии Linux-а, вносят в них какие-то свои исправления (патчи), задают параметры сборки для включения нужных и исключения ненужных возможностей и компилируют ядро. Иными словами, дистрибутивы отличаются не только репозиториями и прикладными программами, но и вариациями ядра.
... и при этом можно установить именно это самое чистое ядро, а не какой-то из дистрибутивов?
Можно. Но так как ядро распространяется в исходных кодах, вам придётся скомпилировать из них свой вариант, заточенный конкретно под ваш компьютер и, возможно, потребности — штатный конфигуратор make menuconfig богат на опции:

Главное окно графического конфигуратора параметров сборки Linux. Источник: Википедия
Однако, получение даже минимальной рабочей системы — довольно длительный и многоэтапный процесс, требующий достаточных познаний в принципах работы Linux-а.
Правильно ли я понимаю, что само по себе ядро это уже по сути ОС, только без графического интерфейса (что-то вроде DOS) а сам GUI-интерфейс можно уже установить отдельно?
И снова не совсем. Ядро — это всего лишь прослойка между программами и железом. В случае Linux-а там в комплекте ещё идут драйвера.
Чтобы получить что-то, похожее на DOS, вам дополнительно потребуются как минимум GNU Coreutils — набор программ, определяющих пользовательское окружение (ls, cat, su и т. д.), и загрузчик (например, grub, lilo), который будет загружать ядро при включении компьютера.
Кстати, именно из-за симбиоза ядра Linux и пакета программ GNU Coreutils операционную систему и называют GNU/Linux.
Слышал много раз о том, что ядро в начале обычно нужно скомпилировать, а затем установить. Есть ли возможность получить уже скомпилированное ядро, распространяется ли оно в таком виде?
Распространение в исходных кодах — это своего рода политика разработчиков ядра, а потому скомпилированное ядро можно только выдрать из какого-то имеющегося дистрибутива.
Хорошая ли идея - пытаться скомпилировать это самое ядро Linux на Windows, и насколько это вообще возможно?
Для сборки Linux вам потребуются компилятор GCC и компоновщик LD. Теоретически, при сборке под Cygwin проблем быть не должно (если именно компилировать ядро), но есть информация о трудностях с регистрозависимыми имёнами файлов, которые Windows считает одинаковыми.
Слышал много раз о всяких менеджерах пакетов, при помощи которых осуществляется установка различного софта в системах на базе Linux, при этом у каждой такой ОС (Ubuntu, Debian, Mint и т.д) свои собственные менеджеры пакетов. А как быть с чистым ядром? Каким образом на него что-то ставится?
Компиляцией из исходников. То есть в случае чистого ядра у вас под рукой всегда должен быть компилятор.
Каким вообще образом распространяется софт для Linux? Только в open source, с последующей компиляцией? А такие штуки как установочные файлы, .exe-шники и прочее - обычно не используется?
Сборка из исходников является обязательной только для компонентов ядра, таких как драйвера. Прикладные же программы можно ставить и в виде двоичных файлов. Идёте на сайт разработчика, скачиваете какой-нибудь пакет. Затем, зная что любой пакет — это всего лишь архив одного из распространённых форматов, распаковываете его и раскидываете содержащиеся внутри файлы на подобающие им места в системе. И наконец удостоверяетесь, что у вас есть все библиотеки, нужные для запуска этой программы.
Если есть только один ПК без установленной ОС, как обычно на него устанавливается ядро Linux?
Для сборки Linux нужна другая копия Linux. Поэтому вам надо хотя бы раздобыть live cd какого-нибудь дистрибутива.